Pregunta

Tengo una secuencia de video que me gustaría saltar a marcos específicos en el tiempo de reproducción (mi reproductor se implementa usando AVPlayer en iOS, pero eso es incidental). Dado que estos cuadros caerán en intervalos impredecibles, no puedo usar la funcionalidad estándar de "cuadros de nificación cada n cada n cuadros/segundos" presente en la mayoría de los codificadores de video. Sin embargo, conozco los marcos objetivo de antemano.

Para hacer esto omitiendo lo de la manera más eficiente posible, necesito obligar a los marcos de destino a ser los marcos I en el momento de la codificación. Idealmente, en algún tipo de GUI que me permitiera fregar a un marco, marcarlo como un fotograma clave y luego (re) codificar mi video.

Si tal herramienta no está disponible, tengo la sensación de que esto probablemente podría hacerse al rodar un codificador personalizado con LibavCodec, pero prefiero usar una herramienta de nivel superior (y preferiblemente scriptable) para hacer el trabajo si una GUI es no P posible. ¿Es este el tipo de tarea a la que se puede doblar ffmpeg o mencoder?

¿Alguien tiene una técnica para hacer esto? Además, es completamente posible que esta sea una tarea imposible debido a una ignorancia fundamental que tengo del códec H.264. Si es así, por favor, póngame bien.

¿Fue útil?

Solución 2

Respondí en mi propia pregunta: es posible establecer cuadros de compresión personalizados en el compresor de Apple.

Los marcadores de compresión también se conocen como marcadores de compresión manual. Estos son marcadores que puede agregar a una secuencia Final Cut Pro (o en la ventana de vista previa del compresor) para indicar cuándo el compresor debe generar un marco I MPEG durante la compresión.

Fuente.

Otros consejos

ffmpeg tiene un -force_key_frames Opción que acepta una serie de marcas de tiempo arbitrarias, así como otras formas de especificar los marcos. Desde el documentación:

-force_key_frames 0:05:00,...

¿No podrías usar marcadores de capítulos para saltar entre secciones? No es una solución ideal, pero mucho más fácil de lograr.

Puede usar este software:http://www.appleolutions.com/bantha/mh.html

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