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
 

Videos

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

Más videos

  • Información
  • Resumen
  • Código
  • Mejora tu app con efectos de video basados en aprendizaje automático

    Descubre cómo agregar efectos como conversión de velocidad de cuadros, superresolución y filtrado de ruido para mejorar la edición y las experiencias de streaming. Exploraremos los algoritmos de procesamiento basados en aprendizaje automático optimizados para el chip de Apple disponibles en la estructura Video Toolbox. Aprende a integrar estos efectos para mejorar las capacidades de tu app para casos de uso del mundo real.

    Capítulos

    • 0:00 - Introducción
    • 1:04 - Descripción de los efectos de video
    • 4:55 - Agrega efectos a tu app
    • 6:46 - Ejemplo de uso: conversión de velocidad de fotogramas
    • 11:16 - Ejemplo de uso: efecto de desenfoque de movimiento
    • 13:46 - Ejemplo de uso: efecto de superresolución de baja latencia
    • 14:55 - Ejemplo de uso: interpolación de cuadros de baja latencia

    Recursos

    • Frame processing
    • Enhancing your app with machine learning-based video effects
    • Video Toolbox
      • Video HD
      • Video SD
  • Buscar este video…
    • 8:06 - Frame rate conversion configuration

      // Frame rate conversion configuration
      
      
      let processor = VTFrameProcessor()
      
      guard let configuration = VTFrameRateConversionConfiguration(frameWidth: width,
                                                                  frameHeight: height,
                                                           usePrecomputedFlow: false,
                                                        qualityPrioritization: .normal,
                                                                     revision: .revision1)
      else {
           throw Fault.failedToCreateFRCConfiguration
      }
      
      try processor.startSession(configuration: configuration)
    • 8:56 - Frame rate conversion buffer allocation

      // Frame rate conversion buffer allocation
      
      //use sourcePixelBufferAttributes and destinationPixelBufferAttributes property of VTFrameRateConversionConfiguration to create source and destination CVPixelBuffer pools
      
      sourceFrame = VTFrameProcessorFrame(buffer: curPixelBuffer, presentationTimeStamp: sourcePTS)
      nextFrame = VTFrameProcessorFrame(buffer: nextPixelBuffer, presentationTimeStamp: nextPTS)
      
      // Interpolate 3 frames between reference frames for 4x slow-mo
      var interpolationPhase: [Float] = [0.25, 0.5, 0.75]
      
      //create destinationFrames
      let destinationFrames = try framesBetween(firstPTS: sourcePTS,
                                                 lastPTS: nextPTS,
                                  interpolationIntervals: intervals)
    • 9:48 - Frame rate conversion parameters

      // Frame rate conversion parameters
      
      guard let parameters = VTFrameRateConversionParameters(sourceFrame: sourceFrame,
                                                               nextFrame: nextFrame,
                                                             opticalFlow: nil,
                                                      interpolationPhase: interpolationPhase,
                                                          submissionMode: .sequential,
                                                       destinationFrames: destinationFrames)
      else {
           throw Fault.failedToCreateFRCParameters
      }
      
      try await processor.process(parameters: parameters)
    • 12:35 - Motion blur process parameters

      // Motion blur process parameters
      
      sourceFrame = VTFrameProcessorFrame(buffer: curPixelBuffer, presentationTimeStamp: sourcePTS)
      nextFrame = VTFrameProcessorFrame(buffer: nextPixelBuffer, presentationTimeStamp: nextPTS)
      previousFrame = VTFrameProcessorFrame(buffer: prevPixelBuffer, presentationTimeStamp: prevPTS)
      destinationFrame = VTFrameProcessorFrame(buffer: destPixelBuffer, presentationTimeStamp: sourcePTS)
      
      guard let parameters = VTMotionBlurParameters(sourceFrame: currentFrame,
                                                      nextFrame: nextFrame,
                                                  previousFrame: previousFrame,
                                                nextOpticalFlow: nil,
                                            previousOpticalFlow: nil,
                                             motionBlurStrength: strength,
                                                 submissionMode: .sequential,
                                               destinationFrame: destinationFrame) 
      else {
          throw Fault.failedToCreateMotionBlurParameters
      }
      
      try await processor.process(parameters: parameters)
    • 0:00 - Introducción
    • Video Toolbox, una estructura ampliamente utilizada para apps de video, se mejora con la API VTFrameProcessor, un nuevo conjunto de algoritmos de procesamiento de video basados en aprendizaje automático optimizado para el chip de Apple. Esta API, introducida por primera vez en macOS 15.4, ahora está disponible en iOS 26. Este video muestra los efectos disponibles, los pasos de integración de la app y ejemplos de implementación para los principales casos de uso.

    • 1:04 - Descripción de los efectos de video
    • La API VTFrameProcessor proporciona efectos de edición de video, incluida la conversión de velocidad de fotogramas para cámara lenta, superresolución para mejorar videos de baja resolución, desenfoque de movimiento para movimiento natural, filtrado de ruido temporal para suavizado e interpolación de baja latencia y superresolución para aplicaciones en tiempo real, como videoconferencias, lo que mejora la calidad y la claridad en varios escenarios de video.

    • 4:55 - Agrega efectos a tu app
    • Esta API, a la que se accede a través de la estructura Video Toolbox, permite que las apps procesen videoclips a través de un proceso de dos pasos: Seleccionar un efecto y enviar fotogramas de entrada para su procesamiento, y la estructura devuelve cuadros de salida. La API es adecuada para la edición de video y la mejora de video en vivo, con varias funcionalidades, como conversión de velocidad de fotogramas, superresolución, desenfoque de movimiento y filtrado de ruido temporal. Se adjunta a esta presentación un código de referencia de muestra.

    • 6:46 - Ejemplo de uso: conversión de velocidad de fotogramas
    • La conversión de velocidad de cuadros es una técnica de procesamiento de video que aumenta la cantidad de cuadros de un clip sintetizando nuevos cuadros. Esta capacidad mejora la suavidad de la reproducción, elimina las vibraciones y permite efectos de cámara lenta, comúnmente usados en el cine y los deportes para mejorar el impacto visual y el análisis. El proceso de implementación implica el uso de la API VTFrameProcessor en dos pasos principales. El primer paso es crear una sesión con un objeto de configuración que especifique configuraciones, como el tamaño del cuadro de entrada, el nivel de calidad y la revisión del algoritmo. El segundo paso es procesar los cuadros usando un objeto de parámetros que administra los buffers de entrada y salida y las configuraciones de interpolación. Una decisión importante para los desarrolladores es si precalcular el flujo óptico, un proceso computacionalmente costoso, ya que puede afectar el rendimiento de la app.

    • 11:16 - Ejemplo de uso: efecto de desenfoque de movimiento
    • El desenfoque de movimiento en la edición de video simula una velocidad de obturación lenta, por medio del desenfoque de los objetos en movimiento para que el movimiento se vea natural y agregue velocidad. Puedes aplicarlo usando la clase VTMotionBlurConfiguration, que requiere dos fotogramas de referencia (siguiente y anterior) con una intensidad de desenfoque ajustable de 1 a 100.

    • 13:46 - Ejemplo de uso: efecto de superresolución de baja latencia
    • La superresolución de baja latencia mejora las transmisiones de video en tiempo real al aumentar la resolución. El proceso involucra dos clases simples: Una clase de configuración y una clase de parámetros. Un ejemplo demuestra cómo estas capacidades mejoran la claridad de una videollamada.

    • 14:55 - Ejemplo de uso: interpolación de cuadros de baja latencia
    • La interpolación de fotogramas de baja latencia ayuda a mejorar las transmisiones de video en tiempo real, especialmente en conexiones lentas, lo que suaviza las vibraciones y hace que las transmisiones sean más agradables de ver. La API también ofrece un filtro que combina la duplicación de la velocidad de fotogramas y el aumento de la resolución, lo que da como resultado rasgos faciales y fondos más nítidos, y transmisiones más fluidas. Además de estas capacidades, la API le permite crear apps atractivas con funcionalidades como cámara lenta, desenfoque de movimiento y experiencias de transmisión en vivo mejoradas.

Developer Footer

  • Videos
  • WWDC25
  • Mejora tu app con efectos de video basados en aprendizaje automático
  • 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