Ffmpeg detalizētas instrukcijas. FFmpeg un FFserver for Windows - īss ceļvedis

Pēdējā ierakstā es paskaidroju, kā instalēt.

Šajā rakstā es aplūkošu pamata komandas, kas ievērojami atvieglos darbu ar FFMpeg. Rokasgrāmatās ir ietverts milzīgs informācijas apjoms, un ir zināms, ka tās valda, tādēļ, ja kāda informācija ir ārpus ziņas, jums palīdzēs "man ffmpeg".

Lai saprastu vienkāršākas konstrukcijas, piemēram:

Ffmpeg -ss 5 -i a.mp4 -aspect 4: 3 -f image2 -r 1 -vframes 300 a% 2d.jpg

zemāk es uzskaitīšu visbiežāk izmantotās iespējas.

Ffmpeg iespējas

Apskatīsim dažas noderīgas iespējas (piemēri iekavās). Ja dažas opcijas nav norādītas, FFmpeg tās aizstās ar noklusējuma vērtībām:

-i- norāda avota (ievades) faila nosaukumu.
-pavedieni- skaitliskā vērtība, nosaka procesora kodolu skaitu. Kas, protams, atspoguļojas kodēšanas un failu operāciju ātrumā. Skaitlis 0 nosaka automātisko pieejamā kodolu skaita noteikšanu ( -pavedieni 2).
-t- iestata kodētā video ilgumu veselās sekundēs vai formātā hh: mm: ss.
-ss- norāda pozīciju video failā, no kuras sāksies kodēšana. Formatēt veselās sekundēs vai hh: mm: ss.
-fs- skaitliskā vērtība baitos, kilobaitos (k), megabaitos (M). Liela nozīme ir prefiksa lietai. Ierobežo gala faila lielumu. Noderīga eksperimentēšanai ar nelielu video faila gabalu, lai netiktu kodēts viss fails ( -f 5M).
-jā- šī opcija pārraksta esošos failus, neprasot apstiprinājumu.
Video opcijas:
-vcodec- video kodeku, kas tiks izmantots video kodēšanai ( -vcodec mpeg4).
-priekšnieks- izvēlieties video kodekam iepriekš iestatītu iestatījumu. FFmpeg vispirms meklē iepriekš iestatītus failus mapē ~ / .ffmpeg, pēc tam mapē / usr / share / ffmpeg vai / usr / local / share / ffmpeg atkarībā no instalācijas ceļa. Jūs varat redzēt, kādi iepriekš iestatītie faili ir pieejami, izmantojot tos pašus ceļus.
-f- piespiest, mēs piespiežam gala faila formātu ( -f avi).
-b- video straumes bitu pārraides ātrums. Noklusējums: 200 kb / s ( -b 1500).
-bt- bitu tolerance. Noklusējums: 4000k. Divpakāpju kodējumam norāda, cik tālu pirmā caurlaide var novirzīties no norādītā vidējā bitu pārraides ātruma. Vērtība nav saistīta ar minimālo / maksimālo bitu pārraides ātrumu. Pārāk liela šī parametra samazināšana negatīvi ietekmē kvalitāti.
-r- kadru skaits sekundē. Noklusējums: 25 ( -r 15).
-s- kadra izmērs, tas ir, izejas video faila izšķirtspēja. Noklusējuma vērtību nosaka avota faila lielums. Var norādīt, piemēram, ar burtu saīsinājumiem svga nozīmē 800 × 600 izmēru. Jūs varat apskatīt visus pieejamos saīsinājumus vīrietis ffmpeg. (-s 640 × 480 vai -s vga).
-aspekts- skaitliskās vērtības, nosaka izvades faila malu attiecību ( -aspekts 4: 3 vai -aspekts 1.3333).
-kultūraugs
-apgriešana apakšā
-cilvēki
-tiesības- apgriešanas rāmji no augšas, apakšas, pa kreisi, pa labi. Vērtības ir norādītas pikseļos. Var izmantot, piemēram, lai noņemtu melnās joslas ( -kultūraugs 15). Dažās ffmpeg versijās šīs opcijas var tikt noņemtas un tā vietā tiek izmantota opcija -vf apgriešana = platums: augstums: x: y... Vairāk par to attiecīgajā sadaļā zemāk.
-caurlaide- caurlaides skaits kodēšanas laikā, 1 vai 2 ( -caurlaide 2).
-g- kadru grupas lielums, kam seko atslēgas kadrs. Piemēram -g 300 nosaka vienu atslēgas kadru ik pēc 10 sekundēm ar sākotnējo video ātrumu 29,97 kadri sekundē. 30 kadri sekundē * 10 sekundes = opcijas vērtība 300 (aptuvena vērtība DVD faila izvilkšanai). Jo zemāks ir bitu pārraides ātrums un kadru skaits sekundē, jo zemākai jābūt šai vērtībai.
-aizstāt- "ķemmes" noņemšana.
Audio iespējas:
-ar- nosaka audio paraugu ņemšanas ātrumu. Noklusējums: 44100Hz ( -ar 22050).
-ab- audio celiņa bitu pārraides ātrums. Noklusējums: 64 kb ( -ab 256k).
-ac- audio celiņa kanālu skaits. Pēc noklusējuma ienākošajām straumēm šī vērtība ir 1, izejošajām straumēm tā ir vienāda ar avota faila kanālu skaitu. Citiem vārdiem sakot, ja jūs uzņemat audio, tad noklusējuma kanālu skaits ir 1, un, ja, piemēram, ņemat audio no video faila, tad noklusējuma kanālu skaits būs vienāds ar avotu ( -ac 2).
-an- video kodēšana bez audio celiņa.
-kodeku- audio kodeku, kas tiks izmantots skaņas kodēšanai ( -kods flac).
-parē- audio kodeku sākotnējo iestatījumu kopums.

Visbiežāk izmantotās konstrukcijas:
1. Informācijas iegūšana par video failu

Ffmpeg -i video.avi

2. Pārvērtiet attēlu kopu par video

Ffmpeg -f image2 -i attēls% d.jpg video.mpg

Šī komanda pārvērš visus attēlus pašreizējā direktorijā (ar nosaukumu image1.jpg, image2.jpg utt.) Par video failu video.mpg


Ffmpeg -r 12 -y -i "image_% 010d.png" output.mpg


šeit ir iestatīts kadru ātrums (12) videoklipam, formāts "image_% 010d.png" nozīmē, ka attēli tiks meklēti šādā formā: image_0000000001.png, image_0000000002.png utt., tas ir, printf formātā)

3. Izgrieziet video attēlos

Ffmpeg -i video.mpg attēls% d.jpg

Šī komanda izveidos failus image1.jpg, image2.jpg utt., Tiek atbalstīti arī formāti PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.
4. Pārvērst video iPod / iPhone formātā

Ffmpeg -i source_video.avi ievade -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags + 4mv + trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

Paskaidrojumi:

  • Avots: source_video.avi
  • Audio kodeks: aac
  • Audio bitu pārraides ātrums: 128 kb / s
  • Video kodeks: mpeg4
  • Video bitu pārraides ātrums: 1200 kb / s
  • Video izmērs: 320 x 180 pikseļi
  • Saņemtais video: final_video.mp4

5. Pārvērst video PSP formātā

Ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

Ffmpeg ir rīks, kas var palīdzēt pārvērst gandrīz jebkuru audio un video failu no komandrinda... Šajā rakstā ir dažas noderīgas ffmpeg komandas, kas jums jāzina, lai to izdarītu. Ffmpeg ir ārkārtīgi spēcīgs un daudzpusīgs komandrindas rīks audio un video failu konvertēšanai. Programma ir bezmaksas un pieejama operētājsistēmām Windows un Mac un Linux. Neatkarīgi no tā, vai vēlaties apvienot divus video failus, izvilkt audio komponentus no video failiem, konvertēt video uz animētu GIF, ffmpeg var darīt visu un vēl vairāk.

Noderīgas Ffmpeg komandas

Ffmpeg atbalsta visus populāros audio un video formātus. Vai arī jūs varat palaist komandu ./ffmpeg -formāti lai iegūtu sarakstu ar katru jūsu atbalstīto formātu instalētā versija ffmpeg. Ja jūs tikko sākat darbu, šeit ir dažas komandas, kas sniegs jums labu priekšstatu par šī rīka iespējām.

1. Izgrieziet video failu mazākos klipos

Varat izmantot laika starpības parametru (-SS), lai norādītu sākuma laika zīmogu formātā HH: mm: SS.ms Formāts a-t parametru, lai norādītu klipa faktisko ilgumu sekundēs.

2. Sadaliet video vairākās daļās

Ja vēlaties sadalīt lielu video failu vairākos mazākos klipos bez atkārtotas kodēšanas, ffmpeg var palīdzēt. Šī komanda sākotnējo video sadalīs 2 daļās - viena beidzas 50s no sākuma. otrs sākas 50. gados un beidzas ieejas video signāla beigās.

3. Pārvērst video no viena formāta uz citu

Varat izmantot parametru vcodec, lai norādītu video izvadam izmantojamā formāta kodējumu. Video kodēšana ir laikietilpīga, taču jūs varat paātrināt procesu, piespiežot sagatavi vismaz pasliktināt izvades video kvalitāti.

Ffmpeg -i youtube.flv -c: v libx264 faila nosaukums.mp4 ffmpeg -i video.wmv -c: v libx264 -iestatīt īpaši ātru video.mp4

4. Apvienojiet (apvienojiet) video failus

Ja jums ir vairāki audio vai video faili, kas kodēti ar vieniem un tiem pašiem kodekiem, varat tos apvienot vienā failā, izmantojot komandas ffmpeg. Izveidojiet ievades failu, kurā uzskaitīti visi avota faili, kurus vēlaties apvienot, un pēc tam palaidiet šo komandu.

Ffmpeg -f concat -i file -list.txt -c kopijas izvade.mp4

5. Izslēgt video skaņu (noņemt audio komponentu)

Izmantojiet šo opciju, lai izslēgtu video straumes audio daļu.

Ffmpeg -i video.mp4 -mute -video.mp4

6. Izvilkt audio no video

Slēdzis vn izvelk audio celiņu no video, un mēs izmantojam slēdzi - AB, lai saglabātu skaņu kā 256 kb / s audio failu.

Ffmpeg -i video.mp4 -vn -ab 256 audio.mp3

7. Pārvērst video par animētu GIF failu

Ffmpeg ir lielisks rīks video failu pārvēršanai animētos GIF, un kvalitāte ir diezgan laba. Izmantojiet filtra joslu, lai iestatītu GIF attēla platumu, -t parametru noteiktam ilgumam, un r parametrs nosaka kadru ātrumu (fps).

Ffmpeg -i video.mp4 -vf skala = 500: -1 -t 10 -r 10 image.gif

8. Izvelciet rāmja attēlus no video

Šī komanda iegūs video kadru 15 sekunžu laikā un saglabās to kā 800 pikseļu platu attēlu JPEG formāts... Varat arī izmantot parametru s (400x300), lai failam norādītu precīzus attēla izmērus, lai gan tas, visticamāk, radīs izstieptu attēlu, ja attēls ir nesamērīgs ar sākotnējo video failu.

Ffmpeg -ss 00:00:15 -i video.mp4 -vf skala = 800: -1 -vframes 1 image.jpg

9. Pārvērst video par attēliem

Varat izmantot ffmpeg, lai ik pēc “N” sekundēm automātiski izvilktu attēla kadrus no videoklipa un saglabātu attēlus secīgi. Šī komanda saglabā kadru attēlus ik pēc 4 sekundēm.

Ffmpeg -i movie.mp4 -r 0.25 kadri_% 04d.png

10. Audio un video failu apvienošana

Varat arī norādīt īsāko slēdzi, lai pabeigtu kodēšanu, kad beidzas īsākais klips.

Ffmpeg -i video.mp4 -i audio.mp3 -c: v copy -c: aac -stingra eksperimentālā izvade.mp4 ffmpeg -i video.mp4 -i audio.mp3 -c: v copy -c: aac -strict eksperimentālā -šīsākā izeja.mp4

11. Mainīt video izmēru

Izmantojiet izmēra slēdzi (-us), lai mainītu video izmēru, saglabājot tā malu attiecību.

Ffmpeg -i input.mp4 -s 480x320 -c: kopijas izvade.mp4

12. Izveidojiet video slaidrādi no attēliem

Šo komandu izmanto, lai izveidotu video slaidrādi, izmantojot attēlu sēriju ar nosaukumu img001.png, img002.png utt. Katrs attēls būs 5 sekundes garš (-r 1/5).

Ffmpeg -r 1/5 -i img% 03d.png -c: v libx264 -r 30 -pix_fmt yuv420p slaidrāde.mp4

13. Pievienojiet plakāta attēlus skaņai

Jūs varat pievienot attēlu audio failam, un izejas video garums būs tāds pats kā ieejas audio straumei. Tas var noderēt, augšupielādējot mp3 vietnē YouTube.

Ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c: v libx264 -c: aac -strict eksperimentāls -b: 192k -īsākā izeja.mp4

14. Pārvērst vienu attēlu video

Izmantojiet t parametru, lai norādītu video garumu.

Ffmpeg -loop 1 -i image.png -c: v libx264 -t 30 -pix_fmt yuv420p video.mp4

15. Pievienojiet filmai subtitrus

Šī komanda izveidos subtitrus ar srt failiem. Ffmpeg var arī atšifrēt visbiežāk izmantotos subtitru formātus.

Ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c: v libx264 -cff 23 -iestatīt ļoti ātru izvadi.mkv

16. Apgriezt audio failu

Tas radīs 30 sekundes skaņas fails sākot ar 90 sekundēm no sākotnējā audio faila bez atkārtotas kodēšanas.

17. Skaņas skaļuma maiņa

Varat izmantot skaļuma filtru, lai mainītu multivides faila lielumu, izmantojot komandu ffmpeg. Šī komanda uz pusi samazinās audio faila skaļumu.

Ffmpeg -i input.wav -af "apjoms = 0.5" output.wav

18. Pagriezt video

Šī komanda pagriezīs video par 90 ° pulksteņrādītāja virzienā. Jūs varat iestatīt transponēšanu uz 2, lai pagrieztu video par 90 ° pretēji pulksteņrādītāja virzienam.

Ffmpeg -i input.mp4 -filter: v "transpose = 1" rotated -video.mp4

Šī komanda pagriezīs video par 180 ° pretēji pulksteņrādītāja virzienam.

Ffmpeg -i input.mp4 -filter: v "transpose = 2, transpose = 2" pagriezts video.mp4

19. Paātriniet vai palēniniet video

Video ātrumu var mainīt, izmantojot iestatījumu filtru (elektroniski apzīmogots ar laiku). Šī komanda padarīs video 8x (1/8) ātrāku vai izmantojot setpts = 4 * PTS padarīs video 4x lēnāku.

Ffmpeg -i input.mp4 -filter: v "setpts = 0.125 * PTS" output.mp4

20. Paātrināt vai palēnināt audio

Lai mainītu audio ātrumu, izmantojiet atempo audio filtru. Šī komanda dubultos skaņas ātrumu. Skaņai varat izmantot jebkuru vērtību no 0,5 līdz 2,0.

Ffmpeg -i input.mkv -filter: a "atempo = 2.0" -vn output.mkv

Lai sāktu darbu ar ffmpeg, pārbaudiet arī oficiālo dokumentāciju vietnē ffmpeg.org, lai uzzinātu visas iespējamās lietas, ko varat darīt ar ffmpeg.

ffmpeg ir patiešām spēcīgs video kodētājs / dekodētājs. Tas darbojas komandrindā, nevis iekšā grafiskais interfeiss... Komandu uzvedne ir tas melnais logs, kuru atrodat, noklikšķinot un ierakstot cmd, pēc tam nospiežot Enter. To sauc arī par "komandrindu". Kad esat to konfigurējis, vienā no šiem logiem ievadiet komandas ffmpeg, lai to izmantotu.

Tālāk ir norādītas pamata darbības, lai to "instalētu" un izmantotu.

Uzstādīšana

ffmpeg tagad ir "instalēts". Komandrinda tagad atpazīs komandas ffmpeg un mēģinās tās palaist.

FFmpeg atjauninājums

Lai atjauninātu FFmpeg, 1. darbībā atgriezieties lejupielādes lapā un lejupielādējiet failu Pasta indekss... Izsaiņojiet failus un nokopējiet tos vecajos failos mapē, kas izveidota 2. darbībā.

Izmantojot FFmpeg

Lai izmantotu FFmpeg, ir jāatver komandu uzvednes logs un pēc tam jāievada noteiktas FFmpeg komandas. Šeit ir tipiska FFmpeg komanda:

Ffmpeg -i video.mp4 -vn -ar 44100 -ac 1 -b: a 32k -f mp3 audio.mp3

Šai komandai ir četras daļas:

  1. ffmpeg - Šī komanda paziņo CMD, ka mēs vēlamies palaist FFmpeg komandas. cmd vispirms meklē ffmpeg.exe vienā no mapēm no instalēšanas sadaļas 6. darbības. Ja tas tiks atrasts, tas mēģinās izpildīt komandu.
  2. -i video.mp4 - Šis ir ievades fails. Mēs strādāsim pie šī faila.
  3. -vn -ar 44100 -ac 1 -b: a 32k -f mp3 -Šie ir "argumenti". Šie simboli ir kā mini komandas, kas precīzi nosaka, ko mēs vēlamies darīt. Šajā gadījumā teikts, ka jāizveido mp3 fails no ievades avota.
    • -vn - atstāt no video straumes
    • -ar 44100 - Norāda audio izšķirtspēju hercos.
    • -ac 1 - audio kanāli, tikai 1. Tas faktiski ir "padarīt mono".
    • -b: 32 k - audio bitu pārraides ātrums, iestatīts uz 32 kbps.
    • -f mp3 - piespiest MP3 konvertēšanu. Bez šīs komandas ffmpeg mēģina interpretēt vēlamo, pamatojoties uz paplašinājumu, ko izmantojat izvades faila nosaukumā.
  4. audio.mp3 - Šis ir izvades fails.

Kā jūs varat uzminēt, šī īsa komanda izveido MP3 audio failu no MP4 faila.

Lai palaistu šo komandu, ja jums ir MP4 fails, lai to izmēģinātu, rīkojieties šādi:

  1. Klikšķiniet uz Windows atslēga+ R.
  2. Ierakstiet cmd un pēc tam.
  3. Mainiet ceļu uz failu, ar kuru vēlaties strādāt. Ierakstiet cd. Tam vajadzētu izskatīties kā cd C: \ Users \ name \ Desktop \.
  4. Tagad ievadiet komandu ffmpeg ar ievades faila nosaukumu. Komanda strādās ar dažiem atsauksmes... Kad tas būs izdarīts, cmd būs pieejams vairāk komandas.

Tas ir galvenais veids, kā izmantot ffmpeg. Komandas var būt daudz sarežģītākas, bet tas ir tikai tāpēc, ka programmai ir tik daudz enerģijas. Izmantojot ffmpeg dokumentāciju, jūs varat apgūt visas komandas un izveidot ļoti spēcīgus skriptus. Pēc tam šos skriptus varat saglabāt .bat failā, lai jums vienkārši būtu jāveic dubultklikšķis uz faila, nevis katru reizi jāievada visa komanda. Piemēram, šī atbilde satur skriptu, kas izveidos MP3 failus no visiem mapē esošajiem MP4. Pēc tam mēs apvienosim ffmpeg spēku ar cmd jaudu, un šī ir jauka vieta, kad jums ir jāveic profesionāla video / audio kodēšana kalnu failos.

- Noņemiet pakotnes x264, libx264-dev un ffmpeg, ja tās ir instalētas:

$ sudo apt-get purge ffmpeg x264 libx264-dev libmp3lame-dev

- Ja sistēmā ir iespējota pakotņu automātiskā atjaunināšana, mēs aizliedzam atjaunināt ffmpeg pakotni:
Ja fails "/Etc/apt/apt.conf.d/50unattended-upgrades" pastāv, tad mēs reģistrējam paketi ffmpeg sadaļā "Package-Blacklist", ja fails neeksistē, izveidojiet to:

$ sudo echo -e "Unattended-Upgrade :: Package-Blacklist (n" ffmpeg "; n);" > /etc/apt/apt.conf.d/50unattended-upgrades

Montāžai x264 ir nepieciešams jaunākā versija jams... Pārbaudīsim, kura versija ir instalēta:

$ yasm --version yasm 1.2.0 Sastādīts 2013. gada 20. novembrī.

Ja versijas sakrīt, ļaujiet nākamajam solim

$ apt-get remove yasm $ wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz $ tar xvfz yasm-1.2.0.tar.gz $ cd yasm-1.2 .0 $ ./configure --prefix = / usr / local $ make $ sudo make install $ yasm --version yasm 1.2.0 Sastādīts 2013. gada 20. novembrī.

- Mēs iegūstam atkarīgās paketes, kas nepieciešamas ffmpeg un x264 instalēšanai:

$ sudo apt-get update $ sudo apt-get install build-essential subversion texi2html libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev sega libsdl1.2-dev libogg-dev libvorbis-dev liba52-dev libdts-dev libimlib2-dev libraw1394-dev libdc1394-22-dev libtheora-dev libgsm1-dev libfaac-dev libfaad-dev git-core checkinstall yasm libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libx11-dev libxfix-dev zlib1 nasm python-chardet gstreamer1.0-libav gstreamer0.10-ffmpeg

Ja instalēšanas laikā saņēmāt kļūdu par pakotnes atkarībām gstreamer0.10-ffmpeg

pievienojiet jaunu krātuvi un atjauniniet rādītājus

Sudo add-apt-repository ppa: mc3man / trusty-media sudo apt-get update

pēc tam mēs atkārtojam pakotņu instalēšanas procesu

- Instalējiet x264 no avotiem

$ mkdir ~ / src; cd ~/src $ git clone git: //git.videolan.org/x264.git $ cd ./x264/ $ ./configure --prefix =/usr/local --enable -shared $ make $ sudo checkinstall -pkgname = x264 --pkgversion head -c 7 "--backup = nē --deldoc = jā --fstrans = nē-noklusējuma sudo checkinstall --pkgname = x264 --pkgversion "2:0.`grep X264_BUILD x264.h -m1 | griezums -d "" -f3`.`git rev-list HEAD | wc -l` + git `git rev -list HEAD -n 1 | galva -c 7`" --backup = nē-noklusējuma $ sudo make install-lib-dev && sudo cp libx264.a / usr / local / lib /

- Instalējiet x264_b10 no avotiem

$ mkdir ~ / src; cd ~/src $ git clone git: //git.videolan.org/x264.git $ cd ./x264/ $ ./configure --prefix =/usr/local --enable-shared --bit -pth = 10 $ make $ sudo checkinstall --pkgname = x264_b10 --pkgversion "2: 0.` satver X264_BUILD x264.h -m1 | cut -d "" -f3`.`git rev -list HEAD | wc -l` + git`git rev -list HEAD -n 1 | head -c 7 ""-rezerves kopija = nē-deldoc = jā-fstrans = nē-noklusējuma $ sudo make install-lib-dev $ sudo cp libx264.a / usr / local / lib /

Pārbaudīsim, kura lame versija ir instalēta:

$ lame -h LAME 64 bitu versija 3.99.5 (http://lame.sf.net)

Ja saņēmāt atbildi, ka versija ir vecāka par 3,99, izlaidiet nākamo darbību.

- Instalē klibu kodeku atbalstu

$ cd ~/src $ sudo mkdir -p/usr/local/share/doc/lame $ wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz $ tar xzvf lame-3.99.5.tar.gz $ cd lame-3.99.5 $ ./configure --enable-nasm --disable-shared $ make $ sudo checkinstall --pkgname = lame-ffmpeg --pkgversion = "3.99 .5 "-dublējums = nē-noklusējums --deldoc = jā

- Instalējiet libxvid no avotiem

$ cd ~/src $ wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.gz $ tar xzvf xvidcore-1.3.3.tar.gz $ cd ./xvidcore/build/generic $ ./configure --prefix = / usr / local $ make $ sudo make install apt-get install libopencore-amrnb-dev libopencore-amrwb-dev libgsm1-dev libfaac-dev libtheora-dev libvorbis-dev libx264-dev libdc1394-22- dev libxext-dev libxfixes-dev

- Instalējiet ffmpeg ar atbalstu x264 kodekam:

$ cd ~ / src $ git klons git: //git.videolan.org/ffmpeg.git $ cd ffmpeg / $ ./configure --prefix = / usr / local --enable-gpl --enable-postproc --enable -swscale --enable-pthreads --enable-x11grab --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable -libxvid --enable-nonfree --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-shared $ make $ sudo checkinstall --pkgname = ffmpeg --pkgversion = "7: $ ( datums +% Y% m% d% H% M) -git " -rezerves kopija = nē -deldoc = jā -fstrans = nē -noklusējuma $ hash x264 ffmpeg ffplay ffprobe $ ldconfig -v

  • instalējiet nepieciešamās kodēšanas utilītas

$ sudo apt-get install mkvtoolnix gpac mencoder dvdrip avidemux

Pārbaudīsim instalāciju

$ which ffmpeg / usr / local / bin / ffmpeg

$ ffmpeg-kodētāji | grep-E "mp3 | xvid | aac | gsm | amr | x264 | theora | vorbis"
ffmpeg versija N-55691-gca7f637 Autortiesības no 2000. līdz 2013. gadam FFmpeg izstrādātājiem
izveidots 2013. gada 21. augustā 15:44:17 ar gcc 4.6 (Ubuntu / Linaro 4.6.3-1ubuntu5)
konfigurācija: --prefix = / usr / local --enable-gpl --enable-version3 --enable-nonfree --enable-shared --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac- -enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid
libavutils 52.42.100 / 52.42.100
libavcodec 55.29.100 / 55.29.100
libavformat 55.14.100 / 55.14.100
libavdevice 55.3.100 / 55.3.100
libavfilter 3.82.100 / 3.82.100
libswscale 2.100 / 2.100
libswresample 0.17.103 / 0.17.103
libpostproc 52.3.100 / 52.3.100
V ... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 10. daļa (kodeks h264)
V ... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (kodeku h264)
V ... libxvid libxvidcore MPEG-4 2. daļa (kodeku mpeg4)
V ... libtheora libtheora Theora (kodeku theora)
A ... X ... aac AAC (uzlabota audio kodēšana)
A ... libfaac libfaac AAC (uzlabota audio kodēšana) (kodeku aac)
A ... libopencore_amrnb OpenCORE AMR-NB (adaptīva vairāku likmju šaura josla) (kodeks amr_nb)
A ... libgsm libgsm GSM (kodeku gsm)
A ... libgsm_ms libgsm GSM Microsoft variants (kodeku gsm_ms)
A ... libmp3lame libmp3lame MP3 (MPEG audio slānis 3) (kodeku mp3)
A ... X ... vorbis Vorbis
A ... libvorbis libvorbis (codec vorbis)

Lietošanas piemēri

Vienas caurlaides kodējums:

Ffmpeg -i ievade. avi -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre slow -crf 22 -threads 0 output. mp4

Jo zemāks parametrs -krf, jo augstāka kvalitāte, bet lielāks fails. Vērtības no 18 līdz 28 ir pamatotas.

Divpakāpju kodējums:

Ffmpeg -i ievade. avi -pass 1 -vcodec libx264 -vpre fast_firstpass -b 512k -bt 512k -pavedieni 0 -f rawvideo -an -y / dev / null && ffmpeg -i ievade. avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre fast -b 512k -bt 512k -threads 0 output. mp4

IPod ierakstīšana (640 × 480):

Ffmpeg -i ievade. avi -acodec libfaac -aq 100 -ac 2 -vcodec libx264 -vpre slow -vpre ipod640 -crf 26 -map _meta_data 0: 0 -vf scale = 640: -1 -threads 0 output. mp4

1. Informācijas iegūšana par video failu

ffmpeg -i video.avi

2. Pārvērtiet attēlu kopu par video

ffmpeg -f image2 -i attēls% d.jpg video.mpg Šī komanda pārvērš visus attēlus pašreizējā direktorijā (ar nosaukumu image1.jpg, image2.jpg utt.) par video failu video.mpg (tulka piezīme: man šis formāts patīk labāk: ffmpeg -r 12 -y -i "image_% 010d.png" izeja.mpg šeit ir iestatīts kadra ātrums (12) videoklipam, formāts "image_% 010d.png" nozīmē, ka attēli tiks meklēti formā image_0000000001.png, image_0000000002.png utt., tas ir, printf formātā)

3. Izgrieziet video attēlos

ffmpeg -i video.mpg attēls% d.jpg

Šī komanda izveidos failus image1.jpg, image2.jpg utt., Tiek atbalstīti arī formāti PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.

4. Pārvērst video iPod / iPhone formātā

ffmpeg -i source_video.avi ievade -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags + 4mv + trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

Paskaidrojumi:

  • Avots: source_video.avi
  • Audio kodeks: aac
  • Audio bitu pārraides ātrums: 128 kb / s
  • Video kodeks: mpeg4
  • Video bitu pārraides ātrums: 1200 kb / s

5. Pārvērst video PSP formātā

ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

Paskaidrojumi:

  • Avots: source_video.avi
  • Audio kodeks: aac
  • Audio bitu pārraides ātrums: 32 kb / s
  • Video kodeku: xvid
  • Video bitu pārraides ātrums: 1200 kb / s
  • Video izmērs: 320 x 180 pikseļi
  • Saņemtais video: final_video.mp4

6. Izvilkt audio celiņu no video un saglabāt mp3

ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3

Paskaidrojumi:

  • Avots: source_video.avi
  • Audio bitu pārraides ātrums: 192 kb / s
  • Izejas formāts: mp3
  • Saņemtais audio fails: sound.mp3

7. Pārvērst wav uz mp3

ffmpeg -i son_origine.wav -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3

8. Pārvērst .avi uz .mpg

ffmpeg -i video_origine.avi video_finale.mpg 

9. Pārvērst .mpg uz .avi

ffmpeg -i video_origine.mpg video_finale.avi 

10. Pārvērst .avi uz.gif (bez saspiešanas)

ffmpeg -i video_origine.avi gif_anime.gif

11. Pievienojiet video audio

ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

12. Pārvērst .avi par .flv

ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv

13. Pārvērst .avi uz dv

ffmpeg -i video_origine.avi -s pal -r pal -aspect 4: 3 -ar 48000 -ac 2 video_finale.dv

Ffmpeg -i video_origine.avi -target pal -dv video_finale.dv

14. Pārvērst .avi uz mpeg DVD atskaņotājiem

ffmpeg -i source_video.avi -target pal -dvd -ps 2000000000 -aspect 16: 9 finale_video.mpeg

Paskaidrojumi:

  • Izejas formāts: pal-dvd
  • Maksimālais izvades faila lielums: 2 000 000 000 (2 Gb)
  • Platekrāna formāts: 16: 9

15. Saspiest.avi uz DivX

ffmpeg -i video_origine.avi -s 320x240 -vcodec msmpeg4v2 video_finale.avi

16. Saspiest OGG Theora uz mpeg DVD

ffmpeg -i film_sortie_cinelerra.ogm -s 720x576 -vcodec mpeg2video -acodec mp3 film_termin.mpg

17. Saspiest.avi uz SVCD mpeg2

ffmpeg -i video_origine.avi -target ntsc -svcd video_finale.mpg

PAL formāts:

Ffmpeg -i video_origine.avi -target pal -svcd video_finale.mpg

18. Saspiest.avi uz VCD mpeg2

NTSC formāts:

Ffmpeg -i video_origine.avi -target ntsc -vcd video_finale.mpg

PAL formāts:

Ffmpeg -i video_origine.avi -target pal -vcd video_finale.mpg

19. Daudzpakāpju kodējums ar ffmpeg

ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie -2

20. Pārvērst.m4b uz .mp3

ffmpeg -i faila nosaukums.m4b -acodec libmp3lame -ar 22050 faila nosaukums.mp3 vai atrodiet -iname "* .m4b" -print0 | xargs -0 -I () ffmpeg -i () -acodec libmp3lame -ar 22050 () .mp3

Atjaunināt

Noņemiet iepriekš instalētās paketes:

Sudo apt-get remove ffmpeg x264 libx264-dev

Notiek atjaunināšana x264:

Cd ~ / src / x 264 padara disclean git pull

Notiek atjaunināšana Ffmpeg:

Cd ~ / src / ffmpeg atjaunina disclean svn

Abos gadījumos mēs atkārtojam uzstādīšanas procedūru Ffmpeg un x264, kā aprakstīts iepriekš, tikai no vietas "./configure la-la-la ..."

Visu šajā rokasgrāmatā veikto izmaiņu atcelšana

sudo apt-get remove x264 ffmpeg build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libmp3lame-dev libsdl1.2 -dev libtheora-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev rmib1g rf ~ / src / x264 ~ / src / ffmpeg

Papildinājums

ja jums ir jāinstalē x264, lai strādātu ar 10 bitu video. Tad jā. To visu ir vērts darīt. Tagad par libx264. ffmpeg Ubuntu nedarbojas ar x264 kodeku, bet tieši ar libx264.so.123 kodēšanas bibliotēku, tas atrodas direktorijā ar arhitektūru atkarīgām bibliotēkām. Pirmkārt, lai normāla x264 konfigurācija darbotos kopā ar ffmpeg (saņemot video straumi kodēšanai no ffmpeg), pirms x264 konfigurācijas sākšanas jums jāinstalē šādas pakotnes: libavformat-dev, libffms2-dev, libgpac-dev, libswscale-dev. Pēc šo pakotņu instalēšanas, palaižot ./configure, mēs redzēsim sekojošo:

/ scr / x264 $ ./configure

platforma: X86_64
sistēma: LINUX
cli: jā
libx264: iekšējs iekšējā kodēšanas bibliotēka libx264
dalījās: nē - sistēmas bibliotēka libx264.so. *** netiks veidota. proti, ffmpeg to izmanto video kodēšanai un apstrādei.
statisks: nē
asm: jā - montāža, kas optimizēta datorā instalētajam procesoram
savijies: jā - ir iekļauts atbalsts darbam ar pārtvertiem video
avs: nē - atspējots atbalsts darbam ar avisync operētājsistēmā Linux, tas nav pieejams
lavf: jā - iekļauts visu ffmpeg saprotamo formātu ievades failu atbalsts
ffms: jā - arī atbalsta iekļaušana ffmpeg, kas tieši - es nezinu. Tāpat kā atbalsts formātiem, ar kuriem ffmpeg var rīkoties nepareizi, vai tamlīdzīgi.
gpac: jā
gpl: jā
pavediens: posiks

atkļūdot: nē
gprof: nē
sloksne: nē
PIC: nē
vizualizēt: nē
bitu dziļums: 8 kodēšana video failos, kuru krāsu dziļums ir tikai 8 biti
hroma formāts: viss

Un tā mēs redzam, ka mūsu x264 tiks veidots, atbalstot visu iespējamo, bet ffmpeg nedarbosies. Kas jādara, lai nodrošinātu, ka ffmpeg darbojas tieši ar mūsu salikto kodeku. Lai to izdarītu, jums jākonfigurē x264 ar šādiem taustiņiem:

Prefikss = / usr - visi apkopotie faili atradīsies programmas direktorijā / usr
- bindir = / usr / bin - ievietos x264 kodeku programmas mapē / usr / bin, nevis lokāli izveidoto programmu mapē / usr / local / bin, kas instalēta pēc noklusējuma.
-libdir = / usr / lib / x86_64-linux-gnu - ievietos kodēšanas bibliotēku libx264.so. *** arhitektūras atkarīgo bibliotēku direktorijā (es pievērstu jūsu uzmanību, ka man ir 64 izlādes sistēma un attiecīgi citām arhitektūrām tiek izmantots direktorijs "x86_64-linux-gnu", jāizmanto cits direktorijs)
- iespējot-koplietots - ietver radīšanu dinamiska bibliotēka kodējums libx264.so. *** kuru ffmpeg meklēs, konfigurējot ar iespējotu x264 kodeku (cik man zināms, tas ir jāiespējo ar konfigurācijas atslēgu, bet kas zina, es pats neesmu mēģinājis apkopot ffmpeg , iespējams, ffmpeg saistīšanai ar libx264.so. *** būs jāiekļauj dažas citas konfigurācijas atslēgas)
- iespējot-statisks - ļauj izveidot statiskas bibliotēkas libx264.so (piezīme ffmpeg darbojas ar dinamisku, nevis statisku bibliotēku. Dinamiskās bibliotēkas faila nosaukuma beigās ir arī versijas numurs. Tāpēc pēc instalēšanas jauna versija kodeku x264, lai strādātu ar to, ffmpeg it (ffmpeg) katru reizi, kad jums ir jāveido no jauna.
- bitu dziļums = 10 -kodeku konfigurācija ir ieslēgta, lai saliktu tikai 10 bitu video (ieskaitot bibliotēkas. Tiks atskaņoti gan 8 bitu video, gan 10 bitu video, bet ar šo kodeku tiks izveidots tikai 10 bitu video. nav vajadzīgs, tad nelieciet to un tiks samontēts kodeks, kas radīs tikai 8 bitu video.

To mēs iegūstam, konfigurējot kodeku ar šīm atslēgām:

/ scr / x264 $ ./configure --prefix = / usr --bindir = / usr / bin --libdir = / usr / lib / x86_64-linux-gnu --enable-shared --enable-static --bit- dziļums = 10
letāls: nav git repozitorijs (vai kāds no vecāku direktorijiem): .git
platforma: X86_64
sistēma: LINUX
cli: jā - darbs komandrindā
libx264: iekšējs - iekšējo bibliotēku izveide
dalījās: jā - dinamisku bibliotēku izveide
statisks: jā - statisku bibliotēku izveide
asm: jā - procesora optimizācija (pirms būvēšanas jāinstalē yasm
savijies: jā - darbs ar sasaistītu video
avs: nē - avisync puse
lavf: jā - ffmpeg formātu atbalsts
ffms: jā - atbalsts citiem formātiem
gpac: jā - darba optimizācija ar OpenSourse Multimedia
gpl: jā
pavediens: posiks
filtri: mainīt apgriešanas lielumu select_every
atkļūdot: nē
gprof: nē
sloksne: nē
PIC: jā
vizualizēt: nē
bitu dziļums: 10 - Tikai 10 bitu video izveide (kodēšanas profili High10, High422 un High444
hroma formāts: viss

Sīkāku informāciju par x264 kodeku konfigurācijas atslēgām var apskatīt, ierakstot komandu direktorijā ar avota kodiem x264. / Configure -h

principā šeit ir tā saturs:

/ scr / x264 $ ./configure -h
Lietošana: ./configure
Palīdzība:
-h, -palīdziet izdrukāt šo ziņojumu
Standarta iespējas:
- prefikss = PREFIX PREFIX instalē no arhitektūras neatkarīgus failus
-exec-prefix = EPREFIX instalēt no arhitektūras atkarīgus failus EPREFIX
- bindir = DIR instalēt bināros failus DIR
- libdir = DIR instalējiet libs DIR
- includedir = DIR instalēšana ietver DIR
- extra-asflags = EASFLAGS pievieno EASFLAGS ASFLAGS
- extra-cflags = ECFLAGS pievieno ECFLAGS CFLAGS
- extra-ldflags = ELDFLAGS pievieno ELDFLAGS LDFLAGS
Konfigurācijas iespējas:
- atspējot-cli atspējot cli
- system-libx264 iekšējās vietā izmantojiet sistēmu libx264
- iespējot kopīgotu koplietojamas bibliotēkas izveidi
- Enable-static build statiskā bibliotēka
-atspējot-gpl atspējot tikai GPL funkcijas
- atspējot pavedienu atspējot daudzpavedienu kodējumu
- enable-win32thread izmantot win32threads (tikai Windows)
- atspējot interlaced atspējot interlaced kodēšanas atbalstu
- iespējot-vizualizēt iespējot vizualizāciju (tikai X11)
-bitu dziļums = BIT_DEPTH iestatīts izejas bitu dziļums (8-10)
- chroma-format = FORMAT izejas hroma formāts (420, 422, 444, visi)
Pielāgota opcija:
-atspējot asm atspējot platformai atbilstošu montāžas optimizāciju
-iespējot atkļūdošanas pievienošanu -g
-enable -gprof add -pg
-enable -strip add -s
-Enable-pic veidot no pozīcijas neatkarīgu kodu
Savstarpēja kompilācija:
- resursdators = HOST būvēšanas programmas, kuras darbināt HOST
- krusta prefikss = PREFIX kompilācijas rīkiem izmantojiet PREFIX
- sysroot = SYSROOT sakne sakrustotam kokam
Ārējās bibliotēkas atbalsts:
- atspējot avs atspējot avisynth atbalstu (tikai Windows)
- disable-swscale atspējot swscale atbalstu
- atspējot-lavf atspējot libavformat atbalstu
- atspējot-ffms atspējot ffmpegsource atbalstu
- atspējot-gpac atspējot gpac atbalstu

Tā ir programma (multivides bibliotēku kopa ar izpildāmu failu), kas sniedz neierobežotu varu pār jūsu videoklipu un ietaupa daudz laika.

Apraksts

Ne reizi vien kāds saskārās ar situāciju, kad tas bija nepieciešams:

  • sagrieziet video daļās vai otrādi, pielīmējiet abus;
  • izgriezt audio no klipa, nomainīt skaņu celiņš filmā (izmetiet burbuļošanu, ievietojiet oriģinālu);
  • pievienot subtitrus;
  • apgriezt pēc rāmja;
  • konvertēt uz iPhone / PSP / morecho;
  • un tamlīdzīgas lietas.

Un katru reizi, var strīdēties, sākās meklēšana, kur nozagt, kādu programmatūru to darīt. Tātad, to visu var paveikt FFmpeg, kas vienlaikus nemaksā ne santīma (lai gan ieteicams puišiem nedaudz palīdzēt).

Un daži diezgan labi pazīstami video redaktori būtībā ir tikai grafisks papildinājums FFmpeg augšpusē, tas arī viss. Bet neviens nesaka, ka tas ir slikti, piemēram, XviD4PSP ir lielisks pārveidotājs. Kāpēc izmantot smagu GUI, ja to visu var izdarīt graciozi un ātri.

Dažas video darbības tiek veiktas bez pārkodēšanas (-vcodec copy -acodec copy), dažām nepieciešama pārkodēšana (neiedziļinoties detaļās, šādos gadījumos varat iestatīt opciju -crf 18).

Informācijas izgūšana failā

Visvienkāršākā komanda būs nepieciešama kā priekštecis daudziem citiem.

Tas ir ļoti vienkārši izdarāms:

ffprobe.exe 1 .mp4

Rezultāts būs apmēram šāds:

Starp informācijas kaudzēm var redzēt, ka videoklips tiek rādīts divas minūtes (ilgums: 00: 02: 00.07) un konteinerā ir divi celiņi:

  1. Straume # 0: 0 (und): Video: h264 (augsta) (avc1 / 0x31637661), yuv420p, 1280x720, 1389 kb / s, 29.97 fps
  2. Straume # 0: 1 (und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb / s

Izgriezt video fragmentu

Šī komanda izgriezīs 66 sekunžu (00:01:06) video segmentu no 1.mp4 faila, sākot no 00:03:05, un saglabās to failā ar nosaukumu cut.mp4.

Izgrieziet video fragmentu no avota ar vairākiem audio ierakstiem

Mēs skatāmies uz failu:

ffprobe.exe 1 .mp4

Papildus citai informācijai mēs redzam, piemēram, šādu informāciju:

Ilgums: 01: 52: 52.80, sākums: 0.000000, bitu pārraides ātrums: 2768 kb / s Straume # 0: 0: video: mpeg4 (XVID / 0x44495658), yuv420p, 704x384 Straume # 0: 1: audio: ac3 ( / 0x2000), 48000 Hz, 5,1 (sānos), s16, 448 kb / s Straume # 0: 2: audio: ac3 ( / 0x2000), 48000 Hz, 5,1 (sānos), s16, 448 kb / s

ffmpeg -i 1 .avi -map 0: 0 -map 0: 2 -ss 01:37: 34 -t 63 -vcodec copy -acodec copy cut.avi

Šeit ir kāda nianse. Ja celiņš ir AC3, tad CodecID tiks salauzts (iepriekš bija tāds AVI konteinera aploksne, bet tas, iespējams, bija novērsts), un skaņa netiks atskaņota. Tomēr MKV varat pievienot visu:

ffmpeg -fflags genpts -i 1 .avi -map 0: 0 -map 0: 2 -ss 01:37: 34 -t 63 -vcodec copy -acodec copy cut.mkv

Izgrieziet subtitrus no konteinera

Pirmkārt, mēs aplūkojam informāciju failā (kā iepriekšējā piemērā), nosakām celiņa numuru un:

ffmpeg -i 1 .mkv -map 0: 2 1 .ass

Tas ir piemērots arī audio celiņu izvilkšanai. Nu, arī video. Īsāk sakot, parasti jebkurai plūsmai no konteinera. Protams, izvades faila paplašinājums ir jāiestata atbilstoši straumei.

Uz katra rāmja ievietojiet ūdenszīmi

Piemēram, jūs ierakstījāt izlases spēli, bet jūsu segvārds tiek aktivizēts ekrāna stūrī, un jums tas ir jāaizver ar melnu taisnstūri. Vai cita situācija: jūs vēlaties kaut ko nokopēt un stūrī ielīmēt kādu savu logotipu.

Tas tiek darīts šādi:

ffmpeg.exe -i 1 .mp4 -vf "movie = logo.png; pārklājums = 16:16"-crf 18 2 .mkv

Šeit ir nepieciešama pārkodēšana, tāpēc jums ir jāiestata kodēšanas parametri, ko dara opcija -crf 18. Ūdenszīme atrodas tajā pašā direktorijā ar nosaukumu logo.png. Parametrs 16:16 ir ūdenszīmes augšējā kreisā stūra pozicionēšanas koordinātas.

Video kodējums

Galvenokārt, lai samazinātu faila lielumu. Piemēram, videoieraksti no digitālās kameras vai uzņemtais Fraps video.

Es redzēju komandas vairākās rindās, kur tika rakstīti bitu pārraides ātrumi, skaitļi, atkritumi un citi nopietni, bet es neko no tā nesaprotu, es gribētu kaut ko vienkāršāku. Un tas ir, nekur nav vieglāk:

ffmpeg.exe -i 1 .avi -crf 18 out.mp4

CRF parametrs ir noteikts kvalitātes līmenis un iegūst vērtības no 0 līdz 51, kur:

  • 0 - labākā kvalitāte;
  • 51 ir sliktākā kvalitāte. Ja izvēlaties vairāk nekā 51, piemēram, 54 vai 9000, 51 tiks ņemts jebkurā gadījumā.