Pregunta

Tengo una AVMutableComposition con una pista de vídeo y me gustaría añadir una imagen fija en la pista de vídeo, que se mostrará durante un tiempo determinado. La imagen fija es simplemente un archivo PNG. Puedo cargar la imagen como un activo, pero eso es todo, porque el activo resultante no tiene ningún pistas y por lo tanto no se puede insertar simplemente utilizando los métodos insertTimeRange….

¿Hay una manera de añadir imágenes fijas a una composición? Parece que la respuesta está en algún lugar Core Animation, pero todo parece ser un poco por encima de mi cabeza y yo apreciaría un ejemplo de código o algunas indicaciones de información.

¿Fue útil?

Solución

OK. Hay un gran video llamado Edición de medios con la Fundación AV de la WWDC que explica muchas cosas . No se puede insertar imágenes directamente a la línea de tiempo AVComposition, al menos no he encontrado ninguna manera de hacerlo. Pero cuando se exporta o jugando un activo puede hacer referencia a un AVVideoComposition. Eso no es tal vez un nombre perfecto para la clase, ya que le permite mezclar entre varias pistas de vídeo en el activo, muy parecido a AVAudioMix hace para el audio. Y el AVVideoComposition tiene una propiedad animationTool que le permite tirar capas Core Animation (CALayer) en la mezcla. CALayer tiene una propiedad contents que se puede asignar un CGImageRef. No ayuda en mi caso, podía ayudar a otros.

Otros consejos

También necesita imágenes fijas en mi composición. Mi línea de pensamiento es un poco diferente. Inserción en la marcha películas de negro en lugar de cuando las imágenes deberían publicarse (posiblemente una de esas vídeo sería suficiente). Añadir una referencia de diccionario para cada uno de tales inserto, que une la composición de tiempo-intervalos a las imágenes de buena fe deseados. Cuando el intervalo de tiempo correcto llega a mi a tiempo completo compositor personalizada, tire de la imagen deseada y la pintura que en el búfer de píxel de salida, haciendo caso omiso de los marcos de color negro entrantes de la composición. Creo que eso sería otra manera de hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top