Uživatelské nástroje

Nástroje pro tento web


navody:ffmpeg

FFmpeg

FFmpeg je program pro nahrávání, konverzi astreamování audia a videa.

Argumenty

  • -af <filtry> - audio filtr
  • -an - zakáže audio
  • -b:v <bit rate> - video bit rate (např. 2048k)
  • -c:a copy|aac|ac3|mp3|mp2|libvorbis|… - audio kodek
  • -c:v copy|h264|mpeg4|mpeg2video|… - video kodek
  • -f <format> - specifikace formatu (concat pro spojování)
  • -i <soubor> - vstupní soubor
  • -q:v <1-31> - úroveň kvality videa - větší hodnota ⇒ menší kvalita
  • -s 1920×1080 - změní velikost na 1920×1080 (Full HD)
  • -ss HH:MM:SS - přeskočí čas
  • -strict -2 - použije i experimentální kodeky
  • -t HH:MM:SS - čas trvání výstupního videa
  • -to HH:MM:SS - čas konce videa
  • -vf <filtry> - vidoe filtr

Filtry

  • mod(x\,y) - modulo
  • not(x) - vrátí 1 pokud x == 0 jinak 0

Audio filtry

  • volume=2 - hlasitost 200%

Video filtry

  • select=not(mod(n\,4)) - vybere jen snímky s nenulovou hodnotou (zde každý čtvrtý)
  • setpts=N/(30*TB) - upravuje časové razítko vstupních snímků (nastaví 30 snímků za sekundu)
  • crop=1920:1080 - ořízne video na Full HD rozlišení

Audio příklady

spojí oba mp3 soubory do jednoho

ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy output.mp3

Video příklady

Informace

vypíše formáty, které podporuje /dev/video0

ffmpeg -f v4l2 -list_formats all -i /dev/video0

vypíše použitelné kodeky

ffmpeg -codecs

Nahrávání

nahraje video z kamery

ffmpeg -f v4l2 -framerate 25 -video_size 1280x800 -i /dev/video0 -vcodec mpeg4 output.mp4

spojí dva streamy do jednoho a otevře je ve vlc

ffmpeg -re -i http://192.168.1.41:8080/video -i http://192.168.1.42:8080/video -filter_complex "nullsrc=size=960x720 [base]; [0:v] setpts=PTS-STARTPTS, scale=480x720 [left]; [1:v] setpts=PTS-STARTPTS, scale=480x720 [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=480" -c:v libx264 -f asf - | vlc -

Konverze

převede obrázky 00001.jpgxxxxx.jpg do videa output.mp4; 25 snímků za sekundu; kvalita 1

ffmpeg -r 25 -qscale 1 -i %05d.jpg output.mp4

převede flv video na mp4; pro video použije kodek H.264 a kodek audia zkopíruje; velikost videa upraví na 1024×576

ffmpeg -i video.flv -vcodec h264 -acodec copy -s 1024x576 -aspect 1024:576 video.mp4

překoduje video do mpeg2 s bitrate 800k

ffmpeg -i video.mp4 -vcodec mpeg2video -b:v 800k -acodec copy video.avi

převede video z kamery výstup: rozlišení 1280×720, video kodek H.264, audio kodek AC3, bitrate video 2048 kbit/s, audio 128 kbit/s

ffmpeg -i 00000.MTS -s 1280x720 -vcodec h264 -acodec ac3 -b:v 2048k -b:a 128k 00000.mkv

Úprava

Ze souboru in.mp4 uloží do souboru out.mp4 část začínající v čase 00:00:06 a dlouhou 00:06:27. Video zakóduje v mpeg4 a kodek audia kopíruje.

ffmpeg -ss 00:00:06 -t 00:06:27 -i in.mp4 -vcodec mpeg4 -acodec copy out.mp4

oddělí zvuk od videa (-i vstup; -ab bit rate; -vn bez videa; -ac 2 kanály; -ar vzorkovací frekvence)

ffmpeg -i video.avi -ab 160k -ac 2 -ar 44100 -vn audio.mp3

spojí ts soubory do jednoho videa output.mp4

ffmpeg -i "concat:0.k.ts|1.k.ts|2.k.ts" -c copy -bsf:a aac_adtstoasc output.mp4

otočí video o 180°

ffmpeg -i MOV_0104.mp4 -vf "transpose=2,transpose=2" -acodec copy MOV_0104_rot.mp4
  • 0 = 90° proti směru hodinových ručiček a vertikální převrácení (default)
  • 1 = 90° po směru hodinových ručiček
  • 2 = 90° proti směru hodinových ručiček
  • 3 = 90° po směru hodinových ručiček a vertikální převrácení

vybere pouze každý čtvrtý snímek - snímky se neduplikují → video se zkrátí

ffmpeg -i input.MP4 -an -s 1920x1080 -vf "select=not(mod(n\,4)),setpts=N/(30*TB)" -c:v h264 output.mp4
navody/ffmpeg.txt · Poslední úprava: 2017/01/17 22:47 autor: jules