
FFmpeg
Atvērtā koda multimediju apstrādes ietvars
Kodējiet, dekodējiet, transkodējiet, straumējiet un konvertējiet audio un video failus, izmantojot FFmpeg API.
Kas ir FFmpeg?
FFmpeg ir vadošs atvērtā koda multimediju ietvars, kas ļauj izstrādātājiem ierakstīt, konvertēt un straumēt audio un video saturu. Tas ietver plašu bibliotēku kopumu — piemēram, libavcodec, libavformat, libavutil, libavfilter, libswscale un libswresample — nodrošinot robustus rīkus dažādu multimediju uzdevumu apstrādei. Atbalstot simtiem kodeku un formātu, FFmpeg nodrošina neierobežotu lietojumu klāstu, sākot no video rediģēšanas programmatūrām līdz straumēšanas serveriem un mediju atskaņotājiem.
FFmpeg plaši tiek izmantots dažādās nozarēs pateicoties tā elastībai, veiktspējai un aktīvai kopienas atbalstam. Tas apstrādā visu — no vienkāršas formāta konvertēšanas līdz sarežģītai video filtrēšanai un reāllaika straumēšanai. Neatkarīgi no tā, vai veidojat mediju serveri, darbvirsmas atskaņotāju vai mākoņdatošanas transkodēšanas cauruļvadu, FFmpeg nodrošina uzticamu, augstas kvalitātes apstrādes iespējas. Tā komandrindas rīki, piemēram, ffmpeg, ffplay un ffprobe, ļauj viegli integrēt tos skriptos un automatizācijas darba plūsmās, savukārt C API un saistītās bibliotēkas (piemēram, Python) nodrošina dziļu programmēšanas kontroli.
Sākšana ar FFmpeg
Lai sāktu izmantot FFmpeg, instalējiet to caur sistēmas pakotņu pārvaldnieku (piemēram, `apt install ffmpeg` uz Ubuntu, `brew install ffmpeg` uz macOS) vai lejupielādējiet iepriekš sagatavotus bināros failus no oficiālās vietnes. Programmatūras lietošanai instalējiet Python apvalku, izmantojot `pip install ffmpeg-python`, vai izmantojiet oficiālos C bibliotēkas galvenes failus. FFmpeg ir pieejams arī GitHub vietnē [FFmpeg GitHub](https://github.com/FFmpeg/FFmpeg), kur varat kompilēt no avota, lai izveidotu pielāgotas konfigurācijas. Tā vieglā resursu patēriņa un platformu pārklājuma atbalsts padara to par ideālu risinājumu darbvirsmas, serveru un iegultām izvietojumiem.
Instalēt FFmpeg, izmantojot pakotņu pārvaldniekus
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg
# macOS (Homebrew)
brew install ffmpeg
# Python wrapper
pip install ffmpeg-python
Konvertēt multivides failus starp formātiem
FFmpeg izcili pārveido multivides failus starp simtiem formātu un kodeku. Jūs varat pārkodēt video no MP4 uz WebM, izvilkt audio no video failiem vai mainīt konteineru formātus bez atkārtotas kodēšanas (plūsmas kopija). Tā inteliģētie noklusējuma iestatījumi nodrošina augstu kvalitāti, kamēr papildu iespējas ļauj precīzi pielāgot bitreitu, izšķirtspēju, kadru biežumu un kodeku parametrus. Neatkarīgi no tā, vai gatavojat saturu tīmekļa straumēšanai, arhivēšanai vai atskaņošanai uz konkrētām ierīcēm, FFmpeg nodrošina precīzu kontroli pār izvades kvalitāti un saderību. Komandrindas interfeiss atbalsta sarežģītas filtru ķēdes, lai mainītu izmēru, apgrieztu un piemērotu efektus pārveides laikā.
Kā konvertēt MP4 uz WebM, izmantojot FFmpeg?
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus output.webm
Tiešraides straumēšana un tiešraides pārraidīšana
FFmpeg atbalsta datu ieguvi, transkodēšanu un tiešraides multivides straumēšanu, izmantojot tādus protokolus kā RTMP, HLS un SRT. Tas var tvert no tīmekļa kamerām, mikrofoniem vai tīkla avotiem un nosūtīt straumes uz platformām, piemēram, YouTube, Twitch vai pielāgotiem RTMP serveriem. Ar zemas latentuma opcijām un adaptīvu bitu pārraides plūsmu, FFmpeg nodrošina tiešraides pārraides cauruļvadu notikumiem, spēlēm un uzraudzībai. Tā spēja apstrādāt vairākus ievades avotus, pārklāt grafiku un piemērot reāllaika filtrus padara to par ideālu profesionāla līmeņa straumēšanas iestatījumiem. Jūs varat arī segmentēt izvadi priekš DASH/HLS adaptīvai atskaņošanai mobilajos un tīmekļa klientos.
Kā straumēt video failu uz YouTube Live?
ffmpeg -re -i input.mp4 -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -g 50 -c:a aac -b:a 160k -f flv "rtmp://a.rtmp.youtube.com/live2/your_stream_key"
Video filtrēšana un pēcapstrāde
FFmpeg libavfilter ietvars ļauj veikt jaudīgu reāllaika video filtrēšanu, izmantojot virzītu aciklisku filtru grafu. Jūs varat apgriezt, mērogot, rotēt, deinterlācēt, attīrīt troksni, pārklāt ūdenszīmes, pievienot tekstu, regulēt krāsas un piemērot sarežģītus efektus, piemēram, lēno kustību vai laika paātrinājumu — viss tas bez pilnīgas straumes pārkodēšanas. Filtri var tikt savienoti ķēdē vairāku posmu apstrādei, un aparatūras paātrinājums (piemēram, NVENC, VAAPI, VideoToolbox) nodrošina veiktspēju uz mūsdienīgiem GPU. Tas padara FFmpeg neaizvietojamu video redaktoriem, satura veidotājiem un izstrādātājiem, kas veido multivides apstrādes cauruļvādus, kuriem nepieciešami vizuāli uzlabojumi vai formāta normalizācija.
Kā apgriezt, mērogot & pievienot ūdenszīmi video?
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[0:v]crop=1280:720:0:0[scaled];[scaled][1:v]overlay=10:10" -c:a copy output.mp4
Izvilkt un manipulēt ar metadatiem un subtitriem
FFmpeg nodrošina pilnīgu kontroli pār metadatiem (tagi) un subtitriem, kas iekļauti multivides failos. Jūs varat izvilkt, rediģēt vai noņemt metadatus (piemēram, nosaukumu, izpildītāju, albumu, GPS datus), izmantojot vienkāršas komandas, vai konvertēt subtitrus starp formātiem, piemēram, SRT, ASS un VTT. Tas atbalsta subtitru ierakstīšanu video vai to iekļaušanu kā atsevišķas celiņus. Pieejamības un lokalizācijas darba plūsmās FFmpeg ļauj veikt subtitru failu grupveida apstrādi, laika korekcijas un valodu celiņu pārvaldību. Tas padara to par ideālu risinājumu subtitru lokalizācijai, multivides resursu pārvaldībai un atbilstībai apraides standartiem, kas pieprasa iekļautus metadatus.
Kā izvilkt subtitrus no video faila?
ffmpeg -i input.mkv -map 0:s:0 -c:s srt output.srt
