Darbs ar video un audio lielā mērogā var sagādāt īstas galvassāpes, ja viss tiek darīts manuāli: atkārtoti uzdevumi, konfigurācijas, kas mainās no projekta uz projektu, un kļūdas, kuras ir grūti atklāt. FFmpeg un daži pārdomāti skripti Ir iespējams aizmirst par lielu daļu mehāniskā darba un ļaut mašīnai rūpēties par pārveidojumiem, montāžām un kvalitātes regulējumiem.
Galvenā ideja ir vienkārša: apvienot FFmpeg jaudu ar Bash skripti un konfigurācijas faili (piemēram, YAML) Lai automatizētu visu, sākot no pamata konvertēšanas līdz sarežģītām video rediģēšanas darbplūsmām, ekrāna ierakstiem vai partijas transkodēšanai. Šajā rakstā jūs redzēsiet, kā pāriet no vienkāršas konvertēšanas uz pilnīgu rediģēšanu ar ievadiem, noslēgumiem, pārejām un metadatiem, ko visu var pārvaldīt terminālī.
Kas ir FFmpeg un kāpēc tas ir tik noderīgs automatizācijai?
FFmpeg ir bezmaksas programmatūras rīku un bibliotēku kopums. Paredzēts video, audio un pat attēlu apstrādei no komandrindas. Tas ļauj ierakstīt, konvertēt, transkodēt, straumēt, lietot filtrus, iegūt ierakstus un daudz ko citu bez grafiskas saskarnes.
Nosaukums FFmpeg cēlies no Ātri kustīgu attēlu ekspertu grupaFFmpeg, atsaucoties uz grupu, kas definēja MPEG standartus, ir kļuvis par multimediju dzinēju daudzām darbvirsmas lietojumprogrammām, straumēšanas platformām un tiešsaistes pakalpojumiem, pat ja jūs to bieži vien neredzat tieši.
Projektu 2000. gadā uzsāka Fabriss Belārs, un kopš tā laika to ir papildinājusi ļoti aktīva kopiena. Kodeki, filtri, formāti un veiktspējas uzlabojumiMūsdienās tā ir jebkuras nopietnas multimediju darbplūsmas galvenā sastāvdaļa, īpaši, ja runājam par automatizāciju.
FFmpeg platformas un instalēšana
Svarīga priekšrocība ir tā, ka FFmpeg ir pilnībā starpplatformuTas darbojas operētājsistēmās Linux, Windows, macOS un citās Unix līdzīgās sistēmās. Parasti to instalē no pakotņu pārvaldnieka vai no iepriekš kompilētiem binārajiem failiem.
- Linux (Debian, Ubuntu, Mint un atvasinājumi):
sudo apt update
sudo apt upgrade
sudo apt install ffmpeg - Fedora, CentOS, Red Hat:
sudo yum install ffmpeg ffmpeg-devel - macOS ar mājas alu:
brew install ffmpeg - WindowsLejupielādēt no ffmpeg.org vai izmantojiet Chocolatey:
choco install ffmpeg
Ir svarīgi pievienot FFmpeg ceļam PATH lai izmantotu komanduffmpegno jebkuras mapes.
Ja vēlaties pārbaudīt, vai viss ir kārtībā, varat skriet ffmpeg -hide_banner lai skatītu versiju, kodekus un kompilētos formātus, neapjukstot galvenes informācijā, kas tiek rādīta pēc noklusējuma.
FFmpeg pamata sintakse un komponenti
Galvenais rīks komplektā ir komanda ffmpegkas vienmēr tiek izpildīts no termināļa. vispārējā sintakse Tas ir elastīgs, bet to var apkopot šādi: ffmpeg -i entrada salida, kur vienā komandā var būt vairākas ievades un vairākas izvades.
Zemāk FFmpeg balstās uz bibliotēku grupu, kas bieži pazīstama kā FFmpeg libavTie apstrādā konteinerus, straumes, kodekus, filtrus, mērogošanu utt. Kad izmantojat komandu ffmpeg Jums nav jāuztraucas par šo arhitektūru, bet, ja programmējat, izmantojot API, jums būs jāsaprot tādas komponentes kā AVFormatContext, AVStream, AVPacket, AVCodec un AVFramekas ir dekodēšanas un kodēšanas pamatelementi.
Ikdienas praksē jūs galvenokārt izmantosiet galvenās konsoles bināros parametrus, kas ļoti labi iederas Bash skriptos, piemēram, automatizēt masveida multivides konvertēšanu.
Būtiskākie jēdzieni: ievades dati, izvades dati un galvenie parametri
Lai sāktu automatizāciju, jāapgūst četras parametru grupas: ieejas un izejas, formāti, bitu pārraides ātrumi un filtriKad esat tos sapratis, praktiski jebkurš uzdevums kļūst par šo elementu kombināciju.
Ievades un izvades ar -i
Gandrīz visas komandas izmanto vismaz viena ieeja (-i) un viena izejaJūs definējat ierakstu ar -i fichero.ext Un izvade parasti ir pēdējais arguments, lai gan var būt vairākas izvades ar dažādiem iestatījumiem.
Piemēram, vienkārša video konvertēšana varētu būt šāda: ffmpeg -i video.avi salida.mp4, ļaujot FFmpeg izvēlēties atbilstošos MP4 kodekus atbilstoši tā noklusējuma iestatījumiem.
Formāti, kodeki un bitu pārraides ātrums
FFmpeg atbalsta milzīgs konteineru formātu skaits (MP4, MKV, AVI, WebM, FLV utt.) un video un audio kodekus (H.264, H.265, VP9, AAC, MP3, Opus utt.). Varat izpētīt, ko atbalsta jūsu versija, izmantojot:
ffmpeg -formatslai uzskaitītu ievades un izvades formātus.ffmpeg -codecslai skatītu visus pieejamos kodekus.ffmpeg -decodersyffmpeg -encoderslai zinātu, ko var atšifrēt vai kodēt.
Automatizējot, ir ierasts skaidri iestatīt kvalitāti, izmantojot video bitu pārraides ātrums (-b:v) un audio bitu pārraides ātrums (-b:a). Piemēram:
ffmpeg -i video.avi -b:v 2500k -b:a 192k video_final.mp4
Tādā veidā jūs nodrošināsiet, ka ģenerētā faila video bitu pārraides ātrums ir 2500 kb/s un audio bitu pārraides ātrums ir 192 kb/s, tādējādi atvieglojot iegūšanu. konsekventi rezultāti automatizētās plūdēs.
Video (-vf) un audio (-af) filtri
FFmpeg filtru ekosistēma ir milzīga. Jūs varat ķēdes darbības savienot ar -vf (video filtrs) y -af (audio filtrs) vai apvienot visu kopā -filter_complex Kad lietas kļūst sarežģītas. Visbiežāk automatizācijā izmantotie filtri ir šādi:
- mērogs lai mainītu videoklipu izmērus.
- raža lai izgrieztu zonas.
- transponēt un citi rotēšanai vai apgriešanai.
- šovviļņi vai līdzīgi, lai ģenerētu audio vizualizācijas.
- kastes izpludināšana un izpludināšanas filtrus, lai pikseļotu apgabalus.
- pārklāt lai pārklātu attēlus vai videoklipus (logotipus, ūdenszīmes, kompozīcijas).
Audio formātā filtri, piemēram, skaļums, klusums, noņemšana vai pārklāšana Tie ļauj automatizēt normalizēšanu, klusuma noņemšanu vai vienmērīgas pārejas starp klipiem, neizmantojot grafikas redaktoru.
Automātiska formāta konvertēšana un pārkodēšana

Ļoti bieži tiek izmantots skripts, kas Konvertēt failus no viena formāta uz citu vairumā.FFmpeg ļauj veikt vienkāršas konvertēšanas, neminot konkrētus kodekus vai konvertēšanas, iestatot kodētāju, bitu pārraides ātrumu vai kvalitātes parametrus, ar vai bez kodeka precizēšanas.
Konvertēšana, nenorādot kodekus
Šāda veida komandas ir atkarīgas no FFmpeg izvēles jūsu vietā. atbilstošais kodeks mērķa formātam. Tie ir ideāli piemēroti kā pirmais solis automatizācijā:
- No MP4 uz WebM:
ffmpeg -i video.mp4 video.webm - No FLV uz AVI:
ffmpeg -i video.flv video.avi - No MP3 uz OGG:
ffmpeg -i audio.mp3 audio.ogg
Integrējot to Bash skriptā, kas atkārto visus failus mapē, jūs iegūstat masveida konversijas bez iejaukšanās.
Konversijas kontroles kodeki un parametri
Ja nepieciešama lielāka kontrole, varat iestatīt konkrētus kodekus un pielāgot bitu pārraides ātrumu, izšķirtspēju, kadrus sekundē vai profilus. Piemēram, konvertēt WMV uz FLV, vienlaikus pielāgojot audio un video:
ffmpeg -i video.wmv -ab 56 -ar 22050 -s 320x240 video.flv
Šeit tas ir izveidots audio frekvence (-ar 22050), audio bitu pārraides ātrums (-ab 56) un izšķirtspēja (-s 320×240)Šāda veida komandas ļoti labi noder automatizācijai; ir nepieciešami tikai daži mainīgie parametri, ko kontrolē jūsu skripts.
Automatizējiet konvertēšanu ar interaktīvu Bash skriptu
Tipisks automatizācijas piemērs operētājsistēmā Linux ir Bash skripts kas saņem failu kā argumentu, parādīt izvēlni un veiciet atbilstošo konvertēšanu ar FFmpeg. Darbojošs skelets varētu veikt šādas darbības:
- Pārliecinieties, vai tiek nodots ievades fails un vai tas pastāv.
- Palūdziet lietotājam izvēlēties izvades formātu: webm, mp4, mkv, avi vai tikai mp3 audio.
- Izveidojiet izvades nosaukumu no sākotnējā faila bāzes nosaukuma.
- FFmpeg izsaukšana atšķiras atkarībā no tā, vai tas ir izvilkt tikai audio (piemēram, ar
-q:a 0 -map a) vai konvertēt pilnu video. - Parādiet skaidrus ziņojumus par panākumiem vai neveiksmēm.
Ja saglabājat skriptu mapē /usr/local/binJūs noņemat paplašinājumu un piešķirat tam izpildes atļaujas ar chmod a+rxTo var palaist no jebkura maršruta ar vienkāršu convertersheep fails.webm vai jūsu izvēlētais vārds. Tā jūs konvertējat jebkurš fails ar pāris atslēgāmbez nepieciešamības katru reizi atcerēties FFmpeg sintaksi.
Automatizējiet video rediģēšanu ar YAML failiem
Kad jūs pārejat no vienkāršas konvertēšanas un iedziļināties viena un tā paša veida satura (piemēram, kursu, interviju vai iestāžu video) atkārtotā rediģēšanā, ir vērts veidot skripti, kas nolasa YAML konfigurācijas un ģenerē pilnīgus pieslēgumus ar FFmpeg.
Vispārīgs video ģenerators no attēliem un klipiem
Ļoti spēcīga stratēģija sastāv no definēšanas a config.yml Elementu (attēlu vai videoklipu) saraksts, kurā norādīta to secība, ilgums, iespējamās apgriešanas, skaļuma iestatījumi un citi parametri. Skripts atkārtoti pārskata šos elementus, apstrādā tos pa vienam pagaidu direktorijā un pēc tam apvienot visu vienā, perfekti sinhronizētā gala failā.
Tipiski lietošanas gadījumi Šāda veida skriptu piemēri ir šādi:
- Salieciet video no vairākiem slaidiem un īsiem klipiem, it kā tās būtu diapozitīvi ar īsiem video blokiem, kas izkaisīti.
- Izveidojiet informatīvas kapsulas ar vairākām sadaļām bez nepieciešamības katru reizi atvērt video redaktoru.
- Lietojiet konsekventu vizuālo stilu (izšķirtspēja, kadri sekundē, kodējums), manuāli nepieskaroties katram projektam.
Starp tehniskajām priekšrocībām Šīs pieejas galvenie aspekti ir šādi:
- Globāla kontrole pār izšķirtspēja, kadru ātrums un izejas kodeks, parametrizēts pašā YAML.
- iespēja Apgriezt katra klipa sākumu un beigas bez papildu piepūles.
- Pielāgošana individuāls apjoms katrā segmentā lai izvairītos no pēkšņām skaņas izmaiņām.
Šāda veida automatizētais skripts ļoti labi integrējas ar tādiem rīkiem kā yq lai lasītu YAML no Bash un ar skaidru mapju koku (piemēram, automatizacion/video-generator/), kas satur gan skriptus, gan resursus un veidnes.
Vienkāršs scenārijs: fiksēts vāks + galvenais video
Daudzos izglītības vai iestāžu kontekstos ir nepieciešams kaut kas ļoti ierasts: video sākas ar statisks vāka attēls uz dažām sekundēm (ar nosaukumu, autorību, logotipiem utt.) un pēc tam saiti uz galveno video. Šim nolūkam pietiek ar daudz vienkāršāku skriptu nekā tālāk norādītais:
- Pārveidot attēlu, piemēram, piecu sekunžu garā videoklipā.
- Apvienojiet šo klipu ar galveno video, nesaspiežot visu atkārtoti, izmantojot tādus formātus kā mpegts lai nodrošinātu tīru savienošanu.
- Ģenerējiet galīgo failu, kas ir gatavs publicēšanai vai integrācijai citā automatizācijā.
Galvenā priekšrocība ir tā, ka Jūs izvairāties no nevajadzīgas pārkodēšanasTas padara procesu ļoti ātru, un jūs nezaudējat kvalitāti. Sakārtojiet šāda veida skriptus ceļos, piemēram, šādi: automatizacion/videos-asignaturas-abierto/ Tas palīdz visas tematiskās plūsmas saglabāt atsevišķas, bet atkārtoti izmantojamas.
Sarežģīta interviju vai programmu sērijas montāža
Kad veidojat video sēriju ar fiksēta struktūraPiemēram, ar interviju vai atkārtotu epizožu kolekciju varat izveidot sarežģītāku skriptu, kas automatizē visu darbplūsmu. Iedomājieties montāžu, kas vienmēr apvieno:
- Iestādes ievads ar logotipiem un mūziku.
- Statisks attēls ar sanāksmes nosaukumu un attiecīgo informāciju.
- Galvenais neapstrādātais video, apgriezt sākumā un beigās, ja nepieciešams.
- Iestāžu slēgšana ar titriem vai aicinājumiem uz darbību.
Šāda veida iestatījumos parasti tiek izmantoti filtri, piemēram, xfade (vienmērīgām video pārejām) un pārklāšanās (audio izbalēšanai), lai rezultāts izskatītos profesionāli, bez nepieciešamības neko manuāli pielāgot katru reizi.
Tas viss tiek kontrolēts no config.yml kur ir definēti maršruti uz katru segmentu, pārejas laiki, griezumi, apjomi un globālie parametri, piemēram, standarta izšķirtspēja (piemēram, 720p) vai audio paraugu ņemšanas frekvence (44.1 kHz)Rezultāts ir stabila darbplūsma, kas ģenerē video ar nemainīgu kvalitāti un estētiku no vienas sērijas uz otru.
Ekrāna pārraižu automatizācija ar FFmpeg
Vēl viens ļoti spēcīgs FFmpeg pielietojums ir automatizēta ekrāna ierakstīšana (ekrāna ieraksts) ar sinhronizētu audio, kas ir ļoti svarīgi video pamācībām vai tehniskām demonstrācijām. GNU/Linux vidē var izmantot ekrānuzņēmumus ar x11grab un iegūstiet loga, kuru vēlaties ierakstīt, koordinātas, izmantojot tādus rīkus kā xwininfo.
Tipiskā plūsma ietver:
- Skripts priekš sākt ierakstīšanukonfigurējot ekrāna apgabalu (piemēram, 800 × 600, sākot no augšējā kreisā stūra), kadru ātrumu (25 kadri/s ir labs atsauces lielums) un audio avoti.
- Audio parametri, kas pielāgojas tam, vai izmantojat ALSA, OSS vai PulseAudio (kaut kas līdzīgs parasti labi darbojas programmā PulseAudio)
-f alsa -ac 1 -i pulse). - Kodeka izvēle: piemēram -acodec libmp3lame MP3 audio un -vcodec libx264 -iepriekš iestatīts īpaši ātrs -crf 0 -pavedi 0 H.264 video bez redzamiem zudumiem, optimāli izmantojot CPU pavedienus.
- Pavadošais skripts priekš pārtraukt ierakstīšanu Un, ja vēlaties, integrējiet darbvirsmas paziņojumus ar
notify-send.
Ar šo kombināciju jūs varat izveidot ekrānuzņēmumus ar saprātīgs izmērs, laba kvalitāte un labi sinhronizēta skaņaun vienmēr atkārtot vienu un to pašu konfigurāciju, neatceroties precīzu parametru recepti.
Pakešu apstrāde: audio, video un attēli
Daudzi no iepriekšējiem piemēriem lieliski darbojas, ja tos piemēro vairākiem failiem vienlaikus. Vienkārša cilpa forums Bash apvienojumā ar FFmpeg tas pārvērš garlaicīgus uzdevumus vienas komandas procesos.
Masveida audio konvertēšana
Iedomājieties, ka vēlaties tērēt WAV mono 16 bitu fails ar frekvenci 22050 Hz Visi MP3 faili mapē. Varat palaist:
for i in *.mp3; do
ffmpeg -i "$i" -acodec pcm_s16le -ac 1 -ar 22050 "${i%.mp3}-encoded.wav";
done
Šo pašu ideju var pielāgot, lai izveidotu vispārīgus skriptus, kas sagriezti fragmenti, mainīt izlases frekvenci, normalizēt skaļumu vai ģenerēt dažādām ierīcēm pielāgotus variantus.
Fragmentu segmentēšana un griešana
Lai sadalītu audio failu fiksēta garuma segmentos, varat izmantot segmentācijas muxer:
ffmpeg -i input.mp3 -f segment -segment_time 3 -c copy out%03d.mp3
Ja vēlaties tikai konkrētu fragmentu, piemēram 30 sekundes, sākot no 60. sekundesJums ir vairākas iespējas:
- Sekunžu laikā:
ffmpeg -i input.mp3 -ss 60 -t 30 output.wav - HH:MM:SS formātā:
ffmpeg -i input.mp3 -ss 0:01:00 -t 0:00:30 output.wav
Loģika ir līdzīga video, ļaujot jums labot sākums (-ss), ilgums (-t) un beigas (-to), ar vai bez pārkodēšanas atkarībā no jūsu vajadzībām.
Audio un video ieguve un apvienošana
Automatizētās darbplūsmās tas ir bieži sastopams atdalīt audio un video, apstrādāt tos atsevišķi un pēc tam atkal apvienot.Ar FFmpeg tas tiek darīts divās rindās:
- Izvilkt tikai audio celiņu, to nepieskaroties:
ffmpeg -i video.mp4 -vn -acodec copy salida.aac - Noņemt audio no video:
ffmpeg -i entrada.mp4 -codec copy -an salida_sin_audio.mp4 - Aizstāt audio celiņu ar citu, saglabājot oriģinālo video:
ffmpeg -i video.mp4 -i nuevo_audio.wav -shortest -c:v copy -c:a aac -b:a 256k salida_final.mp4
Tas ir ļoti noderīgi, ja automatizējat, piemēram, dublēto versiju paaudze vai dažādu audio miksu izveide vienam un tam pašam videoklipam.
Attēli un video: no video uz kadriem un otrādi
FFmpeg ir piemērots arī automatizācijai cauruļvadi, kas apvieno attēlus un video, piemēram, kadru ieguve analīzei, GIF ģenerēšana vai video izveide no attēlu secībām.
Kadru izvilkšana no video
Ja video konvertēsiet tieši attēlos, katrā kadrā iegūsiet vienu attēlu, kas var būt pārmērīgi. Bieži vien kadru nomaiņas ātrums tiek ierobežots ar -vf kadri sekundē:
ffmpeg -i video.mp4 -vf fps=1 imagen_%03d.png
Ar šo komandu jūs ģenerējat viens attēls sekundē video, secīgi numurēti. Pēc tam tos var apstrādāt ar citiem rīkiem vai salikt no jauna.
Izveidojiet video no attēlu sērijas
Apgrieztais process ir tikpat vienkāršs. Iedomājieties, ka jums ir kolekcija img001.png, img002.png, img003.png, … un vēlaties izveidot video ar 25 kadriem sekundē:
ffmpeg -framerate 1 -i img%03d.png -r 25 -pix_fmt yuv420p salida.mp4
Varat izmantot arī tādus modeļus kā -pattern_type glob -i "*.jpeg" par veidot video no visiem attēliem viena veida mapē, kas ir ļoti praktiski automatizācijās, kas izmanto citu rīku rezultātus.
Video uz animētu GIF ar vai bez ārējiem rīkiem
Video konvertēšanai uz GIF parasti ir nepieciešams neliels cauruļvads saglabāt saprātīgu kvalitāti un izmēruIzplatīta recepte būtu šāda:
- Mainīt video izmēru uz kaut ko pārvaldāmu:
ffmpeg -i input.mp4 -vf scale=640x360 -c:v h264 -crf 18 -c:a aac output_1.mp4 - Ģenerēt PNG rāmjus:
ffmpeg -i output_1.mp4 frame%04d.png - Izveidojiet GIF, labi darbojas ar FFmpeg:
ffmpeg -i output_1.mp4 salida.gif
vai ar īpašiem rīkiem, piemēram, gifskis augstākas kvalitātes nodrošināšanai:
gifski -o salida.gif frame*.png
Automatizējot šīs darbības ar skriptu, varat ģenerēt GIF failus no konkrētiem videoklipiem. gatavs sociālajiem medijiem vai tehnisko dokumentāciju, bez roku darba.
Automatizēta rediģēšana: apgriešana, mērogošana, pagriešana un citi efekti
Papildus formātu konvertēšanai FFmpeg nodrošina arī automatizāciju pamata un ne tik pamata rediģēšanas darbības kas iepriekš prasīja grafikas redaktora izmantošanu.
Mainiet izšķirtspēju un izvairieties no nevēlamas mērogošanas
Lai pielāgotu izejas izšķirtspēju, varat to izmantot tieši -s vai filtru mērogs. Daži piemēri:
- Spēks 1280×720:
ffmpeg -i input.mov -s 1280x720 salida.mp4 - Samaziniet pašreizējo izmēru uz pusi:
ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" salida.mp4 - Automātiski iestatīt platumu un saglabāt malu attiecību:
ffmpeg -i input.mp4 -vf "scale=320:-2" salida.mp4
Varat arī izmantot izteicienus, kas izvairās no uzlabošanaPiemēram, neveicot mērogošanu, ja sākotnējais video jau ir mazāks par noteiktu izmēru, viss tiek integrēts skriptos, kas apstrādā veselas video kolekcijas.
Apgriezt video
Filtrēt raža sekojiet paraugam crop=ancho:alto:x:yNoderīgi piemēri:
- Apgriezt 200x200 kvadrātu, sākot no (300,100):
ffmpeg -i video.mp4 -vf "crop=200:200:300:100" salida.mp4 - Noņemiet X pikseļus no augšas un apakšas:
ffmpeg -i video.mp4 -vf "crop=in_w:in_h-2*X" salida.mp4 - Darbs ar izšķirtspējas daļām (piemēram, apakšējā labajā stūrī):
ffmpeg -i video.mp4 -vf "crop=in_w/2:in_h/2:in_w/2:in_h/2" salida.mp4
Šīs receptes ir ideāli piemērotas skriptiem, kas, piemēram, Viņi ģenerē īpašas versijas sociālajiem tīkliem.Tie noņem melnās joslas vai sagatavo saturu konkrētām ierīcēm.
Pagriezt un apgriezt videoklipus
Lai pagrieztu video, varat apvienot filtru transponēt:
- Pagriezt par 90° pulksteņrādītāja virzienā:
ffmpeg -i video.mp4 -vf "transpose=1" salida.mp4 - Pagriezt par 90° pretēji pulksteņrādītāja virzienam:
ffmpeg -i video.mp4 -vf "transpose=2" salida.mp4 - Pagriezt par 180º, apvienojot divas transpozīcijas:
ffmpeg -i video.mp4 -vf "transpose=2,transpose=2" salida_180.mp4
Varat arī izmantot tādus efektus kā spogulis un apgrieziens lai spoguļotu horizontāli vai vertikāli, apvienojot tos, ja vēlaties pilnībā apgriezt video.
Pārklājuma logotipi, ūdenszīmes un video slāņi
Filtrēt pārklāt Tas veido pamatu automatizētiem izkārtojumiem ar logotipiem, TV blaktīm vai sarežģītākām kompozīcijām. Daži noderīgi modeļi:
- Fiksēts logotips augšējā kreisajā stūrī, 10 pikseļi no malas:
ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=10:10" salida.mp4 - Logotips apakšējā labajā stūrī, izmantojot šādus izmērus:
ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)" salida.mp4 - Otrā video laika superpozīcija tikai starp 5. un 10. sekundi:
izmantojot-filter_complexaroverlay, laika izteiksmes un, ja nepieciešams, iepriekšējas apgriešanas vai aizmiglojuma filtri.
Ja jūsu logotips ir PNG formātā ar caurspīdīgumu, jūs iegūsit diskrētas ūdenszīmes integrēts jebkurā konvertēšanas vai publicēšanas procesā.
Automatizēt audio manipulāciju
FFmpeg izceļas arī audio uzdevumu automatizācijā un audio rediģēšana: formāta maiņa, normalizācija, apgriešana, kanālu sajaukšana vai vizualizācijas ģenerēšana.
Audio konvertēšana un parametri
Piemēri, kurus var pārvērst funkcijās jūsu skriptos:
- WAV uz MP3 mono ar 64 kbps un 22050 Hz:
ffmpeg -i input.wav -ac 1 -ab 64000 -ar 22050 output.mp3 - No MP3 uz WAV 16 kHz mono 16 biti:
ffmpeg -i input.mp3 -acodec pcm_s16le -ac 1 -ar 16000 out.wav - Ātra skaļuma regulēšana:
ffmpeg -i input.mp3 -vol 200 output.mp3(dubultojot skaļumu salīdzinājumā ar oriģinālu).
Apvienojot to ar mapju cilpām vai failu saraksta lasīšanu, ir viegli pievienot procesus, kas paredzēti sagatavot audio katalogus konkrētiem atskaņotājiem, tālruņu sistēmām, aparatūras atskaņotājiem utt.
Ģenerējiet audio viļņus video
Ja vēlaties video, kurā parādīts, audio viļņu formaPiemēram, lai augšupielādētu to video platformās, varat izmantot:
ffmpeg -i input.aac -filter_complex "showwaves=mode=cline:s=1920x1080:colors=white" -map "" -map 0:a -c:a copy -pix_fmt yuv420p output.mp4
Šī komanda izveido Full HD video ar baltu viļņu formu uz melna fona, saglabājot oriģinālo audio. Skriptā var pielāgot krāsas, izmēru vai attēlošanas režīmus, lai ģenerētu video. “jauki” audio video automātiski.
FFmpeg izmantošana kā bibliotēka (libav) izstrādātājiem
Lai gan lielākā daļa piemēru balstās uz komandrindu, FFmpeg var izmantot arī kā bibliotēku kopums patentētās lietojumprogrammāsKlasiskās pamācības parāda, kā, piemēram, uzrakstīt video atskaņotāju mazāk nekā tūkstoš rindās C valodā, lai gan sākotnējais kods tagad ir nedaudz novecojis.
Vispārējā ideja vienmēr ir viena un tā pati: Atveriet failu ar AVFormatContext, atrodiet audio un video straumes, izlasiet paketes (AVPacket), dekodējiet tās ar AVCodec un iegūstiet dekompresētus kadrus (AVFrame).No turienes jūs varat tos apstrādāt, analizēt vai attēlot, kā vien vēlaties.
FFmpeg ir multimediju pasaules Šveices armijas nazis, kas apvienojumā ar Bash skriptiem, YAML failiem un nedaudz iztēles ļauj Automatizējiet video un audio konvertēšanas, montāžas un ražošanas darbplūsmas kas iepriekš prasīja stundām ilgu roku darbu grafikas redaktorsAr nelielu praksi jūs varat pārvērst visas šīs komandas un modeļus par saviem instrumentiem, kas pielāgoti jūsu darba veidam, ietaupot laiku, nodrošinot konsekvenci un sniedzot ļoti precīzu kontroli pār kvalitāti, formātiem un gala rezultātiem. Kopīgojiet šo informāciju, lai vairāk lietotāju uzzinātu par tēmu.
