Así que puedo transcodificar archivos de video y audio separados en un archivo de película, así:
ffmpeg -ss 0 -lowres 0 -r 24 -i dcp/picture.mxf -vf "xyz2rgb" -i mov/sound.wav -ac 2 -ab 256k -vb 3000k -t 10 -y mov/movie.mp4
Y mira y escucha la película resultante así:
ffplay -ss 0 -lowres 1 -vf "xyz2rgb" mov/movie.mp4
Sin embargo, para evitar tener que transcodificar la película y el sonido en un solo archivo antes de poder verlo, me gustaría simplemente reproducir los dos archivos juntos. Hasta donde sé, ffplay no te permite combinar dos archivos diferentes (¿verdad?).
Al leer estos foros, parece que puede canalizar una salida de ffmpeg a ffplay . Lo siguiente es lo más cerca que llegué. No está tan cerca. :( La información del video se está transfiriendo claramente, pero es una "nieve" verde en el tamaño de fotograma correcto, con indicios de las imágenes reales bailando dentro de la horrible nieve verde. De esta manera sé que algo de los datos reales de la imagen se está transfiriendo , simplemente no se procesa correctamente.
Y no se reproduce audio. El sonido no se está transmitiendo (no creo). Ahora ... estoy atascado. Lo siguiente sugiere lo que intento hacer, pero no funciona:
ffmpeg -ss 0 -lowres 0 -r 24 -i dcp/picture.mxf -vf "xyz2rgb" -i mov/sound.wav -f rawvideo - | ffplay -f rawvideo -vf "xyz2rgb" -s 1998x1080 -
fuente
ffplay
. Además, su producción tienergb48le
como formato de píxel (debido al filtro), peroffplay
asumeyuv420p
, por lo que también hay que especificar que:ffplay -f rawvideo -s 500x270 -pix_fmt rgb48le -
. En cuanto al segfault: No tengo idea ... ¿tal vez podría crear y cargar un pequeño archivo de prueba en alguna parte?Esto no transcodificaría las transmisiones:
-map 1:1
= segundo archivo, transmisión 1 (generalmente audio).-c copy
=-c:v copy -c:a copy
. Por defecto, el archivo muxed es tan largo como el archivo más largo, pero-shortest
lo haría tan largo como el archivo más corto.fuente
Para mis propósitos, esto permite una revisión rápida de los contenidos de un DCP (Paquete de cine digital) que puede construir con herramientas de código abierto . El DCP usa el espacio de color xyz, por lo que debe tener un filtro de video xyz instalado , de lo contrario no puede usarlo en la línea anterior. (Está bien, solo se verá muy teñido de naranja, no podrás ver los colores verdaderos).
Agregué el códec mpeg2video b / c, aunque redujo la calidad, es de baja velocidad y amortigua un poco, por lo que funciona mejor en mi máquina. (Además, por alguna razón, sin transcodificar primero solo obtengo un cuadro congelado de la secuencia jpeg2000 mjpeg que se alimenta a una potencia de 125mb / s desde el MXF, a menos que comience "- ss 0", es decir, al comienzo de la secuencia archivo.) Con una máquina MUY RÁPIDA, sin especificar códec (eliminar "-c: v mpeg2video"), tamaño completo ("-lores 0"), y comenzando en 0 (-ss 0), teóricamente puedes revisar el cine 2K calidad DCP exactamente como es. Bueno, excepto por las instrucciones especiales incluidas en los XML - subtítulos u otra programación. Pero en general. (Por cierto "-ac: 2" mezcla hacia abajo 5.1 a 2.0, aunque es posible que tenga hardware que admita la audición 5.1, en cuyo caso use "-c: una copia").
Gracias a Matthias en Belle-Nuit , y slhck arriba por POR PACIENTEMENTE acompañarme en esto. ¡¡¡¡Gracias!!!! Esto es bastante útil. Y de hecho, me salvó de una proyección de película potencialmente embarazosa en el teatro Aero el domingo por la noche. La numeración de mi secuencia de imágenes estaba fuera de secuencia. ¡Lo encontré con esto y lo solucioné!
Wow, todo esto por una sola línea de comando, quién sabía;)
Cheereo - b worldpoop.com
fuente