Quiero convertir algunos videos para poder reproducirlos en una cámara digital Canon.
Los vídeos de la cámara Canon PowerShot tienen las siguientes especificaciones:
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s, 29.97 fps
Audio: pcm_u8 (raw / 0x20776172), 12000 Hz, mono, u8, 96 kb/s
¿Cómo sería la ffmpeg
línea de comando para producir tales videos? ¿O dónde puedo leer sobre esto? Intenté encontrarlo, ffmpeg -formats
lo que me da una gran lista de formatos. A partir de esto y de algunas lecturas adicionales en la página de manual, llegué a este comando:
ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec copy -pix_fmt yuvj420p MVI_2655.MOV
Pero todavía no funciona. La especificación del video es diferente.
El vídeo que me sale es:
Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x272 [SAR 153:154 DAR 180:77], 326 kb/s
pero el video correcto debería tener
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1280x720, 22865 kb/s
Creo que la resolución no es el problema, sino laAltoversusLínea base restringida. Y elyuv420pversus elyuvj420p. ¿Cómo logro estas especificaciones?
Respuesta1
Con la sugerencia de Ely y un poco de investigación adicional, encontré que esta línea de comando produce exactamente las mismas especificaciones de formato:
ffmpeg -i oldmovie.mp4 -acodec pcm_u8 -ar 12000 -ac 1 -vcodec libx264 -pix_fmt yuvj420p -profile:v baseline -s 1280x720 -r ntsc -colorspace smpte170m -color_primaries bt709 -color_trc bt709 MVI_2655.MOV
dónde
-vcodec libx264
junto con-profile:v baseline
y-pix_fmt yuvj420p
establece el vídeo en Línea base restringiday el formato de píxeles parayuvj420p-colorspace smpte170m
y establece las subeespecificaciones de formato de tres píxeles después-color_primaries bt709
de-color_trc bt709
yuvj420p(pc,…), que encontréaquí-r ntsc
establece una velocidad de fotogramas de 29,97 (donde ntsc es un alias para la velocidad de fotogramas)-s 1280x720
escala el video al mismo ancho y alto que el video canon original
Ahora la única diferencia es la tasa de bits, que es 4065 kb/s para mi video creado con ffmpeg y 21588 kb/s para el video canon.
Sin embargo, el vídeo todavía no se puede reproducir en la cámara Canon. :-(