una - exportar video premiere poco peso
Reducir el tamaño del video con el mismo formato y reducir el tamaño del fotograma (5)
Esta pregunta puede ser muy básica
¿Hay alguna forma de reducir el tamaño / tasa de fotograma del formato Lossy comprimido (WMV, MPEG) para obtener un video más pequeño, de menor tamaño y con el mismo formato?
¿Hay alguna fuente abierta o apis propietaria para esto?
En lugar de elegir velocidades de bits fijas, con el códec H.264, también puede elegir un preset diferente como se describe en https://trac.ffmpeg.org/wiki/x264EncodingGuide . También encontré la comparación Video codificador en el blog de KeyJ ( versión archivada ) una lectura interesante, compara H.264 contra Theora y otros.
Lo que sigue es una comparación de varias opciones que probé. El video grabado originalmente tenía 673M de tamaño, tomado en un iPad usando RecordMyScreen . Tiene una duración de aproximadamente 20 minutos con una resolución de 1024x768 (con la mitad del video en blanco, así que lo recorté a 768x768). Para reducir el tamaño, reduje la resolución a 480x480. No hay audio
Los resultados, tomando el mismo 1024x768 como base (y aplicando recorte, escala y un filtro ):
- Sin opciones especiales: 95M (tiempo de codificación: 1m19s).
- Con solo
-b 512k
agregado, el tamaño bajó a 77M (tiempo de codificación: 1m17s). - Con solo
-preset veryslow
(y no-b
), se convirtió en 70M (tiempo de codificación: 6m14s) - Con ambos
-b 512k
y-preset veryslow
, el tamaño se convierte en 77M (100K más pequeño que solo-b 512k
). - Con
-preset veryslow -crf 28
, obtengo un archivo de 39M que tomó 5m47s (sin diferencia de calidad visual para mí).
N = 1, así que tome los resultados con un grano de sal y realice sus propias pruebas.
Hay una aplicación para Mac y Windows llamada Handbrake, sé que esto no es una línea de comando sino un archivo abierto rápido: seleccione el formato del archivo de salida y el tamaño de salida aproximado, manteniendo la mayor parte del contenido bueno del video, entonces esto es bueno. , es solo una vista gráfica de ffmpeg en su mejor versión ... Es compatible con la entrada de línea de comandos para aquellos que mueren con mensajes de texto rígidos. https://handbrake.fr/downloads.php
Si desea mantener el mismo tamaño de pantalla, puede considerar usar crf factor: https://trac.ffmpeg.org/wiki/Encode/H.264
Aquí está el comando que funciona para mí: (en mac necesita agregar -strict -2
para poder usar el códec de audio aac.
ffmpeg -i input.mp4 -c:v libx264 -crf 24 -b:v 1M -c:a aac output.mp4
ffmpeg proporciona esta funcionalidad. Todo lo que necesitas hacer es correr algo así como
ffmpeg -i <inputfilename> -s 640x480 -b 512k -vcodec mpeg1video -acodec copy <outputfilename>
Para las versiones más nuevas de ffmpeg, necesita cambiar -b
a -b:v
:
ffmpeg -i <inputfilename> -s 640x480 -b:v 512k -vcodec mpeg1video -acodec copy <outputfilename>
para convertir el archivo de video de entrada a un video con un tamaño de 640 x 480 y una velocidad de bits de 512 kilobits / seg usando el códec de video MPEG 1 y simplemente copiando la transmisión de audio original. Por supuesto, puede conectar cualquier valor que necesite y jugar con el tamaño y la velocidad de bits para lograr la compensación de calidad / tamaño que está buscando. También hay un montón de otras opciones descritas en la documentation
Ejecute ffmpeg -formats
o ffmpeg -codecs
para obtener una lista de todos los formatos y códecs disponibles. Si no tiene que dirigirse a un códec específico para la salida final, puede lograr mejores relaciones de compresión con una pérdida de calidad mínima utilizando un códec de última generación como H.264.
ffmpeg -i <input.mp4> -b:v 2048k -s 1000x600 -fs 2048k -vcodec mpeg4 -acodec copy <output.mp4>
-i archivo de entrada
-b: v videobitrate del video de salida en kilobytes (tienes que intentarlo)
-s dimensiones del video de salida
-fs FILESIZE del video de salida en kilobytes
-vcodec videocodec (use
ffmpeg -codecs
para listar todos los codecs disponibles)- -acódigo de códec de audio para salida de video (solo copie el audiostream, no atempere)