View in English

  • Global Nav Open Menu Global Nav Close Menu
  • Apple Developer
Search
Cancel
  • Apple Developer
  • News
  • Discover
  • Design
  • Develop
  • Distribute
  • Support
  • Account
Only search within “”

Quick Links

5 Quick Links

Videos

Abrir menú Cerrar menú
  • Colecciones
  • Temas
  • Todos los videos
  • Información

Más videos

  • Información
  • Resumen
  • Transcripción
  • Código
  • Conoce las tecnologías de Apple Immersive Video

    Explora las capacidades de las tecnologías de Apple Immersive Video y Apple Spatial Audio Format para crear experiencias envolventes. Te presentamos la nueva estructura ImmersiveMediaSupport, con funcionalidad para leer y escribir los metadatos necesarios para habilitar Apple Immersive Video. Conoce las pautas para codificar y publicar contenido de Apple Immersive Video en archivos independientes para reproducción o streaming a través de HLS. Para aprovechar al máximo esta sesión, recomendamos ver primero “Explora experiencias de video para visionOS”.

    Capítulos

    • 0:00 - Introducción
    • 0:48 - Descripción general de Apple Immersive Video
    • 2:36 - Metadatos de Apple Immersive Video
    • 5:13 - Lee archivos AIVU
    • 7:16 - Escribe archivos AIVU
    • 8:43 - Publica contenido de Apple Immersive Video
    • 10:29 - Vista previa de contenido de Apple Immersive Video
    • 11:21 - Apple Spatial Audio Format
    • 12:39 - Apple Positional Audio Codec

    Recursos

    • Authoring Apple Immersive Video
    • AVFoundation
    • AVPlayerItemMetadataOutput
    • Core Media
    • HTTP Live Streaming (HLS) authoring specification for Apple devices
    • Immersive Media Support
    • What's new in HTTP Live Streaming
      • Video HD
      • Video SD

    Videos relacionados

    WWDC25

    • Admite reproducción de video envolvente en apps de visionOS
    • Explora experiencias de video para visionOS
    • Más información sobre Apple Projected Media Profile
    • Novedades de la web espacial
  • Buscar este video…

    Hola, soy Blake, ingeniero del equipo de Apple Immersive Video. En este video, explicaré lo nuevo en macOS y visionOS 26 para crear con Apple Immersive Video. A partir de la sesión “Explora las experiencias video para visionOS”, desarrollaré los perfiles de video disponibles para visionOS 26 y el increíble resumen de Apple Immersive Video, por lo que es importante ver esa primero. Revisaremos Apple Immersive Video y Audio Espacial para que puedas crear experiencias envolventes. Comenzaré con Apple Immersive Video. Es la mejor experiencia envolvente para videos en el Vision Pro, con reproducción de alta fidelidad y audio envolvente para vivirla como si estuvieras allí. Como el contenido es tan envolvente, se requieren cámaras específicas para capturar este video de alta fidelidad, como la Blackmagic URSA Cine Immersive, diseñada para Apple Immersive Video.

    Las cámaras de Apple Immersive Video están calibradas de fábrica para capturar la curvatura exacta de cada una de los lentes estereoscópicos.

    Esta información de calibración se incluye con cada archivo de video. La calibración se usa en los metadatos del video para proyectarlo correctamente.

    Esta tabla, de “Explora las experiencias de video para visionOS”, tiene los formatos compatibles con visionOS 26. Específicamente para Apple Immersive Video, usa un tipo de proyección paramétrica para admitir estas calibraciones. macOS y visionOS 26 ahora tienen la estructura Immersive Media Support, que permite personalizar flujos de trabajo. Permite leer y escribir los metadatos esenciales para Apple Immersive Video, y obtener una vista previa de los flujos de trabajo editoriales. Para crear herramientas que admitan los procesos de producción de video, como software de edición no lineal, repasaré cómo leer y escribir Apple Immersive Video, cómo publicar tu contenido y cómo obtener una vista previa de él durante el proceso. Comenzaré con los metadatos, que permiten las experiencias de Apple Immersive Video. Es posible producir Apple Immersive Video con varias cámaras. Como cada cámara tiene una calibración única, su combinación describe los lugares capturados. El tipo VenueDescriptor de Immersive Media Support tiene una combinación de las cámaras usadas en el lugar. Esta información de VenueDescriptor se almacena como Apple Immersive Media Embedded o AIMEData, que veremos más adelante. VenueDescriptor contiene la referencia a las cámaras y al modelo de vista, la capacidad de agregar y eliminar cámaras, la referencia a AIMEData y la capacidad de guardarlo en una URL.

    Cada cámara usada en el video puede incluir más información que solo la calibración. Los puntos de una máscara, o combinación de bordes, usan alfa para enmascarar los bordes del contenido.

    Hay varias capacidades más para la calibración, como configurar la información de posición de origen. Se pueden incluir entornos de fondo personalizados con las calibraciones. Para conocer más sobre VenueDescriptor e ImmersiveCamera, consulta la documentación de Immersive Media Support. Debido a que las calibraciones son específicas de los fotogramas en el video de salida, existen metadatos para definir qué calibración corresponde a cada fotograma. Hay comandos de metadatos cronometrados, representados como PresentationCommands en Immersive Media Support, que se multiplexan en el QuickTime de salida. Cada fotograma puede contener varios PresentationCommands. Estos comandos acompañan a cada fotograma de la pista de video. Otro PresentationCommand es la toma invertida, usado por muchas razones, donde la imagen y los ojos se mueven sobre el eje y. Debido a que la cámara envolvente usa lentes estereoscópicos, complejiza más la toma invertida, ya que la imagen y los ojos se intercambian. Pero al usar PresentationCommand, esto lo maneja visionOS durante la reproducción.

    Más allá de los comandos de calibración y toma invertida, hay fundidos que se renderizan dinámicamente y no se integran al fotograma. Para más detalles sobre estos comandos, consulta los tipos PresentationDescriptor y PresentationCommand. Ahora, describiré cómo usar Apple Immersive Video en tus apps. Para segmentar contenido como HLS, editar Apple Immersive Video o personalizar tu reproductor, es importante leer los metadatos. Para una experiencia de Apple Immersive Video única, independiente y basada en archivos, ahora existe un tipo de archivo universal. Apple Immersive Video Universal, o AIVU, es un contenedor del video de salida con PresentationDescriptor multiplexado en él y tiene VenueDescriptor como metadatos incluidos también.

    Los archivos AIVU se pueden reproducir desde Archivos a través de Vista Rápida en visionOS. Para reproducir Apple Immersive Video en tu app como un archivo independiente o HLS, consulta “Compatibilidad con Immersive Video Playback en apps de visionOS” de WWDC25. Si estás creando una app o un servicio para transmitir o compartir tu contenido de Apple Immersive Video, los archivos AIVU son la mejor manera de capturarlo o compartirlo fácilmente con todos los metadatos necesarios. Junto con Immersive Media Support, hay nuevas API en AVFoundation para ayudar con la lectura y escritura de Apple Immersive Video. Para leer VenueDescriptor de un archivo AIVU, usa las API de AVFoundation para cargar los metadatos del activo. Hay un nuevo identificador quickTimeMetadataAIMEData para filtrar los metadatos específicos y cargar AIMEData como VenueDescriptor. Para leer los metadatos de PresentationDescriptor, obtén el grupo de metadatos sincronizado con cada marca de tiempo de presentación para los fotogramas. Filtra según quickTimeMetadataPresentationImmersiveMedia y decodifica el valor en un tipo de descriptor de presentación. Para obtener información sobre el grupo de metadatos cronometrados, consulta la API AVPlayerItemMetadataOutput en AVFoundation. Para escribir Apple Immersive Video, puedes crear tus propios archivos AIVU, ya sea para una herramienta de producción o un software de edición no lineal. Al crear Apple Immersive Video, hay algunas cosas importantes que debes saber. Para el tipo de proyección de tus activos de video, debes usar AppleImmersiveVideo. Este tipo de proyección es específica de Apple Immersive Video, por lo que se sabe cómo obtener la proyección. También debes escribir los valores VenueDescriptor y PresentationCommand usando AVAssetWriter. Usa VenueDescriptor para recuperar los AIMEData que se guardarán en un AVMetadataItem con AIMEData. Para PresentationCommands, usa PresentationDescriptorReader a fin de obtener los comandos para un momento específico. Usa el identificador de presentación que mencioné antes para crear AVMetadataItems cronometrados que se alineen con los tiempos proporcionados de tus búferes de fotogramas. Una vez creados los archivos AIVU, puede verificarlos con AIVUValidator en Immersive Media Support. Esto genera un error si hay algún problema con la validación o devuelve true si es válido. Para obtener detalles sobre cómo usar AVAssetWriter, consulta la muestra de Crear Apple Immersive Video. Para publicar contenido envolvente de Apple, usa la segmentación HLS a fin de transmitir el video a la app. El Apple Vision Pro puede renderizar MV-HEVC a una resolución de 4320 por 4320 por ojo, 90 cuadros por segundo, con un espacio de color P3-D65-PQ y Audio Espacial.

    Los niveles recomendados para segmentar Apple Immersive Video van de 25 a 100 megabits por segundo para el ancho de banda promedio y de 50 a 150 megabits por segundo para el pico. Ten en cuenta el equilibrio entre calidad y tamaño al crear tus propios niveles, manteniendo la misma resolución y velocidad de fotogramas. Al crear la lista de reproducción HLS, debes incluir VenueDescriptor como AIMEData guardado en un archivo con la playlist HLS para que el Vision Pro represente el contenido correctamente. Para crear el archivo AIME, guarda el objeto VenueDescriptor con la función de guardar y cópialo en la playlist HLS. Es importante conservar la pista de metadatos con los segmentos de video al segmentar el archivo QuickTime para conservar los comandos PresentationDescriptor. En la playlist multivariante HLS hay algunas etiquetas importantes por destacar. Apple Immersive Video requiere la versión 12 o superior, el ID de datos de descripción del lugar del archivo AIME, un tipo de contenido totalmente envolvente, y la posibilidad de usar audio “apac”, del que hablaremos luego. El diseño debe ser video estéreo.

    Otra nueva API importante en Immersive Media Support es ImmersiveMediaRemotePreviewSender y Receiver. Este método de vista previa solo admite un rendimiento de tasa de bits bajo y debe usarse en flujos de trabajo donde la vista previa rápida es útil y los archivos aún no se procesan. Un ejemplo de esto sería ver contenido en el Apple Vision Pro mientras editas el video. Estas API están diseñadas para enviar Apple Immersive Video Frames desde la Mac al Apple Vision Pro. ImmersiveMediaRemotePreviewSender y Receiver permiten enviar Immersive Video Frames a uno o varios receptores. Usar un compositor personalizado permite obtener una vista previa en vivo en la app de visionOS. Para más información, consulta la documentación de Immersive Media Support. Audio Espacial es tan importante como el video a la hora de crear una experiencia envolvente convincente. Creamos un nuevo formato para Audio Espacial llamado Apple Spatial Audio Format, o ASAF. ASAF se usa para crear experiencias de audio verdaderamente envolventes. Apple Positional Audio Codec, o APAC, se usa para codificar este formato con fines de distribución. ASAF crea audio externalizado garantizando que se usen señales acústicas para reproducir el audio. Se compone de nuevos metadatos combinados con PCM lineal y un potente renderizador espacial integrado en Apple. Produce audio espacial a través de numerosas fuentes puntuales y escenas de sonido de alta resolución, o audio ambisónico de categoría alta. El audio renderizado es adaptable en función de la posición y orientación del objeto y del oyente. Nada de esto está predefinido. Los sonidos en ASAF vienen de todas las direcciones, en cualquier posición y a cualquier distancia. ASAF se transporta dentro de archivos Wave con señales PCM lineales y metadatos. Suele usarse ASAF en producción y, para transmitir audio ASAF, deberás codificar ese audio como un archivo mp4 APAC.

    APAC distribuye ASAF de manera eficiente, y es necesario para cualquier experiencia de Apple Immersive Video. APAC está disponible en todas las plataformas de Apple, excepto watchOS, y admite canales, objetos, audio ambisónico de orden superior, diálogo, audio binaural, elementos interactivos y metadatos extensibles. Gracias a la eficiencia de este códec, posibilita experiencias espaciales envolventes a tasas de bits tan bajas como 64 kilobits por segundo. Para ofrecer audio espacial con transmisión en vivo HTTP, debes incluir la etiqueta multimedia con la información del canal de audio y especificar APAC como códec de audio en la información de transmisión. Para conocer las nuevas capacidades de HLS, como admitir audio APAC, consulta el artículo Novedades en HLS. El contenido ASAF se puede crear y codificar en APAC mediante los complementos Pro Tools, disponibles con una licencia por usuario, o DaVinci Resolve Studio Editor de Blackmagic Design. En esta sesión, vimos los fundamentos de los metadatos que definen Apple Immersive Video, cómo leerlos y escribirlos gracias a Immersive Media Support, y Audio Espacial. Haz que tu app admita experiencias envolventes mediante Apple Immersive Video y Audio Espacial. Para obtener información sobre el video envolvente para visionOS, consulta “Más información sobre Apple Projected Media Profile”. Para obtener información sobre reproducir Apple Immersive Video, consulta “Compatibilidad con Immersive Video Playback en apps de visionOS”. Me encanta ver Apple Immersive Video, y quiero que puedas crear más experiencias. Envíame tus archivos de Apple Immersive Video Universal para que pueda verlos. Gracias.

    • 6:23 - Read VenueDescriptor from AIVU file

      func readAIMEData(from aivuFile: URL) async throws -> VenueDescriptor? {
          let avAsset = AVURLAsset(url: aivuFile)
          let metadata = try await avAsset.load(.metadata)
          let aimeData = metadata.filter({ $0.identifier == .quickTimeMetadataAIMEData }).first
          if let dataValue = try await aimeData.load(.value) as? NSData {
              return try await VenueDescriptor(aimeData: dataValue as Data)
          }
          return nil
      }
    • 6:50 - Read PresentationDescriptor from AIVU playback

      func presentation(timedMetadata: [AVTimedMetadataGroup]) async throws ->   
      [PresentationDescriptor] {
          var presentations: [PresentationDescriptor] = [] 
          for group in timedMetadata {
              for metadata in group.items {
                  if metadata.identifier == .quickTimeMetadataPresentationImmersiveMedia {
                      let data = try await metadata.load(.dataValue) {
                          presentations.append(
                              try JSONDecoder().decode(PresentationDescriptor.self, from: data)
                          )
                      }
                  }
              }
          }
          return presentations
      }
    • 7:52 - Create AVMetadataItem from VenueDescriptor

      func getMetadataItem(from metadata: VenueDescriptor) async throws -> AVMetadataItem {
          let aimeData = try await metadata.aimeData
          let aimeMetadataItem = AVMutableMetadataItem()
          aimeMetadataItem.identifier = .quickTimeMetadataAIMEData
          aimeMetadataItem.dataType = String(kCMMetadataBaseDataType_RawData)
          aimeMetadataItem.value = aimeData as NSData
              
          return aimeMetadataItem
      }
    • 8:02 - Create timed AVMetadataItem from PresentationDescriptorReader

      func getMetadataItem(reader: PresentationDescriptorReader, 
                           time: CMTime, frameDuration: CMTime) -> AVMetadataItem? {
          let commands = reader.outputPresentationCommands(for: time) ?? []
          if commands.isEmpty { return nil }
      
          let descriptor = PresentationDescriptor(commands: commands)
          let encodedData = try JSONEncoder().encode(descriptor)
          let presentationMetadata = AVMutableMetadataItem()
          presentationMetadata.identifier = .quickTimeMetadataPresentationImmersiveMedia
          presentationMetadata.dataType = String(kCMMetadataBaseDataType_RawData)
          presentationMetadata.value = encodedData as NSData
          presentationMetadata.time = time
          presentationMetadata.duration = frameDuration
          
          return presentationMetadata
      }
    • 8:20 - Validate AIVU file

      func validAIVU(file aivuFile: URL) async throws -> Bool { 
          return try await AIVUValidator.validate(url: aivuFile)
      }
    • 9:31 - Save AIME file

      let aimeFile = FileManager.default.temporaryDirectory.appendingPathComponent("primary.aime")
      try? await venueDescriptor.save(to: aimeFile)
    • 0:00 - Introducción
    • visionOS 26 ofrece nuevas capacidades que permiten crear experiencias de Apple Immersive Video con audio espacial.

    • 0:48 - Descripción general de Apple Immersive Video
    • Apple Immersive Video ofrece reproducción de video estereoscópico de alta fidelidad con audio totalmente envolvente en Apple Vision Pro. Las cámaras especializadas, como la Blackmagic URSA Cine Immersive, están calibradas para capturar la curvatura exacta de cada lente estereoscópica, y esta información de calibración se transporta con los archivos de video para una proyección correcta. macOS y visionOS 26 admiten este formato a través de la estructura Immersive Media Support, lo que permite flujos de trabajo personalizados para la creación, vista previa y publicación de contenido.

    • 2:36 - Metadatos de Apple Immersive Video
    • Se puede producir Apple Immersive Video utilizando múltiples cámaras, cada una con calibraciones únicas. La combinación de estas cámaras describe los lugares capturados. Los VenueDescriptors incluyen información de la cámara, máscaras de fusión de bordes, fondos personalizados y datos de calibración dinámica para cada fotograma de video y se almacenan como Apple Immersive Media Embedded o AIMEData. La estructura Immersive Media Support permite la integración de comandos de presentación como cambios de toma, fundidos y renderizado dinámico, que visionOS maneja automáticamente durante la reproducción, lo que simplifica el proceso editorial para videos envolventes estereoscópicos. Consulta sobre los tipos PresentationDescriptor y PresentationCommand para obtener más detalles.

    • 5:13 - Lee archivos AIVU
    • El archivo Apple Immersive Video Universal (AIVU) es un contenedor de video de salida con metadatos multiplexados. Puedes reproducir archivos AIVU en visionOS a través de Vista rápida en la app Archivos y en apps personalizadas usando AVKit. El nuevo identificador de metadatos AVAsset quickTimeMetadataAIMEData proporciona acceso a AIMEData como VenueDescriptor, y los metadatos PresentationDescriptor están disponibles a través de AVTimedMetadataGroup.

    • 7:16 - Escribe archivos AIVU
    • Para crear archivos Apple Immersive Video (AIVU), usa el tipo de proyección AppleImmersiveVideo y escribe los valores VenueDescriptor y PresentationCommand en los metadatos de su activo usando AVAssetWriter. La función de validación de AIVUValidator puede luego verificar los archivos. Para obtener más detalles, consulta el proyecto de muestra “Authoring Apple Immersive Video”.

    • 8:43 - Publica contenido de Apple Immersive Video
    • Para publicar tu contenido envolvente de Apple, usa la segmentación HLS con video MV-HEVC a 4320 x 4320 por ojo, 90 fotogramas por segundo y un espacio de color P3-D65-PQ. Los niveles recomendados para segmentar Apple Immersive Video oscilan entre 25 y 150 Mbps para un ancho de banda promedio. Incluye tu archivo AIME (VenueDescriptor) con tu lista de reproducción multivariante HLS, así como la pista de audio APAC. Tu lista de reproducción debe especificar la versión 12 o superior, el tipo de contenido totalmente envolvente y el diseño de video estéreo con proyección Apple Immersive Video.

    • 10:29 - Vista previa de contenido de Apple Immersive Video
    • Las nuevas API ImmersiveMediaRemotePreviewSender y Receiver en la estructura Immersive Media Support admiten la vista previa en vivo de baja tasa de bits de Apple Immersive Video desde la Mac al Apple Vision Pro durante los flujos de trabajo editoriales, lo que permite la visualización en tiempo real durante la edición. Consulta la documentación de Immersive Media Support para obtener más detalles.

    • 11:21 - Apple Spatial Audio Format
    • Apple Spatial Audio Format (ASAF) es un nuevo formato de producción que usa nuevos metadatos, PCM lineal y un renderizador espacial para crear audio espacial de alta resolución. ASAF permite audio externalizado con sonido adaptativo desde todas las direcciones, distancias y posiciones. ASAF se transporta dentro de archivos Broadcast Wave con señales PCM lineales y metadatos.

    • 12:39 - Apple Positional Audio Codec
    • Para transmitir audio ASAF a través de HLS, codifícalo como archivo MP4 APAC con los complementos de Apple Pro Tools o DaVinci Resolve Studio Editor de Blackmagic Design. Se requiere APAC para cualquier experiencia de Apple Immersive Video y está disponible en todas las plataformas de Apple excepto watchOS, lo que permite una entrega de audio espacial eficiente a bajas tasas de bits. Incluye la etiqueta de medios con información del canal y especifica APAC en la etiqueta de información de transmisión para entregar audio espacial con HLS.

Developer Footer

  • Videos
  • WWDC25
  • Conoce las tecnologías de Apple Immersive Video
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • App Store
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Fonts
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Open Source
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Sample Code
    • Tutorials
    • Downloads
    • Forums
    • Videos
    Open Menu Close Menu
    • Support Articles
    • Contact Us
    • Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Get the Apple Developer app.
    Copyright © 2025 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines