Saltar a contenido

Instalacion UBUNTU

sudo apt install ffmpeg

Instalacion Raspberry PI

sudo apt update && sudo apt upgrade -y
sudo apt install ffmpeg -y
ffmpeg -version

Referencias: https://linuxhint.com/install-ffmpeg-raspberry-pi/

MKV to MP4

Simple conversion

ffmpeg -i BulletTrain.mkv -movflags +faststart -codec copy BulletTrain.mp4 
-movflags +faststart : Para que permita los flags para adelantar y rebobinar, sin perderse

Cambiando la resolucion ( -s 1024x576)

ffmpeg -i BulletTrain.mkv -movflags +faststart  -s 1024x576 -codec  copy BulletTrain_1024_576.mp4 

Partir un video en varios trozos indicando el tiempo Basta con indicar el momento de inicio y el momento final de cada trozo

ffmpeg -i myvideo.avi -map 0  -ss 0:00:00 -to 00:05:00 -codec copy myvideo-1_2.avi
ffmpeg -i performance1.mp4 -map 0 -ss 0:00:00 -to 00:14:31 -codec copy performance-1_2.mp4

ffmpeg -ss 00:05:00.0 -to 00:09:14.0 -i myvideo.avi -c copy kafka-streams-dlq-2_2.mp4
ffmpeg -ss 00:00:00 - i myvideo.avi -to 00:05:00 -c : v copy -c : a myvideo-1_2.avi
ffmpeg -ss 00:00:00.0 -to 00:30:00.0 -i BulletTrain.mp4 -c BulletTrain_1_3.mp4
ffmpeg -ss 00:30:00.0 -to 01:00:00.0 -i BulletTrain.mp4 -c BulletTrain_2_3.mp4
ffmpeg -ss 01:00:00.0 -to 02:15:00.0 -i BulletTrain.mp4 -c BulletTrain_3_3.mp4

Quitando subtitulos Eliminar subtitulos y cualquier otra cosa que no sea audio y vídeo.

ffmpeg -i input -map 0:v -map 0:a -c copy output

Quitando Canales de audio Hay veces que queremos quitar los audios disponibles y forzar para que solo se quede un canal, Primero sacamos la informacion del video

ffmpeg -i Wish_El_poder_de_los_deseos_2023_Spanish_English_Subs_WEBRip_1080p_nosubs.mkv
...
...
Stream #0:1(spa): Audio: eac3, 48000 Hz, 5.1, fltp (forced)
....
...
Stream #0:2(eng): Audio: eac3, 48000 Hz, 5.1, fltp (default)
Quemos que el spa es el 0:1 asi que borramos todos menos el 0:1
# Dejar solo el stream número 1. (-map 0 -map -0:a:1 Selecciona todos y luego habilita el stream de audio número 1).
ffmpeg -i Wish_El_poder_de_los_deseos_2023_Spanish_English_Subs_WEBRip_1080p_nosubs.mkv -map 0 -map -0:a:1 -c copy Wish_El_poder_de_los_deseos_2023_Spanish_English_Subs_WEBRip_1080p_nosubs_spa.mkv

Compatibilidad mas comun si se quiere hacer un fichero mkv compatible con la mayoría de dispositivos, se recomienda este comando para usar libmp3lame y yuv420

# Transformar un video FullHD (1920x1080) de 16500k de bitrate a un vídeo HD (1280x720) con 2000k de bitrate.
ffmpeg -i Wish_El_poder_de_los_deseos_2023_Spanish_English_Subs_WEBRip_1080p_nosubs_spa.mkv -vf scale=1280:720 -b:v 3000k Wish_El_poder_de_los_deseos_2023_Spanish_English_Subs_WEBRip_1080p_nosubs_spa_3000.mkv

ffmpeg -i BulletTrain.mkv -movflags +faststart  -s 1024x576 -codec  copy BulletTrain_1024_576.mp4 

CREAR VIDEO A PARTIR DE UNA IMAGEN

ffmpeg -loop 1 -i img-logo.png.jpg -c:v libx264 -t 3 intro-logo.mp4

Extract audio from video (ffmpeg -i -vn )

ffmpeg -i myvideo.mp4 -vn audio.mp3

Juntar varios videos en uno

Imaginemos que queremos juntar 7 videos:

  • Cada “-i” indica el nombre del video
  • El filter_complex indica un par ([video]/[audio]) [id_del_video:v][id_del_video:] , recuerda que empieza en 0 ya que referenciará internamente a un array
  • El valor “concat=n=7” el 7 es el numero de videos a juntar
  • El parametro final es el nombre del video resultado. “ouput.mp4”
ffmpeg -i primero.mp4 -i segundo.mp4 -i tercero.mp4 -i cuarto.mp4 -i quinto.mp4 -i sexto.mp4 -i septimo.mp4 -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a][3:v][3:a][4:v][4:a][5:v][5:a][6:v][6:a]concat=n=7:v=1:a=1" -vsync vfr output.mp4