Nainstalovat si: ffmpeg
Jedná se o šikovný nástroj k převodu formátů multimédií. To i velice jednoduchým způsobem, jen dle koncovky zdrojového a cílového souboru, který se vytvoří.
Převod formátu z mp4 video do mp3 audio souboru
ffmpeg -i zdrojový_soubor.mp4 cílový_soubor.mp3
s úpravou zesílení hlasitosti +8dB a ubrání výšek -6dB
ffmpeg -i zdrojový_soubor.mp4 -filter:a "volume=+8dB,treble=gain=-6dB:frequency=8000" cílový_soubor.mp3
Převod formátu videa z avi souboru do mp4 souboru
ffmpeg -i zdrojový_soubor.avi cílový_soubor.mp4
Převod s vymazáním metadat
ffmpeg -i zdrojový_soubor.avi -metadata title="" cílový_soubor.mp4
Převod audio formátu MP4 videa z 6 kanálového (verze 5.1) na stereo do mp4 souboru
ffmpeg -i zdrojový_soubor.mp4 -ac 2 -c:v copy cílový_soubor.mp4
Převod s procentuálním poskládáním stereo kanálů levý = středový + 30% levý přední + 30% levý zadní
a pravý = středový + 30% pravý přední + 30% pravý zadní
ffmpeg -i zdrojový_soubor.mp4 -filter_complex "[0:a]pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" -c:v copy cílový_soubor.mp4
Informace o Audio/Video souboru
Zjištění formátu a dalších parametrů
ffprobe zdrojový_soubor.mp4
Vytvoření GIF z video souboru
Nastavení na 8 fps a rozlišení 160×120 px
ffmpeg -i zdrojový_soubor.gif -r 8 -vf "scale=160x120" cílový_soubor.gif
Převod s vymazáním metadat
ffmpeg -i zdrojový_soubor.gif -metadata title="" cílový_soubor.mp4
Převod s předvoleným video/audio kodekem a kvalitou
ffmpeg -i zdrojový_soubor.avi -vcodec libx264 -crf 24 -acodec libmp3lame -b:a 128k -ac 2 cílový_soubor.mp4
Filtr pro změnu rozměrů a oříznutí okrajů z video souboru
Princip oříznutí a posun obrazu, „scale“ pro výslednou velikost obrazu
... -vf "crop={ořez_X}:{ořez_Y}[:{posun_zleva_X}[:{posun_shora_Y}]][,scale={rozměr_X}x{rozměr_Y}]" ...
Příklad oříznutí s vycentrováním a změnou rozměru
... -vf "crop=in_w-0:in_h-148:(in_w-out_w)/2+0:(in_h-out_h)/2+1,scale=1024x576" ...
Otočení videa
bez překódování a ve stupních 90, 180, 270.
ffmpeg -i zdrojový_soubor.mp4 -metadata:s:v rotate="90" -codec copy cílový_soubor.mp4
Převod videa z DVD (VOB) do souboru
Připojení DVD, zjištění souborů a formátu potřebného videa. Reklamy, bonusy a pauzy jsou nejmenší soubory
sudo mount /dev/sr0 /mnt ; ll /mnt/VIDEO_TS/ ls -l /mnt/VIDEO_TS/VTS_* ffprobe /mnt/VIDEO_TS/VTS_...
Příklad: „720×576 – 5:4“ video soubor => oříznutí svislých okrajů => převod na „1024×768 – 4:3“
cat /mnt/VIDEO_TS/VTS_01_[1-9].VOB | ffmpeg -y -i - -metadata title="" -vcodec libx264 \ -vf "crop=in_w-24:in_h:(in_w-out_w)/2-4,scale=1024x768" -crf 26 -deinterlace -preset veryfast \ -acodec libmp3lame -b:a 128k -ac 2 cílový_soubor.mp4
Příklad: „720×576 – 5:4“ video soubor => oříznutí vodorovných okrajů => převod na „1024×576 – 16:9“
cat /mnt/VIDEO_TS/VTS_01_[1-9].VOB | ffmpeg -y -i - -metadata title="" -vcodec libx264 \ -vf "crop=in_w-0:in_h-146:(in_w-out_w)/2+0:(in_h-out_h)/2+1,scale=1024x576" -crf 26 -deinterlace -preset veryfast \ -acodec libmp3lame -b:a 128k -ac 2 cílový_soubor.mp4
Převod videa z DVD (VOB) do souboru s volbou jazyka
Příklad: Přemapování audio kanálu -map 0:1 => -map 0:3
cat /mnt/VIDEO_TS/VTS_01_[1-9].VOB | ffmpeg -y -i - -metadata title="" -map 0:1 \ -vcodec libx264 -crf 26 -deinterlace -preset veryfast \ -acodec libmp3lame -map 0:3 -b:a 128k -ac 2 cílový_soubor.mp4
Zobrazení ze dvou webkamer s přidanou „lupou“
Příklad: Poskládání obrazu ze dvou webkamer (s předem nastaveným rozlišením 640×480) do tří sekcí.
horní:/dev/video0 [0:v](640x480)
-> [horni](640×200),
dolní + lupa:/dev/video1 [1:v](640x480)
-> [dolni](640×280) + [lupa](140×280)
ffmpeg -f video4linux2 -r 15 -input_format mjpeg -i /dev/video0 \ -f video4linux2 -r 15 -input_format mjpeg -i /dev/video1 \ -filter_complex "[0:v]setpts=PTS-STARTPTS,crop=in_w:200:0:0[horni]; \ [1:v][horni]overlay=0:0[dolni]; \ [1:v]setpts=PTS-STARTPTS,crop=70:250:70:230,scale=140:280[lupa]; \ [dolni][lupa]overlay=0:200" \ -an -c:v h264 -bufsize 2M -maxrate 512K -f asf - | mplayer -
Separace části Audia z Videa s korekcí Basů a Výšek
Příklad separace úseku zvuku (od 12,5 sec. po dobu 180 sec) do mp3 souboru s korekcí basů a výšek
ffmpeg -y -ss 12.5 -t 180 -i videosoubor_zdroj.mp4 -vcodec copy -preset veryfast \ -acodec libmp3lame -af "bass=gain=3,treble=gain=-10:frequency=8000" -b:a 128k -ac 2 cílový_soubor.mp3
Úprava hlasitosti videa
Příklad zeslabení hlasitosti ve video souboru o 12dB
ffmpeg -y -i videosoubor_zdroj.mp4 -vcodec copy -filter:a "volume=-12dB" cílový_soubor.mp4
Klíčování webkamery do obrázku s výstupem do virtuální kamery
prvně, vytvořit si virtuální webkameru /dev/video10
a do této posílat klíčované video z fyzické webkamery /dev/video0
na pozadí tvořené obrázkem Picture.jpg
.
ffmpeg -nostdin \ -i 'Picture.jpg' \ -f v4l2 -input_format mjpeg -video_size 1280x720 -i /dev/video0 \ -filter_complex "\ [0:v]scale=1280x720[bg];\ [1:v]scale=1280x720,chromakey=color=#326964:0.07:0.02,fps=30[fg];\ [bg][fg]overlay"\ -crf 28 -deinterlace -preset ultrafast \ -f v4l2 -pix_fmt yuv420p /dev/video10
Zobrazení virtuální kamery /dev/video10
ffplay /dev/video10 -loglevel quiet -x 960 -y 540 -window_title "Zobrazení virtuální kamery /dev/video10"