Skoraj vsak, ki se ukvarja z videoposnetki, je morda že slišal za FFmpeg. Za tiste, ki ne poznate, je FFmpeg brezplačen in odprtokoden program, ki lahko pretvori kateri koli video format v drugega in spremeni njegove kodeke.

FFmpeg podpira skoraj vse avdio/video kodeke (H.264, H.265, VP8, VP9, ​​AAC, OPUS in druge), datoteko formati (MP4, FLV, MKV, TS, WEBM, MP3 itd.) in celo pretočni protokoli (HTTP, RTMP, RTSP, HLS, itd.).

Tukaj je opisano, kako lahko namestite in uporabite FFmpeg za obdelavo avdio in video datotek v sistemu Linux.

Namestitev FFmpeg v sistemu Linux

FFmpeg je brezplačno in odprtokodno orodje, ki je na voljo v privzetih repozitorijih skoraj vseh večjih distribucij Linuxa. Lahko tudi dobite njegovo izvorno kodo brezplačno, če ga želite sestaviti sami.

# Debian
sudo apt namestite ffmpeg

# Fedora
sudo dnf namestite https://download1.rpmfusion.org/free/fedora/rpmfusion-free-sprostitev-$(rpm -E %fedora).noarch.rpm
sudo dnf -y namestite ffmpeg

# RHEL/CentOS
njam namestite ffmpeg ffmpeg-devel

# Arch Linux
pacman -S ffmpeg

Če gre med namestitvijo vse v redu, bi morali imeti možnost videti različico FFmpeg, ko uporabljate datoteko -različica prepir.

ffmpeg -različica

Pridobivanje video informacij s FFmpeg

Informacije o videoposnetku, ki ga želite urediti s FFmpeg, si lahko ogledate z uporabo -jaz zastava:

ffmpeg-jazprimer-video.mp4-hide_banner

Tukaj, -hide_banner Naloga parametra je, da skrije nepotrebne informacije. Ta parameter lahko odstranite in vidite razliko v izhodu.

Kot lahko vidite, je mogoče dobiti veliko informacij kot je vrsta video kodeka, datum ustvarjanja, metapodatki in struktura kodirnika vzorčnega videa.

Pretvarjanje video ali zvočnih datotek v drug format

Ena najbolj uporabnih funkcij FFmpeg je, da lahko pretvori video ali zvok v drugo obliko. To lahko storite s preprostimi enovrstičnicami.

MOV v MP4 s FFmpeg

Video datoteko formata MOV lahko pretvorite v MP4 s FFmpeg s spodnjim ukazom:

ffmpeg-jazinput-mov-video.movizhodni video.mp4

Najprej uporabite -jaz parameter, ki pomeni vhodni video. Nato vnesite datoteko, ki jo želite pretvoriti. Nazadnje vnesite obliko, v katero jo želite pretvoriti. Izpisu lahko daste poljubno ime.

Medtem ko se FFmpeg izvaja, vam bo prikazal spremembe, ki jih je naredil na ukaznem zaslonu. Vaša izhodna datoteka bo shranjena v vašem trenutnem delovnem imeniku.

WAV v MP3 s FFmpeg

Podobno kot pri videoposnetkih lahko naredite enake pretvorbe za zvočne datoteke. Zvočno datoteko WAV lahko na primer pretvorite v MP3 na naslednji način:

ffmpeg-jazprimer-wav.wav-vn-ar 48000 -ac 2 -b:a 256 izhod.mp3

Ta ukaz ima več parametrov kot način video pretvorbe, vendar jih ni težko razumeti. Za razlago teh:

  • -vn: Včasih imajo zvočne datoteke, ki jih poslušate, slike. Te slike običajno izvirajo iz videoposnetkov. Če ne želite takšnih slik v izhodu, lahko uporabite ta parameter.
  • -ar: Ta parameter vam omogoča nastavitev zvočne frekvence zvočne datoteke, ki jo želite pretvoriti. Kakovost in frekvenco zvoka lahko prilagodite z vrednostmi, kot so 8 kHz, 44,1 kHz ali 48 kHz.
  • -ac: Morda ste že slišali izraza mono in stereo. Ta parameter vam lahko pomaga nastaviti število zvočnih kanalov.
  • -b: a: Ta parameter vam omogoča nastavitev bitne hitrosti zvoka na sekundo. Višji kot je kilobit, višja je kakovost zvoka.

Zvočne operacije s FFmpeg

FFmpeg lahko tudi loči zvok od videa. Za to je dovolj, da uporabite -vn parameter:

ffmpeg-jazprimer-video.mp4-vnizhod.mp3

Če vam je uspelo ločiti zvok od videa, lahko zdaj poskusite odstraniti zvok iz videoposnetkov. Razlika tukaj je v -an parameter. Upoštevajte ta parameter, če želite onemogočiti zvok v videu:

ffmpeg-jazprimer-video.mp4-anizhod-mute.mp4

Obdelava velikosti videa s FFmpeg

Velikosti videoposnetkov so včasih lahko precej moteče, še posebej, če jih želite nekam naložiti. Za njihovo obrezovanje vam ni več treba prenašati programov, saj lahko to namesto vas stori FFmpeg. Za to pa morate vedeti nekaj parametrov:

  • -ss: S tem parametrom nastavite začetni čas posnetka
  • -do: Omogoča vam, da določite končni čas posnetka
  • -c: s tem parametrom nastavite kodek svojega posnetka
  • -t: S tem parametrom nastavite trajanje posnetka

Z uporabo teh parametrov lahko izpeljete veliko primerov. Na primer, če želite obrezati video, lahko uporabite nekaj takega:

