Usando ffmpeg para codificar un video sin formato al formato H.264

10

En un Ubuntu 10.04, estoy tratando de codificar un video sin formato (formato YUV) en un video codificado H.264 usando los siguientes comandos ffmpeg:

ffmpeg -i input.mp4 output.h264

pero recibo un error que dice

Códec no compatible para el flujo de salida # 0.0

Luego, cuando pruebo esta opción:

ffmpeg -i input.mp4 -formats h264 output.h264

Todavía no codifica.

Ahora entendí que ffmpeg usa libx264 para codificar en formato H.264. Ahora tengo el paquete x264 - codificador rápido H.264 instalado en este Ubuntu.

Mis preguntas:

  1. ¿Hay alguna relación entre este libx264 que necesita ffmpeg y el programa x264?
  2. ¿Cómo instalo libx264 y hago que ffmpeg use esto para permitirme codificar un video en formato H.264?
goldenmean
fuente
¿Qué pasa con su pregunta anterior, no fue resuelto? Uso de ffmpeg para codificar un video en formato de códec H264
slhck
@slhck - Gracias pero, cuando lo usé: - ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4. Dio error - "Codificador desconocido 'libx264'". Cualquier otro puntero. ¿Es libx264 lo mismo que la biblioteca x264 o algo diferente?
goldenmean
Con respecto a la compilación de ffmpeg y x264 en Linux, vea aquí: ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

Respuestas:

11

En primer lugar, los comandos que usa parecen sintácticamente incorrectos. Para que ffmpeg use x264, debe proporcionar el -c:v libx264argumento.

Ahora, si tiene un archivo YUV sin procesar, debe decirle a ffmpeg qué formato de píxel, qué tamaño, etc. se usa:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

Cambie estos de acuerdo con las especificaciones de su archivo YUV. Eche un vistazo a ffmpeg -pix_fmtsuna lista de formatos de píxeles compatibles. fourcc.org también es un buen recurso sobre eso.

Si solo desea el flujo de bits H.264 sin procesar en un .264archivo:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 -f rawvideo output.264
slhck
fuente
-1

ffmpeg -f rawvideo -pix_fmt yuv420p -s: v 1920x1080 -r 23.976 -i raw_i420_1920_1080 -vcodec libx264 -f rawvideo output.264

-vcodecle dice qué códec usar. man ffmpegte ayudará a aprender más.

Vishwanath Patil
fuente