View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Vidéos

Ouvrir le menu Fermer le menu
  • Collections
  • Toutes les vidéos
  • À propos

Plus de vidéos

  • À propos
  • Résumé
  • Code
  • En savoir plus sur les technologies Apple Immersive Video

    Découvrez les capacités des technologies Apple Immersive Video et Apple Spatial Audio Format pour créer des expériences véritablement immersives. Découvrez le nouveau framework ImmersiveMediaSupport, qui offre une fonctionnalité permettant de lire et d'écrire les métadonnées nécessaires à l'activation d'Apple Immersive Video. Apprenez les directives sur l'encodage et la publication de contenu Apple Immersive Video sous forme de fichiers autonomes pour la lecture ou le streaming via HLS.

    Pour tirer le meilleur parti de cette séance, nous vous recommandons de commencer par regarder « Explorer les expériences vidéo pour visionOS ».

    Chapitres

    • 0:00 - Introduction
    • 0:48 - Présentation d’Apple Immersive Video
    • 2:36 - Métadonnées d’Apple Immersive Video
    • 5:13 - Lire les fichiers AIVU
    • 7:16 - Écrire des fichiers AIVU
    • 8:43 - Publier du contenu Apple Immersive Video
    • 10:29 - Prévisualiser du contenu Apple Immersive Video
    • 11:21 - Format Apple Spatial Audio
    • 12:39 - Codec Apple Positional Audio

    Ressources

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

    Vidéos connexes

    WWDC25

    • Découvrir des expériences vidéo pour visionOS
    • En savoir plus sur Apple Projected Media Profile
    • Nouveautés pour le web spatial
    • Prise en charge de la lecture vidéo immersive dans les apps visionOS
  • Rechercher dans cette vidéo…
    • 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 - Introduction
    • visionOS 26 offre de nouvelles fonctionnalités qui vous permettent de créer des expériences Apple Immersive Video avec l’Audio spatial.

    • 0:48 - Présentation d’Apple Immersive Video
    • Apple Immersive Video permet une lecture vidéo stéréoscopique haute fidélité avec un son totalement immersif sur l’Apple Vision Pro. Des caméras spécialisées, comme la Blackmagic URSA Cine Immersive, sont calibrées pour capturer la courbure exacte de chaque objectif stéréoscopique. Ces informations de calibrage sont transportées avec les fichiers vidéo pour une projection correcte. macOS et visionOS 26 prennent en charge ce format via le framework Immersive Media Support, qui permet d’exécuter des workflows personnalisés pour la création, la visualisation et la publication de contenus.

    • 2:36 - Métadonnées d’Apple Immersive Video
    • Apple Immersive Video peut être générée à l’aide de plusieurs caméras, chacune avec des calibrages uniques. La combinaison de ces caméras décrit les lieux capturés. Les VenueDescriptors incluent des informations sur la caméra, des masques de fusion des bords, des arrière-plans personnalisés et des données de calibrage dynamique pour chaque image vidéo. Ils sont stockés au format Apple Immersive Media Embedded, ou AIMEData. Le framework Immersive Media Support permet d’intégrer des commandes de présentation telles que les transitions, les fondus et le rendu dynamique. Celles-ci sont automatiquement gérées par visionOS pendant la lecture, ce qui simplifie le processus éditorial des vidéos immersives stéréoscopiques. Pour plus d’informations, reportez-vous aux types PresentationDescriptor et PresentationCommand.

    • 5:13 - Lire les fichiers AIVU
    • Le fichier AIVU (Apple Immersive Video Universal) est un conteneur de sortie vidéo avec multiplexage des métadonnées. Vous pouvez lire des fichiers AIVU sur visionOS via Coup d’œil dans l’app Fichiers et dans des apps personnalisées à l’aide d’AVKit. Le nouvel identifiant de métadonnées quickTimeMetadataAIMEData AVAsset permet d’accéder à AIMEData en tant que VenueDescriptor, et les métadonnées PresentationDescriptor sont disponibles via AVTimedMetadataGroup.

    • 7:16 - Écrire des fichiers AIVU
    • Pour créer des fichiers Apple Immersive Video (AIVU), utilisez le type de projection AppleImmersiveVideo et écrivez les valeurs VenueDescriptor et PresentationCommand dans les métadonnées de vos ressources à l’aide d’AVAssetWriter. La fonction de validation d’AIVUValidator peut alors vérifier les fichiers. Pour plus d’informations, consultez l’exemple de projet « Création dans Apple Immersive Video ».

    • 8:43 - Publier du contenu Apple Immersive Video
    • Pour publier votre contenu immersif Apple, utilisez la segmentation HLS avec la vidéo MV-HEVC à 4 320 x 4 320 par œil, 90 images par seconde et l’espace colorimétrique P3-D65-PQ. Les niveaux recommandés pour la segmentation de la vidéo Apple Immersive Video vont de 25 à 150 Mbps pour une bande passante moyenne. Incluez le fichier AIME (VenueDescriptor) avec votre playlist HLS multi-variantes, ainsi que la piste audio APAC. Votre playlist doit spécifier la version 12 ou ultérieure, le type de contenu entièrement immersif et la disposition vidéo stéréo avec projection Apple Immersive Video.

    • 10:29 - Prévisualiser du contenu Apple Immersive Video
    • Les nouvelles API ImmersiveMediaRemotePreviewSender et Receiver du framework Immersive Media Support prennent en charge la prévisualisation en direct à faible débit des vidéos Apple Immersive Video du Mac vers l’Apple Vision Pro pendant les processus éditoriaux, ce qui permet un visionnage en temps réel pendant le montage. Pour en savoir plus, pensez à consulter la documentation d’Immersive Media Support.

    • 11:21 - Format Apple Spatial Audio
    • Le format ASAF (Apple Spatial Audio Format) est un nouveau format de production qui utilise de nouvelles métadonnées, le PCM linéaire et un moteur de rendu spatial pour créer de l’Audio spatial haute résolution. Le format ASAF permet un son externalisé avec un son adaptatif dans toutes les directions, distances et positions. Il est transporté dans des fichiers Broadcast Wave avec des signaux PCM linéaires et des métadonnées.

    • 12:39 - Codec Apple Positional Audio
    • Pour diffuser en streaming des fichiers audio ASAF via HLS, encodez-les au format MP4 APAC à l’aide des modules Apple Pro Tools ou de DaVinci Resolve Studio Editor de Blackmagic Design. La fonctionnalité APAC est requise pour toute expérience Apple Immersive Video et est disponible sur toutes les plateformes Apple à l’exception de watchOS, ce qui permet une diffusion efficace en Audio spatial avec de faibles débits. Incluez la balise media avec les informations sur le canal et spécifiez APAC dans la balise stream info pour diffuser l’Audio spatial avec HLS.

Developer Footer

  • Vidéos
  • WWDC25
  • En savoir plus sur les technologies Apple Immersive Video
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & 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
    • Mini Apps Partner 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
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines