FFMPEG Slike za video vadnico

Ffmpeg Images Video Tutorial



Vas torej zanima izdelava videoposnetka na podlagi slik? Pri tej nalogi vam lahko pomaga tudi programska oprema Linux, še posebej ena: ffmpeg.

Če tega še ne poznate, je ffmpeg programska oprema za pretvorbo in urejanje videa in zvoka s filtri. Ta podpira največje število različnih kodekov. Če ste že uporabljali VLC, potem poznate malo ffmpeg: VLC uporablja ffmpeg za dekodiranje čim več videoposnetkov.







Pred snemanjem videoposnetkov pa vam moram povedati nekaj konceptov, da se ne izgubite na poti.



Združiti slike v videoposnetek ni težko. In obstaja razlog: videoposnetki temeljijo na vrsti slik. Naj razložim.



Video (tudi videoposnetek v YouTubu) je niz fotografij, ki se hitro spreminjajo. V kinu in kinu je med vsako sliko črna slika, ker mora mehanizem preklopiti okvir in je bil prepočasen. Toda človeško oko ga ne opazi, ker je mehanizem dovolj hiter in zaradi optične iluzije.





Toda računalniki nimajo tega problema. LCD zasloni samo še naprej prikazujejo zadnjo sliko. Kakorkoli že, iz vsake slike videoposnetka lahko v resnici izvlečete neodvisno sliko. Ko slika izhaja iz videoposnetka, se imenuje a okvir . Točno to vidite, ko zaustavite videoposnetek - in ko to storite, obrazi na splošno ne izgledajo dobro!

Na splošno videoposnetki iz Združenih držav Amerike vsebujejo 30 sličic na sekundo - se malo zavedati. Gre za 1800 sličic na minuto, 54 000 sličic na pol ure videa ali 108.000 sličic na uro . To je veliko in zato se včasih sprašujete, kako lahko ena slika tehta 1 MiB, vendar lahko ena minuta videa 1080p tehta le 15 MiB.



Število slik na sekundo se imenuje hitrost sličic . Pri 30 sličicah na sekundo vsako sliko spremenite 33 milisekund . Torej, če želite narediti eno minuto videa samo na podlagi vaših slik, bi morali imeti 1800 datotek JPG ali PNG na minuto.

To je uporabno, če želite narediti napredno urejanje videa brez uporabe video orodij: za vsak okvir morate ustvariti slike s svojimi učinki, nato pa jih lahko združite v video. Včasih pa želite, da mirujoča slika traja, ker nočete fotografijo v videu.

Zdaj je čas za namestitev ffmpeg.

Namestite ffmpeg v Linux

Odvisno od vaše distribucije je lahko namestitev ffmpeg enostavna ali malo zapleteno . To je brezplačna programska oprema z javno dostopno izvorno kodo, ki pa lahko dekodira ali kodira patentirane formate, kot je MP4, nekatere distribucije to izključujejo iz svojih skladišč. Na primer, v Red Hat Enterprise Linux, CentOS in Fedora potrebujete RPMFusion zaradi patentov. Poleg tega vse različice Debiana in Ubuntu pred 16.04 distribuirajo lažno različico ffmpeg, ki temelji na nezakonitem razcepu.

Toda preden se mudi z namestitvijo, je morda že nameščena prava različica? Preizkusimo:

$ffmpeg -verzija
ffmpegrazličica X.XXXXXXXX Avtorske pravice(c) 2000-2018razvijalci FFmpeg

Če po avtorskih pravicah vidite razvijalce FFmpeg, imate prvotno različico FFMpeg, vam ni treba storiti ničesar. Če pa vidite:

$ffmpeg -verzija
ffmpegrazličica X.XXXXXXXX Avtorske pravice(c) 2000-2018razvijalci Libav

Potem to pomeni, da uporabljate vilice ffmpega, imenovanega Libav. Debian in starejše različice Ubuntuja tiho zamenjajte FFMpeg z Libavom. Če vam pove, da je zastarel, ga prezrite, kar je zavajajoče. Če imate nameščene vilice, je čas, da odstranite svojo različico lažnega ffmpega in sledite spodnjim navodilom, da namestite pravo različico. Verjetno takole:

$sudo apt-get remove ffmpeg

Torej, morda ga še niste namestili ali imate napačno različico, čas je, da ga namestite!

V Fedori, Red Hat Enterprise Linux (RHEL) in CentOS pojdite na https://rpmfusion.org/Configuration in v svojem računalniku omogočite brezplačno skladišče RPMFusion. Če ste v Fedori, naredite naslednje:

$sudodnfnamestite ffmpeg

