BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

WebM, FFmpeg y MEncoder: imposible conseguir bitrate requerido

BocaDePez
BocaDePez

Hola de nuevo a todas/os.

Yo quería preguntar si alguien codifica vídeo en VP8 (WebM, HTML5) y consigue que el vídeo resultante tenga el bitrate que se le indica en la línea de comandos: en mi caso la aplicación me lo codifica con el bitrate que ella quiere, aunque le indique clara y correctamente el bitrate deseado (parece como si el codificador buscara una calidad similar al original, aunque el archivo salga más grande que el original). Con el sonido Vorbis sí respeta el bitrate indicado.

He probado a codificar con dos pasadas (que es lo más conveniente para conseguir el tamaño deseado), pero nada, ni se entera. Solamente me ocurre con WebM.

También he añadido en FFmpeg las opciones de -minrate, -maxrate y -bufsize (que sí funcionan para x264) y no hace caso.

¿Acaso WebM para FFmpeg y MEncoder es así, sin posibilidad de cambio?

Salud.

BocaDePez
BocaDePez

No nos has puesto las líneas de comando que has intentado.

🗨️ 10
BocaDePez
BocaDePez

Sí, es cierto. Mis disculpas.

- Una pasada con FFmpeg:

$ ffmpeg -i "[nombre_archivo_entrada]" -threads 2 -f webm -vcodec libvpx -b 500k -acodec libvorbis -ac 2 -ab 48k "[nombre_archivo_salida].webm"

- Dos pasadas con FFmpeg:

$ ffmpeg -i "[nombre_archivo_entrada]" -threads 2 -f webm -vcodec libvpx -b 500k -an -pass 1 -y /dev/null && ffmpeg -i "[nombre_archivo_entrada]" -threads 2 -f webm -vcodec libvpx -b 500k -acodec libvorbis -ac 2 -ab 48k -pass 2 "[nombre_archivo_salida].webm"

- Dos pasadas con FFmpeg y -minrate, -maxrate y -bufsize:

$ ffmpeg -i "[nombre_archivo_entrada]" -threads 2 -f webm -vcodec libvpx -b 500k -minrate 500k -maxrate 500k -bufsize 250k -acodec libvorbis -an -pass 1 -y /dev/null && ffmpeg -i "[nombre_archivo_entrada]" -threads 2 -f webm -vcodec libvpx -b 500k -minrate 500k -maxrate 500k -bufsize 250k -acodec libvorbis -ac 2 -ab 48k -pass 2 "[nombre_archivo_salida].webm"

- Una pasada con MEncoder:

$ mencoder -ovc lavc -lavcopts vcodec=libvpx:vbitrate=500:threads=2 -of lavf -lavfopts format=webm -ffourcc VP80 -oac lavc -lavcopts acodec=vorbis:audio_o=global_quality=1000,flags=2 -o "[nombre_archivo_salida].webm" "[nombre_archivo_entrada]"

Salud.

🗨️ 9
jesusvpct

El bufize tiene que ser el doble del maxrate.

🗨️ 8
BocaDePez
BocaDePez

Gracias por su respuesta, pero el resultado sigue siendo el mismo.

Estoy probando con un vídeo en Xvid de 3:57 min, 95 MB de tamaño y un bitrate de vídeo de 3.131 kbps. Quiero codificar a WebM a 1.405 kbps (más o menos la mitad). Pruebe con la configuración que pruebe me da como resultado un vídeo WebM de 108 MB y 3.500 kbps, es decir más que el original.

Creo que este codec va "de por libre" en el bitrate. Una pena, porque VP8 está a la altura de x264, pero gratuito y libre. Con x264 sí puedo ajustar a voluntad el vídeo bitrate y funciona, pero bueno, también x264 es gratuito y libre, pero basado en un codec privativo (H.264).

Salud.

🗨️ 7
vukits
🗨️ 4
BocaDePez
BocaDePez
🗨️ 3
BocaDePez
BocaDePez
🗨️ 2
vukits
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez