FFmpeg

Fmpeg es el framework multimedia líder para decodificar, codificar, transcodificar, mux, demux, transmitir, filtrar y reproducir. FFmpeg soporta una amplia variedad de formatos de vídeo y puede utilizar la aceleración de hardware para minimizar el tiempo de conversión.

FFmpeg funciona en windows, linux y Mac OS.

He preparado unas notas sobre ffmpeg, estas anotaciones no persiguen un orden específico, las escribo conforme utilizo ffmpeg.

Índice:
1. Instalación
2. Cortar una parte del video sin recodificación.
3. Concatenar videos.




1. Instalación en Windows 10. [Ir al índice]

  1. https://ffmpeg.org/download.html

2. Cortar una parte del video sin recodificación. [Ir al índice]

ffmpeg -i input.mp4 -vcodec copy -acodec copy -ss 00:00:10.000 -t 00:01:00.000 output.mp4

-ss es el tiempo de inicio, -t es la duración. En el ejemplo se obtiene un video de 1 minuto, el cual fue tomado de input.mp4, iniciando en el segundo 10 y con una duración de 1 minuto. Las opciones --vcodec copy and -acodec copy son usadas para deshabilitar la recodificación.


3. Concatenar videos. [Ir al índice]

ffmpeg -f concat -i lista.txt -c copy output.mp4

El archivo lista.txt contiene todos los archivos que van a ser concatendaos. Ejemplo:

file 'parte1.mp4'
file 'parte2.mp4'
file 'parte3.mp4'


4. Acelerar video a 2X. [Ir al índice]

ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4

4.1  acelerar a 1.2

ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.833*PTS[v];[0:a]atempo=1.2[a]" -map "[v]" -map "[a]" -max_muxing_queue_size 1024 output.mp4

La regla es  atempo representan las Xs y setpts = 1/atempo
De esta manera para:
  • 1.2X =  atempo = 1.2 entonces setpts = 1/atempo es decir setpts = 0.833
  • 1.1X =  atempo = 1.1 entonces setpts = 1/atempo es decir setpts = 0.909


https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video


5. Reemplazar audio de video. [Ir al índice]

ffmpeg -i fast.mp4 -i audio.ogg -map 0:0 -map 1:0 -c:v copy -c:a aac -b:a 256k -shortest OUTPUT.mp4



6. Codificar o transcodificar video a MP4. [Ir al índice]

El archivo de entrada en este ejemplo es input.mp4. El archivo puede ser de cualquier tipo.

ffmpeg -i input.mp4 OUTPUT.mp4



7. Extraer frames de videos. [Ir al índice]

exportar keyframes
ffmpeg -i in.mp4 -vf "select=eq(pict_type\,I)" -vsync vfr frames/img%04d.jpg -hide_banner 

exportar todos los frames
ffmpeg -i in.mp4 frames/thumb%04d.jpg -hide_banner 

exportar 5 frames por segundo
ffmpeg -i in.mp4 -vf fps=5 frames/thumb%04d.jpg -hide_banner



8. Generar video a partir de una imagen y un MP3

ffmpeg -loop 1 -i image.jpg -i music.mp3 -vf "scale='min(1280,iw)':-2,format=yuv420p" -c:v libx264 -preset veryslow -profile:v main -c:a aac -shortest -movflags +faststart output.mp4

PRESET ultrafast:

ffmpeg -loop 1 -i image.jpg -i music.mp3 -vf "scale='min(1280,iw)':-2,format=yuv420p" -c:v libx264 -preset ultrafast -profile:v main -c:a aac -shortest -movflags +faststart output.mp4


9. Extraer audio como mp3 o aac

-acodec mp3, especificamos que utilice el codec para transcodifique a mp3

ffmpeg -i video_entrada.mp4 -vn -acodec mp3 audio_salida.mp3


No hay comentarios.:

Publicar un comentario