Estoy tratando de convertir archivos .avi a .mp4 usando ffmpeg, con la menor pérdida posible.
Probé este comando:
ffmpeg -i filename.avi -c:v copy -c:a copy -y filename.mp4
y recibió este resultado:
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp
libavutil 57. 0.100 / 57. 0.100
libavcodec 59. 1.101 / 59. 1.101
libavformat 59. 3.100 / 59. 3.100
libavdevice 59. 0.100 / 59. 0.100
libavfilter 8. 0.102 / 8. 0.102
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, avi, from 'Filename.avi':
Metadata:
TAPE : Filename
TCOD : 653986667
Duration: 00:01:54.01, start: 0.000000, bitrate: 30411 kb/s
Stream #0:0: Video: dvvideo (dvsd / 0x64737664), yuv411p, 720x480 [SAR 8:9 DAR 4:3], 28779 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
[mp4 @ 000001d0ca8a1480] Could not find tag for codec dvvideo in stream #0, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:1 --
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Last message repeated 1 times
Genera un archivo .mp4 con un mensaje de error que indica que el archivo no se puede reproducir y el código de error 0xc10100be.
¿Alguien puede interpretar lo que está pasando? ¿Qué comando recomendarías aquí?
¡Muchas gracias!
Está intentando incluir un códec (dvvideo) en un contenedor (mp4), que no lo admite (al menos en ffmpeg). Vea la diferencia entre códec y contenedor . Es mejor que use un códec compatible con mp4, digamos H.265 usando libx265 e intente convertir. Consulte los documentos para conocer las opciones adicionales que puede aplicar. Aquí está la extensa lista de códecs compatibles con mp4, pero es posible que ffmpeg no admita todos ellos. Estos son algunos códecs populares . Además, pcm_s16le es un formato de audio sin procesar, conviértalo a aac. Intentar
ffmpeg -i filename.avi -c:v libx265 -x265-params lossless=1 -c:a libfdk_aac -b:a 128k -y filename.mp4
Tiene codificación sin pérdidas H.265 y utiliza libfdk_aac, que es de mejor calidad que la nativa.
estrellas en el cielo
Abdalá Ibn Fulan