ffmpeg-jazprimer-video.mp4-ss 00:02:25-do 00:03:50-ckopiratiizhodni trim.mp4

Možno je tudi obrezati samo sliko v videu in ne celotnega videa. Za to se lahko zatečete k nečemu takemu:

ffmpeg -i primer-video.mp4 -filter: v "obrezovanje=š: v:x: y" output-crop.mp4

Tukaj so parametri, uporabljeni v zgoraj omenjenem ukazu:

  • -filter: v: ta parameter določa postopek filtriranja, ki ga boste uporabili za video
  • pridelek: Ta parameter je za določitev, da bo izvedena operacija izrezovanja
  • š: v: x: y: Kot ste morda že uganili, spremenljivke w, h, x in y označujejo širino, višino in položaj polja za obrezovanje.

Urejanje videoposnetkov v sistemu Linux s FFmpeg

Urejanje videoposnetkov se ne konča le z obrezovanjem in rezanjem. Včasih morate spremeniti tudi obseg videa. Naslednji ukaz bo spremenil velikost videoposnetka na želeno velikost:

ffmpeg -i example-video.mp4 -vf scale=1920:1080 output-scale.mp4
  • -vf: Ta parameter deluje enako kot -filter: v zgoraj viden argument
  • lestvica: S tem parametrom lahko določite želene velikosti merila v izhodu

FFmpeg omogoča tudi združevanje več videoposnetkov. Predstavljajte si, da imate več posnetkov, kodiranih z istim kodekom. Vnesite seznam videoposnetkov, ki jih želite združiti v a .txt mapa. Nato zaženite naslednji ukaz:

ffmpeg-fconcat-jazmoj-video-seznam.txt-ckopirativsota-izhod.mp4

The concat parameter tukaj združuje vaše datoteke. Videoposnetke je možno tudi vrteti s FFmpeg:

ffmpeg -i primer-video.mp4 -vf "transponirati=2" izhod-vrtenje.mp4
  • transponiranje=0: Obrnite navpično (privzeto)
  • transponirati=1: Zavrtite za 90 stopinj v smeri urinega kazalca
  • transponirati=2: Zavrtite za 90 stopinj v nasprotni smeri urnega kazalca
  • transponirati=3: Obrnite navpično

Če želite videoposnetke zasukati za 180 stopinj v smeri urinega kazalca, morate parameter transponiranja določiti dvakrat:

ffmpeg -i primer-video.mp4 -vf "transponiranje=2,transponiranje=2" izhod-vrtenje.mp4

FPS in GOP operacije

Kot veste, FPS pomeni sličic na sekundo. GOP (skupina slik) je razdalja med dvema ključnima slikama. FFmpeg je uporaben tudi za spreminjanje nekaterih parametrov, vključno s FPS in GOP. Če uporabite spodnji ukaz, bo FFmpeg spremenil prvotni FPS na vrednost, ki ste jo nastavili:

ffmpeg -i primer-video.mp4 -vf "fps=60" output-fps.mp4

Za GOP lahko uporabite -g in nastavite njegovo vrednost na poljubno vrednost. Upoštevajte, da lahko vsiljevanje preveč ključnih sličic škoduje algoritmom za naprej nekaterih kodirnikov.

ffmpeg-jazprimer-video.mp4-g 200 izhod-gop.mp4

Ustvarite animirane GIF s FFmpeg

FFmpeg je idealen tudi za pretvorbo videa v animirane GIF. Za to lahko uporabite preprost ukaz za pretvorbo:

ffmpeg-jazprimer-video.mp4izhod-gif.gif

Toda včasih boste morda želeli prilagoditi GIF. Za dosego tega lahko uporabite različne parametre, obravnavane zgoraj:

ffmpeg -ss 00:01:15 -i example-video.mp4 -to 10 -r 10 -vf scale=250:-1 output-gif.gif

The -r parameter tukaj pomeni hitrost sličic. Kot lahko vidite, je v ukazu v eni vrstici možnih veliko različnih prilagoditev.

Ekstrahiranje okvirjev iz videa s FFmpeg

Poleg pretvorbe ene ali več slik v video lahko iz videoposnetka izvlečete tudi okvirje. Naslednji ukaz bo vsako sekundo iz vašega vhodnega videa izvlekel en okvir. Poleg tega bodo te ekstrahirane slike imele dvomestna imena, kot je 01.jpeg, 02.jpegitd. Če želite, lahko dodate tudi druge parametre, ki ste se jih naučili.

ffmpeg-jazprimer-video.mp4-r 1 slika-%02d.jpeg

Za ekstrahirane slike lahko uporabite tudi druge formate, kot sta PNG in BMP.

Zakaj bi morali uporabljati FFmpeg v Linuxu?

Kot lahko vidite, je FFmpeg v mnogih pogledih zelo ugoden. Za to vam ni treba imeti nobenega tehničnega znanja ali poklicnih izkušenj z Linuxom. Izvajate lahko različne funkcije obdelave medijev z le nekaj parametri. Če nameravate urejati, ki ni zelo dolga, ne potrebujete dragih računalniških programov in spletnih premium članstev. Poleg tega FFmpeg zelo dobro deluje tudi na napravah nižjega cenovnega razreda.

Poleg tega funkcije FFmpeg niso omejene na zgoraj navedeno. Ko preberete dokumentacijo in uporabniški priročnik, lahko vidite, kako zmogljiva je programska oprema. Tudi z uporabo -- pomoč parameter in moški lahko dobite podrobnejše informacije o uporabi FFmpeg. Obstajajo tudi drugi odlični pretvorniki za Linux, ki so konkurenčni FFmpeg.