videos velocidad subir recomendado para mejor mbps formato destino cual configuracion 720p 1080p video ffmpeg transcoding mplayer mencoder

subir - Vuelva a muestrear el video H264 para reducir la velocidad de cuadros y mantener una alta calidad de imagen



velocidad de destino mbps (3)

Aquí está la salida de mplayer para un video de interés:

br@carina:/tmp$ mplayer foo.mov mplayer: Symbol `ff_codec_bmp_tags'' has different size in shared object, consider re-linking MPlayer 1.0rc4-4.5.2 (C) 2000-2010 MPlayer Team mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing foo.mov. libavformat file format detected. [lavf] stream 0: video (h264), -vid 0 [lavf] stream 1: audio (aac), -aid 0, -alang eng VIDEO: [H264] 1280x720 24bpp 59.940 fps 2494.2 kbps (304.5 kbyte/s) ========================================================================== Opening video decoder: [ffmpeg] FFmpeg''s libavcodec codec family Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) ========================================================================== ========================================================================== Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding) AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 15999->176400) Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio)) ========================================================================== AO: [pulse] 44100Hz 2ch s16le (2 bytes per sample) Starting playback... Movie-Aspect is 1.78:1 - prescaling to correct movie aspect. VO: [vdpau] 1280x720 => 1280x720 Planar YV12

Me gustaría usar ffmpeg, mencoder u otro transcodificador de video de línea de comando para volver a muestrear este video a una tasa de fotogramas más baja sin perder calidad de imagen . Es decir, cada cuadro debe permanecer lo más nítido posible.

Intenta

ffmpeg -i foo.mov -r 25 -vcodec copy bar.mov

  • La velocidad de fotogramas objetivo - 25 fps - se logra pero los fotogramas individuales son "en bloque".

mencoder -nosound -ovc copy foo.mov -ofps 25 -o bar.mov

  • Los videos no se pueden ver.

¡Ayuda!

Esto parece un caso de uso bastante simple. Estoy muy sorprendido de que las cosas obvias no estén funcionando. ¿Hay algo mal con mi enfoque?


Como Andy T indicó, es absolutamente necesario volver a codificar el video, pero eso no significa que la calidad deba reducirse de manera notable.

Primero, asegúrese de no estar usando un software antiguo. Los códecs de video son un campo de movimiento rápido con avances significativos cada pocas semanas. x264 es actualmente el software de codificador de video más avanzado disponible. Probablemente sea lo que usa mplayer, pero puede obtener el último lanzamiento real desde www.x264.nl

En primer lugar, usaría VirtualDub para descomprimir a un tipo de video sin pérdida, lo que constituiría un archivo bastante grande. VirtualDub también puede reducir la velocidad de cuadros. Mira here .

Luego, use esto como la entrada a x264. Le sugiero que use software auxiliar como Staxrip (ponga el más reciente 32 bits de 8 bits por canal x264 en StaxRip / Applications / x264).

Si desea la mejor calidad absoluta con el tamaño de archivo más pequeño donde es poco probable que note la diferencia, use una línea de comando como esta (con x264):

x264 --preset placebo --tune film --crf 22 --level 4.1 --threads 1 --thread-input --sar 12:11 --output "<target>" "<source>"

Staxrip tiene opciones para cambiar el preset a placebo, sintonizar las fuentes de la película (suponiendo que esto no sea una animación, por supuesto) y reducir el número de subprocesos a 1.

Puede cambiar "--crf 22" a 21 para un video más grande y de mejor calidad, pero he encontrado que CRF22 es más o menos el punto en el que me cuesta mucho notar la diferencia, incluso al comparar fotograma a fotograma. Cualquier cambio en las otras configuraciones probablemente reducirá la calidad o aumentará el tamaño del archivo sin aumentar la calidad. Aumentar el número de subprocesos mejorará enormemente la velocidad de codificación (obviamente en sistemas multi-core), pero reducirá la calidad muy levemente (o en este caso, porque estamos usando CRF basado en calidad, aumentará un poco el tamaño del archivo, como menos del 1% para 4 hilos).

La mayoría de las empresas que codifican video o que fabrican productos que codifican video realmente no tienen idea de lo que están haciendo, y aunque lo hicieran, no tienen la potencia de la CPU necesaria para hacer una codificación con esta configuración, por lo que además de la modesta reducción en el tamaño del archivo por la reducción de la velocidad de fotogramas, también obtendrá una fuerte caída en el tamaño del archivo mediante el uso de un codificador inteligente con la configuración más estricta.

Si desea asegurarse de que el video resultante se ve lo más cerca posible de la salida de VirtualDub, nadie puede notar la diferencia usando CRF17, pero el archivo será bastante grande. También podrías comprimir la salida de VirtualDub (bueno, ¡no tan mal!).


Mucho ha cambiado desde esta publicación en 2012. Estoy agregando esta respuesta para personas como yo que encuentran esto en los motores de búsqueda. Tuve buena suerte con lo siguiente:

ffmpeg -y -i source.mp4 -r 25 -s 160x90 -c:v libx264 -b:v 3M -strict -2 -movflags faststart destination.mp4

Aquí hay una breve explicación sobre lo que hace cada parámetro:

  • -y : sobrescribe los archivos de salida sin preguntar
  • -i source.mp4 : nombre del archivo de entrada
  • -r 25 : tasa de cuadros de salida (en cuadros por segundo)
  • -s 160x90 : tamaño de fotograma de salida (en píxeles) - inserta el filtro de video de escala
  • -c:v libx264 : codificador de video de salida
    • -c:v es la abreviatura de -codec:v y -vcodec
  • -b:v 3M : tasa de bits de video (en bit / s) pasada al codificador libx264
  • -strict -2 : rige el cumplimiento de estándares; -2 permite características experimentales: se requiere para habilitar el codificador de audio nativo FFmpeg AAC en compilaciones anteriores a la versión 2015-12-05, consulte here , AAC es ahora el codificador de audio predeterminado .
  • -movflags faststart : mueve el índice al comienzo del archivo de salida (parámetro específico del formato mov y mp4 )

Para más detalles ver la documentación oficial .


Necesitas transcodificar tu video en cualquier caso. La transcodificación significa que decodificará su transmisión, cambiará la velocidad de fotogramas (soltar los fotogramas en caso simple) y luego la codificará nuevamente. La configuración de codificación e incluso el códec no dependen de cómo se codificó inicialmente su video, por lo que puede usar cualquier cosa que se ajuste a sus necesidades. Si necesita la calidad más alta posible, solo codifique con alto perfil como primer intento. Entonces puede intentar sintonizar esto aún más jugando con numerosos parámetros de codificación h.264.