Tamaño del archivo de salida de codificación Ffmpeg Nvidia GPU mkv

Tamaño del archivo de salida de codificación Ffmpeg Nvidia GPU mkv

He estado trabajando con el siguiente entorno.

Ubuntu 16.04.3

FFmpeg: 3.4.2

-- configuration: --prefix=/usr/local/ffmpeg_new/ --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --enable-libvpx --enable-libvorbis --enable-libfreetype

CUDA 9.1.85

GPU: GeForce GTX 1080ti

Tengo dos archivos multimedia: caller_video.webm (80 MB) y callee_video.webm (120 MB)

Luego estoy demultiplexando audios de estos videos mediante el siguiente comando:

time ffmpeg -y -i caller.webm -vn -ab 256 caller.wav

Caller.wav= 260MB

Luego, muxing caller.wavarchivo concallee_video.webm

time ffmpeg -y -i callee_video.webm -i caller.wav -filter_complex '[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=0.5[a1]; [1:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=0.5[a2]; [a1][a2]amerge,pan=stereo|c0<c0+c2|c1<c1+c3[out]' -map 0:v -map '[out]' -c:v copy  tempfile.mkv

Tamaño del archivo temporal: 87 MB

Luego, estoy codificando el archivo temporal mediante el siguiente comando:

time ffmpeg -y -i temp_file.mkv    -pixel_format yuv444p -preset default  -vf  drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:x=8:y=8:fontsize=16:fontcolor=yellow@1:expansion=strftime:basetime=1518172680000000:text='%Y-%m-%d %H-%M-%S'  -acodec libvorbis  -c:v h264_nvenc   final_video.mkv

Tamaño del vídeo final: 270 MB

Lo que estoy tratando de entender es que cuando codifico el orig webmarchivo que tiene 80 MB, el tamaño del archivo mkv de salida codificado es ~ 20 MB.

Sin embargo, cuando realicé la misma operación en un archivo multimedia temporal muxed ( callee_video.webm+ caller.wav), el tamaño es de 87 MB antes de la codificación, se convierte en 270 MB.

¿Qué me falta o estoy haciendo mal?

Respuesta1

No ha especificado ninguna configuración de calidad o tasa de bits para su comando de codificación, por lo que depende del codificador elegirlo. Esto puede resultar en una tasa de bits mayor.

Podría especificar -b:v 1Mel uso de una codificación de tasa de bits promedio de un solo paso a 1 Mbit/s. La tasa de bits dependerá del tamaño del vídeo y de sus requisitos de calidad.

También puede utilizar -qp 23para realizar una codificación de calidad fija con tasa de bits variable en QP 23. Un QP más alto significa una calidad más baja y viceversa.

Consulte ffmpeg -h encoder=h264_nvenclas posibles opciones para el codificador.

información relacionada