ffmpeg - Convertir archivos MOV a MP4 [cerrado]

145

Acabo de instalar ffmpeg y estoy tratando de codificar todos mis videos subidos al archivo .mp4. La mayoría de los usuarios actualmente cargan .mov y quiero convertir cada video a .mp4.

Estoy ejecutando el comando de la siguiente manera:

ffmpeg -i movie.mov -vcodec copy -acodec cop out.mp4

Pero todo lo que obtengo son los siguientes errores

ffmpeg version 0.8.5, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 19 2012 11:38:20 with clang 3.1 (tags/Apple/clang-318.0.61)
  configuration: --enable-nonfree --enable-gpl --enable-version3 --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaac --enable-libxvid --enable-libx264 --enable-libvpx --enable-hardcoded-tables --enable-shared --enable-pthreads --disable-indevs --cc=clang
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  7. 0 / 53.  7. 0
  libavformat  53.  4. 0 / 53.  4. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'movie.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2012-03-28 07:13:20
  Duration: 00:00:26.23, start: 0.000000, bitrate: 12974 kb/s
    Stream #0.0(eng): Video: mjpeg, yuvj420p, 1280x720 [PAR 72:72 DAR 16:9], 12972 kb/s, 11.67 fps, 600 tbr, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2012-03-28 07:13:20
File 'out.mp4' already exists. Overwrite ? [y/N] y
Output #0, mp4, to 'out.mp4':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2012-03-28 07:13:20
    encoder         : Lavf53.4.0
    Stream #0.0(eng): Video: mjpeg, yuvj420p, 1280x720 [PAR 72:72 DAR 16:9], q=2-31, 12972 kb/s, 600 tbn, 600 tbc
    Metadata:
      creation_time   : 2012-03-28 07:13:20
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
frame=  121 fps=  0 q=-1.0 size=   16408kB time=00:00:10.08 bitrate=13332.2kbitsframe=  306 fps=  0 q=-1.0 Lsize=   41543kB time=00:00:26.12 bitrate=13025.0kbits/s    
video:41538kB audio:0kB global headers:0kB muxing overhead 0.012531%
usuario1503606
fuente
¿Estás seguro de que estos son errores? Esto se parece más a un archivo de registro para mí. Incluso pide sobrescribir el mp4 anterior: el archivo 'out.mp4' ya existe. Sobrescribir ? [y / N] y
Conrad Lotz
Pregunta similar en SuperUser.
legends2k

Respuestas:

254

El comando para transmitirlo a un nuevo contenedor (mp4) que necesitan algunas aplicaciones como Adobe Premiere Pro sin codificación (rápido) es:

ffmpeg -i movie.mov -vcodec copy -acodec copy out.mp4

Alternativa como se menciona en los comentarios, que vuelve a codificar con la mejor calidad ( -qscale 0):

ffmpeg -i input.mov -q:v 0 output.mp4
Conrad Lotz
fuente
70
Como esto aparece en los resultados de búsqueda, ffmpeg -i input.mov -qscale 0 output.mp4
agregaré
14
@StudioEvoque, ¿qué hace la -qscale 0bandera?
CyberSkull
44
@CyberSkull -qscaleestablece el nivel de compresión. Cuanto menor sea el valor de qscale, mejor será la calidad. Los valores de qscale disponibles varían de 1 (calidad más alta) a 31 (calidad más baja).
RonnyKnoxville
8
@MiguelBartelsman @Baodad un contenedor empaqueta múltiples transmisiones de video y audio, agrega un encabezado y una tabla de contenido. El contenedor Quicktime (mov) y MPEG (mp4) funciona bastante diferente, técnicamente. Si solo cambia el nombre de un archivo Quicktime a mp4, pretende que es un video MPEG, pero sigue siendo un contenedor de Quicktime. Tenga en cuenta que, dado que utiliza el copyparámetro para el códec, le indica a FFMpeg que copie los datos multimedia reales, sin necesidad de volver a codificar en otro códec.
Ichthyo
10
@StudioEvoque ten cuidado! Lo que está proponiendo aquí es algo bastante diferente de lo que hizo el OP y probablemente quería. No proporciona una especificación de códec, por lo tanto, le pide a FFMpeg que transcodifique los datos de medios reales en el códec estándar asociado con el contenedor MP4. Incluso si utiliza la configuración de calidad más alta, la transcodificación siempre perderá algo de calidad. Solo cuando lo use, -c copyse asegurará de que los datos multimedia originales como tales no se toquen, solo se cambie el contenedor
Ichthyo