Za CentOS in Red Hat Enterprise Linux naredite naslednje:

$sudo yum install ffmpeg

To je vse za sisteme, ki temeljijo na Fedori in Red Hat, je nameščen.

V vseh različicah Debiana (in vseh izpeljanih) in Ubuntuja pred 16.04 morate statično zgradbo FFMpeg dobiti z uradnega spletnega mesta. Pojdi do https://ffmpeg.org/download.html#build-linux in spodaj Statične zgradbe Linuxa , kliknite na 32-bitni in 64-bitni za jedro 2.6.32 in novejše . Nato spodaj objava: X.X.X , naložite ustrezen arhiv, ga izvlecite in po CLI lahko zaženete izvedljive datoteke, ki se nahajajo v ekstrahirani mapi.

Za tiste, ki uporabljajo Ubuntu 16.04 in novejše, je lažje, samo naredite:

$sudo apt-get install ffmpeg

Uf! Končno bi morali biti pripravljeni! Preden nadaljujete, zadnjič preizkusite z:

$ffmpeg -verzija

ffmpeg različica X.XXXXXXXX Avtorske pravice (c) 2000-2018 razvijalci FFmpeg

Ustvarite video posnetke iz številnih slik

Tako bomo za prvi primer ustvarili videoposnetek iz Slike, kjer vsaka slika predstavlja okvir, ki bo prikazan 33 milisekund. Naj vam najprej pokažem ukaz.

** MP4 in H.264 sta patentirana kodeka, preverite, ali imate pravico do kodiranja z njim. **

$ffmpeg-r: v30 -jaz 'Pingvini - %05d.png'-codec: v libx264-prednastavljenozelo počasno
-pix_fmt yuv420p-crf 28 -an 'Penguins.mp4'

V redu, kako to deluje? Če želite, da ta ukaz deluje, morate imeti veliko okvirjev, kjer je vsak okvir datoteka, kot so Penguins - 00043.png. Ta ukaz bo nato združil vse sličice po vrstnem redu 30 FPS. Torej, Penguins - 00043.png pride pred Penguins - 00044.png v videu in ffmpeg bo to spoštoval. Če imate torej 120 sličic, bo vaš video trajal 4 sekunde.

Za obliko, širino in višino okvirjev za delo je nekaj zahtev. Če ne upoštevate teh pravil, lahko ffmpeg prezre nekatere slike ali prekliče postopek ustvarjanja videa. Torej:

  • Vsi okvirji v istem videoposnetku morajo deliti:
    • Širina višina
    • Globina barve
  • Okvirji morajo biti v standardni velikosti videoposnetka, na primer:
    • 640 ✕ 360 (360 p)
    • 853 ✕ 480 (480p)
    • 1280 ✕ 720 (720p)
    • 1920 ✕ 1080 (1080p)
    • 4096 ✕ 2306 (4K)
  • Raje okvirje v PNG in ne v JPG
  • Izogibajte se preglednosti ali alfa v formatu PNG

Ukaz bo nato potreboval nekaj časa za pretvorbo videoposnetka, optimizacijo njegove zmogljivosti in naredil datoteko MP4 z imenom Penguins.mp4.

Zdaj boste morda želeli imeti statično sliko, ki ostane več kot 33 milisekund. V tem primeru je vaš videoposnetek bolj diaprojekcija in to ni ista zadeva. Če želite to narediti, lahko najprej vložite počasnejšo hitrost sličic in nato ukazite ffmpeg, da podvoji okvirje v izhodu. Ne, YouTube in Vimeo ne bosta zares cenila 0,5 FPS videoposnetka, tudi če svojo sliko spreminjate vsaki 2 sekundi.

Raje naredimo to:

$ffmpeg-r: v1/5 -jaz 'Pingvini - %05d.png'-r: v30-codec: v libx264-prednastavljenozelo počasno
-pix_fmt yuv420p-crf 28 -an 'Penguins.mp4'

No pa gremo! ffmpeg bo vsako vašo sliko prikazal 5 sekund, vendar v videoposnetku s 30 FPS. Ne skrbite za opozorilo o podvojenih okvirjih: to je tisto, kar želite.

Zaključek

Zdaj ste - novi Spielberg - lahko ustvarite svoje videoposnetke. Z urejevalnikom slik, kot je GIMP, lahko naredite preprosto diaprojekcijo ali pripravite video posnetek, lahko pa tudi izkoristite velik nabor učinkov in kodekov, ki jih najdete v ffmpeg.

Vzemite si čas za eksperimentiranje sami - navsezadnje si umetnik - in ustvarite videoposnetek, ki bo imel milijone ogledov v YouTubu!