Videoredigering

FFMPEG-bilder till videotutorial

FFMPEG-bilder till videotutorial
Så du är intresserad av att bygga en video baserad på bilder? Linux-program kan också hjälpa dig med den uppgiften, och särskilt en: ffmpeg.

Om du inte redan vet det är ffmpeg en programvara som gör video- och ljudkonvertering och redigering med filter. Det är den som stöder det största antalet olika codecs. Om du redan använt VLC, vet du lite ffmpeg: VLC använder ffmpeg för att avkoda så många videor som möjligt.

Men innan jag gör videor måste jag berätta några begrepp så att du inte går vilse i vägen.

Videokoncept: hur bilder kan fungera i en video

Det är inte riktigt svårt att integrera bilder i en video. Och det finns en anledning: videor är baserade på en serie bilder. Låt mig förklara.

En video (även en YouTube-video) är en serie stillbilder som ändras snabbt. I bio och biografer finns det en svart bild mellan varje bild eftersom mekanismen måste byta ram och var för långsam. Men det märks inte av mänskligt öga eftersom mekanismen är tillräckligt snabb och på grund av en optisk illusion.

Men datorer har inte detta problem. LCD-skärmar visar bara den sista bilden. Hur som helst kan du faktiskt extrahera en oberoende bild från varje bild i en video. När en bild kommer från en video kallas den a ram. Det är precis vad du ser när du pausar en video - och när du gör det ser ansikten i allmänhet inte bra ut!

Generellt innehåller videor från USA a 30 bilder per sekund - inser lite. Det är 1 800 bilder per minut, 54 000 bilder per halvtimme video eller 108 000 bilder per timme. Det är mycket och så undrar du ibland hur en enskild bild kan väga 1 MiB men en minut med 1080p-video kan bara väga 15 MiB.

Antalet bilder per sekund kallas bildfrekvens. Med 30 bilder per sekund ändrar du bilden var för sig 33 millisekunder. Så konkret, om du vill göra en minuts video enbart baserat på dina bilder, måste du ha 1800 JPG- eller PNG-filer per minut.

Det är användbart om du vill göra avancerad videoredigering utan att använda videoverktyg: du behöver bara skapa bilder för varje bildruta med dina effekter och sedan kan du lägga i en video. Men ibland vill du ha en stillbild för att du vill ha en stillbild i video.

Okej, nu är det dags att installera ffmpeg.

Installera ffmpeg på Linux

Beroende på din distribution kan det vara enkelt eller lite att installera ffmpeg knepig. Det är en gratis mjukvara med källkod som är allmänt tillgänglig, men eftersom den kan avkoda eller koda patenterade format som MP4, utesluter vissa distributioner det från sina förråd. Till exempel, i Red Hat Enterprise Linux, CentOS och Fedora behöver du RPMFusion på grund av patent. Dessutom alla Debian-versioner och Ubuntu före 16.04 distribuerar en falsk version av ffmpeg baserat på en olaglig gaffel.

Men innan du skyndar på att installera den, kanske rätt version redan installerad? Låt oss testa:

$ ffmpeg -version
ffmpeg version X.XXXXXXXX Copyright (c) 2000-2018 FFmpeg-utvecklarna

Om du ser “FFmpeg-utvecklarna” efter upphovsrätten har du den ursprungliga versionen av FFMpeg, du behöver inte göra någonting. Men om du ser:

$ ffmpeg -version
ffmpeg version X.XXXXXXXX Copyright (c) 2000-2018 Libav-utvecklarna

Då betyder det att du använder en gaffel av ffmpeg som heter Libav. Debian och äldre versioner av Ubuntu tyst ersätta FFMpeg med Libav. Om den säger att den är föråldrad, ignorera den, det är vilseledande. Om du har gaffeln installerad är det dags att ta bort din version av falsk ffmpeg och följ sedan guiden nedan för att installera rätt version. Förmodligen så här:

$ sudo apt-get ta bort ffmpeg

