Korisnički alati

Site alati


ffmpeg

Razlike

Slijede razlike između dviju inačica stranice

Poveznica na ovu usporedbu

ffmpeg [2019/04/26 13:44]
jpetrovic
ffmpeg [2023/06/19 18:11]
Redak 1: Redak 1:
-===== Korisne naredbe za ffmpeg (Windows inačica za AV izvore) ===== 
- 
-<font 16px/​inherit;;​inherit;;​inherit>​**1. Odabir video i audio izvora**</​font>​ 
- 
-ffmpeg omogućava definiranje jednog ili više video (npr. dekstop, integrirana kamera, USB kamera, HDMI kamera) i jednog ili više audio (npr. izlazni zvuk računala, mikrofonski ulaz, integrirani mikrofon, USB mikrofon) izvora te njihovo mapiranje na jedan ili više izlaza (npr. dvije datoteke s različitom kombinacijom AV izvora i livestream port). Za listanje dostupnih video i audio izvora pokrenuti naredbu: 
- 
-  * ffmpeg -list_devices true -f dshow -i dummy 
- 
-<​code>​ 
-[dshow @ 000001ffd04ea040] DirectShow video devices (some may be both video and audio devices) 
-[dshow @ 000001ffd04ea040] ​ "​EasyCamera"​ \\ 
-[dshow @ 000001ffd04ea040] ​ Alternative name "​@device_pnp_\?​usb#​vid_174f&​pid_2408&​mi_00#​6&​37110e07&​0&​0000#​{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"​ \\ 
-[dshow @ 000001ffd04ea040] ​ "​screen-capture-recorder"​ \\ 
-[dshow @ 000001ffd04ea040] ​ Alternative name "​@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{4EA69364-2C8A-4AE6-A561-56E4B5044439}"​ \\ 
-[dshow @ 000001ffd04ea040] DirectShow audio devices \\ 
-[dshow @ 000001ffd04ea040] ​ "​Microphone (Conexant SmartAudio HD)" \\ 
-[dshow @ 000001ffd04ea040] ​ Alternative name "​@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{C8BB87C9-7326-4DD9-81CD-E56BAB80DE91}"​ \\ 
-[dshow @ 000001ffd04ea040] ​ "​virtual-audio-capturer"​ \\ 
-[dshow @ 000001ffd04ea040] ​ Alternative name "​@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{8E146464-DB61-4309-AFA1-3578E927E935}"​ \\ 
-dummy: Immediate exit requested 
-</​code>​ 
- 
-U izlazu su unutar navodnika navedeni AV izvori koje je moguće snimati ("​EasyCamera",​ "​screen-capture-recorder",​ "​Microphone (Conexant SmartAudio HD)", "​virtual-audio-capturer"​). Izvori se za snimanje zadaju na sljedeći način: 
- 
-  * ffmpeg -f dshow -i video="​EasyCamera":​audio="​Microphone (Conexant SmartAudio HD)" integrirana_kamera_i_mikrofon.mp4 
-      * (u //​video=// ​ i //audio= //moguće je zadati bilo koje unose dobivene iz naredbe za listanje dostupnih izvora) 
-      * //​integrirana_kamera_i_mikrofon.mp4// ​ je ime izlazne datoteke 
-      * snimanje se prekida pritiskom tipke q dok je komandna linija odabrana kao aktivni prozor 
- 
-**Za snimanje radne površine (desktopa) **koristiti gdigrab filtar: 
-  * ffmpeg -f gdigrab -framerate 25 -offset_x 0 -offset_y 0 -i desktop desktop_bez_zvuka.mp4 
-      * //-offset_x //i //-offset_y //koristite ako morate ograničiti prostor snimanja, npr. zbog korištenja više zaslona -offset_x postavite na vrijednost 1280 (nakon prvog zaslona) 
-ili instalirati [[http://​sourceforge.net/​projects/​screencapturer/​|Screen capture recorder]] (koji omogućava i korištenje izlaznog audia računala kao audio input). Naredba koja uz instalirani Screen capture recorder snima desktop i **izlazni (a ne ulazni iz mikrofona)** ​ zvuk računala: 
-  * ffmpeg -f dshow -i video="​screen-capture-recorder":​audio="​virtual-audio-capturer"​ desktop_i_audio.mp4 
- 
-**Za izradu prezentacije/​projekta gdje izvodite prezentaciju i snimate svoj glas **najbolje je kombinirati //gdigrab //filter i //Screen capture recorder//: 
-  * ffmpeg -f dshow -i audio="​Microphone (Conexant SmartAudio HD)" -f gdigrab -framerate 25 -offset_x 0 -offset_y 0 desktop_s_mikrofonom.mp4 
-      * u godnjoj naredbi umjesto upisanog (Microphone (Conexant SmartAudio HD)) definirajte vlastiti mkrofon uređaj koji ste dobili u izlazu naredbe za popis dostupnih uređaja 
- 
-**odnosno istu naredbu uz dodatke parametre:​** 
-  * ffmpeg -rtbufsize 50000k -f dshow -i audio="​Microphone (Conexant SmartAudio HD)" -f gdigrab -framerate 25 -offset_x 0 -offset_y 0 -i desktop -c:v libx264 -crf 20 -vf scale=1280:​720 -r 25 -c:a aac -pix_fmt yuv420p -profile:v baseline -level 3.0 projekt.mp4 
-      * vidi značenja parametara niže 
- 
-**Dodatne napomene i pojašnjenja:​** 
-  * Parametri definirani prije -i zastavice odnose se na izvor definiran tom -i zastavicom 
-  * Snimanje se prekida pritiskom tipke q dok je komandna linija odabrana kao aktivni prozor 
-  * Parametri definirani nakon poslijednjeg izvora (-i device_name) definiraju svojstva izlaza 
-      * npr. naredbom //ffmpeg -f gdigrab -framerate 25 -video_size 1920×1080 -i desktop -framerate 20 -c:v libx264 -vf scale=1280×720 desktop.mp// ​ definira se da video ulaz šalje 25 FPS u 1920×1080 rezoluciji, a snimka će sadržavati 20 FPS enkodirano u h264 kodek u 1280×720 rezoluciji. 
- 
-**<font 16px/​inherit;;​inherit;;​inherit>​2. Podešavanje parametara snimanja:</​font>​** 
-  * **-c:v libx264** ​ = video kodek. Preporučeno libx264 jer je raširen i ima efikasnu kompresiju. 
-  * **-c:a aac**  = audio kodek. Preporučeno aac jer je raširen i ima efikasnu kompresiju. 
-  * **-r 25**  = framerate. Više je bolje, 25 je ok za većinu snimki, a desktop može i manje. 
-  * **-crf 22 **  = kvaliteta videa za h264 kodiranje (zadaje se umjesto bitratea). Manje je bolje za kvalitetu slike, 22 je dovoljno za većinu snimki. 
-  * **-vf scale=1280×720** ​ = rezolucija izlaznog videa. Više je bolje za kvalitetu slike ako snimani izvor to podržava. 1280:720 (720p ili HD ready) je dovoljno za većinu snimki. 
-  * **-rtbufsize 1G**  = buffer. Više je bolje, pogotovo ako je računalo nedovoljno jako za real-time enkoding videa. 
-  * **-pix_fmt yuv420p **  = YUV planar color space with 4:2:0 chroma subsampling. Za kompatibilnost s manje naprednim video playerima (QuickTime, Windows Media Player, …). Obavezno koristiti! 
-  * **-profile:​v baseline -level 3.0**  = h264 enkoding profil relativno niske kompleksnosti. Za kompatibilnost sa manje naprednim i procesorski slabijim uređajima. 
-  * [[https://​trac.ffmpeg.org/​wiki/​Encode/​H.264|Detalji postavki za h264 enkodiranje]]. 
- 
-**<font 16px/​inherit;;​inherit;;​inherit>​3. Trimanje (skraćivanje) videa</​font>​** 
- 
-Trimanje početka videa: 
- 
-  * ffmpeg -ss 00:01:15 -i snimka.mp4 -c copy trimana_snimka.mp4 (izbjegava reenkodiranje,​ ali ne mora izbaciti točno prvih 00:01:15 nego približno toliko, ovisno o keyframeovima) 
-  * ffmpeg -i snimka.mp4 -ss 00:01:15 -c:v libx264 -crf 19 -c:a aac trimana_snimka.mp4 (reenkodira snimku, ali izbacuje točno uvodnih 00:01:15) 
- 
-Trimanje kraja videa: 
- 
-  * ffmpeg -i snimka.mp4 -c copy -t 00:01:15 trimana_snimka.mp4 (izbjegava reenkodiranje,​ nova snimka traje od početka do 00:01:15) 
- 
-Kombinacija:​ 
- 
-  * ffmpeg -i snimka.mp4 -ss 00:01:00 -t 00:05:00 -c:v libx264 -crf 19 -c:a aac trimana_snimka.mp4 (reenkodira snimku, nova traje 5 minuta, početak joj ne nakon 1. minute stare snimke) 
- 
-**<font 16px/​inherit;;​inherit;;​inherit>​4. Konkatenacija (nadovezivanje) videa</​font>​** 
- 
-Sve datoteke moraju koristiti isti video i isti audio kodek. Napraviti u //​mylist.txt //datoteci popis datoteka s apsolutnim putanjama: 
- 
-<​file>​ 
-# Popis fajlova za konkatenaciju:​ 
-file '​C:/​video_files/​pocetak.mp4'​ 
-file '​C:/​video_files/​sredina.mp4'​ 
-file '​C:/​video_files/​kraj.mp4'​ 
-</​file>​ 
- 
-Datoteku s popisom pohraniti u isti direktorij gdje je i //​ffmpeg.exe //i pozvati naredbu: 
-  * ffmpeg -f concat -safe 0 -i mylist.txt -c copy izlaz 
- 
-[[https://​trac.ffmpeg.org/​wiki/​Concatenate|Još mogućnosti]]. 
- 
-**<font 16px/​inherit;;​inherit;;​inherit>​5. Uključivanje .srt titlova u mp4 container (//soft subtitles//​):</​font>​** 
-  * ffmpeg -i infile.mp4 -i infile.srt -c:v copy -c:a copy -c:s mov_text snimka_s_titlovima.mp4 
-      * u rezultantnoj snimci provjerite dostupnost titlova tako da ju otvorite u VLC player medijskom izvođaču i uključite titlove opcijom Subtitle/​Sub track/… 
-  * Struktura //​.srt// ​ datoteke: 
- 
-<​code>​ 
-1 
-00:​00:​06,​000 --> 00:​00:​09,​000 
-Ovo je početak jednog titla 
-koji se prelama u dva reda 
-2 
-00:​00:​11,​000 --> 00:​00:​19,​000 
-I njegov nastavak. 
-3 
-00:​00:​21,​000 --> 00:​00:​23,​000 
-I njegov nastavak. 
-</​code>​ 
- 
  
ffmpeg.txt · Zadnja izmjena: 2023/06/19 18:11 (vanjsko uređivanje)