Så nu kanske du inte har installerat det ännu eller om du har fel version, det är dags att installera det!

I Fedora, Red Hat Enterprise Linux (RHEL) och CentOS, gå till https: // rpmfusion.org / Configuration och aktivera gratis RPMFusion-arkiv på din dator. Om du är i Fedora gör du sedan:

$ sudo dnf installera ffmpeg

Och för CentOS & Red Hat Enterprise Linux, gör:

$ sudo yum installera ffmpeg

Det är allt för Fedora- och Red Hat-baserade system, det är installerat.

I alla versioner av Debian (och alla derivat) och Ubuntu före 16.04, du måste få statisk FFMpeg-byggnad från den officiella webbplatsen. Gå till https: // ffmpeg.org / nedladdning.html # build-linux och under “Statiska Linux-byggnader", Klicka på "32-bitars och 64-bitars för kärna 2.6.32 och högre”. Sedan, under “släpp: X.X.X”, Ladda ner lämpligt arkiv, extrahera det och du kan starta körbara filer som finns i extraherad mapp via CLI.

För de som använder Ubuntu 16.04 och uppåt är det lättare, gör bara:

$ sudo apt-get install ffmpeg

Phew! Slutligen borde vi vara klara! Innan du går vidare, testa en sista gång med:

$ ffmpeg -version

ffmpeg version X.XXXXXXXX Copyright (c) 2000-2018 FFmpeg-utvecklarna

Skapa videor från många bilder

Så för vårt första exempel skapar vi en video från bilder där varje bild representerar en ram som kommer att visas i 33 millisekunder. Låt mig först visa kommandot.

** MP4 och H.264 är patenterade codecs, kontrollera om du har rätt att koda med den. **

$ ffmpeg -r: v 30 -i "Penguins -% 05d.png "-codec: v libx264 -förinställt veryslow
-pix_fmt yuv420p -crf 28 -an "pingviner.mp4 "

OK så hur det fungerar? För att detta kommando ska fungera måste du ha många ramar där varje ram är en fil som Penguins - 00043.png. Detta kommando kombinerar sedan alla ramar i ordning med en hastighet av 30 FPS. Så, pingviner - 00043.png kommer före Penguins - 00044.png i videon och ffmpeg respekterar det. Så om du har 120 bilder kommer din video att vara i 4 sekunder.

Det finns få krav på format, bredd och höjd för att ramar ska fungera. Om du inte följer dessa regler kan ffmpeg ignorera vissa bilder eller avbryta skapandet av video. Så:

Kommandot tar sedan lite tid att konvertera videon, optimera dess prestanda och göra dig till en MP4-fil med namnet Penguins.mp4.

Nu kanske du vill ha en stillbild kvar i mer än 33 millisekunder. I det här fallet är din video mer ett bildspel och det är inte samma sak. För att göra det kan du först ge en långsammare bildruta för inmatningen och sedan be ffmpeg att duplicera ramar i utdata. Nej, YouTube och Vimeo kommer inte riktigt att uppskatta ett 0.5 FPS-video även om du byter bild varannan sekund.

Låt oss hellre göra det:

$ ffmpeg -r: v 1/5 -i "Penguins -% 05d.png "-r: v 30 -codec: v libx264-förinställt veryslow
-pix_fmt yuv420p -crf 28 -an "pingviner.mp4 "

Där går vi! ffmpeg gör att alla dina bilder visas i 5 sekunder men i en 30 FPS-video. Oroa dig inte för varningen för dubbla ramar: det är vad du vill ha.

Slutsats

Nu är du - nya Spielberg - kunna skapa dina egna videor. Du kan göra ett enkelt bildspel eller förbereda en video ram för bild med hjälp av en bildredigerare som GIMP, men du kan också dra nytta av den stora uppsättningen effekter och codec du kan hitta i ffmpeg.

Ta dig tid att experimentera själv - du är trots allt en konstnär - och skapa en video som kommer att göra miljontals visningar på YouTube!

Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...