i den här guiden kommer jag att förklara hur man använder FFmpeg multimedia framework för att göra olika ljud -, videokodnings-och konverteringsoperationer med exempel. Jag har sammanställt mest vanliga och ofta använda 20+ FFmpeg-kommandon för nybörjare. Jag kommer att fortsätta uppdatera den här guiden genom att lägga till fler exempel då och då. Bokmärk den här guiden och kom tillbaka om ett tag för att leta efter uppdateringarna. Låt oss komma igång, ska vi? Om du inte har installerat FFmpeg i ditt Linux-system ännu, se följande guide.
- installera FFmpeg i Linux
den typiska syntaxen för kommandot FFmpeg är:
ffmpeg { -i input_url} ... { output_url} ...
Vi kommer nu att se några viktiga och användbara FFmpeg-kommandon.
- 1. Få audio / video filinformation
- 2. Konvertera videofiler till olika format
- 3. Konvertera videofiler till ljudfiler
- 4. Ändra volymen på ljudfiler
- 5. Ändra upplösning av videofiler
- 6. Komprimera videofiler
- 7. Komprimera ljudfiler
- 8. Ta bort ljudström från en videofil
- 9. Ta bort videoström från en mediefil
- 10. Extrahera bilder från videon
- 11. Beskära videor
- 12. Konvertera en viss del av en video
- 13. Ställ in bildförhållandet till video
- 14. Lägga till affischbild i ljudfiler
- 15. Trimma en mediefil med start-och stopptider
- 16. Dela ljud – / videofiler i flera delar
- 17. Att gå med eller slå samman flera ljud – /videodelar till en
- 18. Lägg till undertexter i en videofil
- 19. Förhandsgranska eller testa video-eller ljudfiler
- 20. Öka / minska videouppspelningshastigheten
- 21. Öka / minska Ljuduppspelningshastigheten
- 22. Skapa animerade GIF
- 23. Skapa videor från PDF-filer
- 24. Rotera videor
- 25. Konvertera videor till WhatsApp videoformat
- 26. Få hjälp
- Hjälp oss att hjälpa dig:
1. Få audio / video filinformation
för att visa information om en mediefil, kör:
$ ffmpeg -i video.mp4
Sample output:
som du ser i ovanstående utgång, FFmpeg visar media filinformation tillsammans med FFmpeg detaljer såsom version, konfigurationsdetaljer, copyright meddelande, bygga och bibliotek alternativ etc.
Om du inte vill se FFmpeg-bannern och andra detaljer, men bara mediefilinformationen, använd-hide_banner flagga som nedan.
$ ffmpeg -i video.mp4 -hide_banner
Provutgång:
visa ljud, videofilinformation med FFMpeg
se? Nu visar den bara mediefilen detaljer.
föreslagen läsning:
- visa mediefiler Information om Linux med MediaInfo
2. Konvertera videofiler till olika format
eftersom FFmpeg är en funktionsrik och kraftfull ljud-och videokonverterare, så det är möjligt att konvertera mediefiler mellan olika format. Säg till exempel att konvertera MP4-fil till avi-fil, kör:
$ ffmpeg -i video.mp4 video.avi
På samma sätt kan du konvertera mediefiler till valfritt format.
till exempel, för att konvertera youtube flv-format till MPEG-format, kör:
$ ffmpeg -i video.flv video.mpeg
om du vill bevara kvaliteten på din källvideofil, använd parametern ’-qscale 0’ :
$ ffmpeg -i input.webm -qscale 0 output.mp4
för att kontrollera listan över format som stöds av FFmpeg, kör:
$ ffmpeg -formats
3. Konvertera videofiler till ljudfiler
för att konvertera en videofil till ljudfil, ange bara utdataformatet som .mp3 eller .ogg, eller andra ljudformat.
ovanstående kommando konverterar input. mp4 – videofil till output.MP3-ljudfil.
$ ffmpeg -i input.mp4 -vn output.mp3
Dessutom kan du använda olika ljud omkodning alternativ till utdatafilen som visas nedan.
$ ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 320 -f mp3 output.mp3
Här,
- -vn – indikerar att vi har inaktiverat videoinspelning i utdatafilen.
- – ar-Ställ in ljudfrekvensen för utdatafilen. De vanliga värdena som används är 22050, 44100, 48000 Hz.
- -ac-Ställ in antalet ljudkanaler.
- – ab-anger ljudbithastigheten.
- – f-utdatafilformat. I vårt fall är det mp3-format.
ovanstående kommando visar ett varningsmeddelande som nedan.
Bitrate 320 is extremely low, maybe you mean 320kThe bitrate parameter is set too low. It takes bits/s as argument, not kbits/s
detta beror på att vi har gett 320 bitar/sekund som bithastighet som är mycket låg. Detta skapar en mindre utdatafil. För bästa kvalitet, använd bitrate-värde som 320k istället för bara 320.
4. Ändra volymen på ljudfiler
FFmpeg tillåter oss att ändra volymen på en ljudfil med alternativet ”volymfilter”.
till exempel kommer följande kommando att minska volymen med hälften.
$ ffmpeg -i input.mp3 -af 'volume=0.5' output.mp3
På samma sätt kan vi öka volymen som nedan:
$ ffmpeg -i input.mp3 -af 'volume=1.5' output.mp3
5. Ändra upplösning av videofiler
Om du vill ställa in en viss upplösning till en videofil kan du använda följande kommando:
$ ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4
eller,
$ ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4
ovanstående kommando ställer in upplösningen för den givna videofilen till 1280×720.
på samma sätt, för att konvertera ovanstående fil till 640×480 storlek, kör:
$ ffmpeg -i input.mp4 -filter:v scale=640:480 -c:a copy output.mp4
eller,
$ ffmpeg -i input.mp4 -s 640x480 -c:a copy output.mp4
detta trick hjälper dig att skala dina videofiler till mindre visningsenheter som surfplattor och mobiler.
6. Komprimera videofiler
det är alltid bra att minska storleken på mediefiler till lägre storlek för att spara hårddiskens utrymme.
följande kommando komprimerar och minskar utdatafilens storlek.
$ ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4
Observera att du kommer att förlora kvaliteten om du försöker minska videofilstorleken. Du kan sänka det crf-värdet till 23 eller lägre om 24 är för aggressiv.
Du kan också koda ljudet ner lite och göra det stereo för att minska storleken genom att inkludera följande alternativ.
-ac 2 -c:a aac -strict -2 -b:a 128k
7. Komprimera ljudfiler
precis som att komprimera videofiler kan du också komprimera ljudfiler med-ab flag för att spara lite diskutrymme.
Låt oss säga att du har en ljudfil på 320 kbps bitrate. Du vill komprimera den genom att ändra bithastigheten till något lägre värde som nedan.
$ ffmpeg -i input.mp3 -ab 128 output.mp3
listan över olika tillgängliga ljudbithastigheter är:
- 96kbps
- 112kbps
- 128kbps
- 160kbps
- 192kbps
- 256kbps
- 320kbps
8. Ta bort ljudström från en videofil
om du inte vill ha ljud från en videofil, Använd-en flagga.
$ ffmpeg -i input.mp4 -an output.mp4
Här anger ’an’ ingen ljudinspelning. Med andra ord kommer det här alternativet att stänga av ljudet.
ovanstående kommando kommer att ångra alla ljudrelaterade flaggor.
9. Ta bort videoström från en mediefil
på samma sätt, om du inte vill ha videoström, kan du enkelt ta bort den från mediefilen med hjälp av ’vn’ – flaggan. vn står för no video recording. Med andra ord konverterar detta kommando den givna mediefilen till ljudfil.
följande kommando tar bort videon från den angivna mediefilen.
$ ffmpeg -i input.mp4 -vn output.mp3
Du kan också nämna utdatafilens bithastighet med ’-ab’ – flaggan som visas i följande exempel.
$ ffmpeg -i input.mp4 -vn -ab 320 output.mp3
10. Extrahera bilder från videon
en annan användbar funktion i FFmpeg är att vi enkelt kan extrahera bilder från en videofil. Detta kan vara mycket användbart om du vill skapa ett fotoalbum från en videofil.
för att extrahera bilder från en videofil, Använd följande kommando:
$ ffmpeg -i input.mp4 -r 1 -f image2 image-%2d.png
Här,
11. Beskära videor
FFMpeg gör det möjligt att beskära en viss mediefil i någon dimension av vårt val.
syntaxen för att beskära en vide ofile ges nedan:
ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4
Här,
- input.mp4 – källa videofil.
- -filter: v-indikerar videofiltret.
- Beskär-indikerar grödfilter.
- w – bredden på rektangeln som vi vill beskära från källvideon.
- h-rektangelns höjd.
- x – x-koordinat för rektangeln som vi vill beskära från källvideon.
- y – y-koordinat för rektangeln.
låt oss säga att du vill ha en video med en bredd på 640 pixlar och en höjd av 480 pixlar, från positionen (200,150), skulle kommandot vara:
$ ffmpeg -i input.mp4 -filter:v "crop=640:480:200:150" output.mp4
Observera att beskärning av videor kommer att påverka kvaliteten. Gör inte detta om det inte är nödvändigt.
12. Konvertera en viss del av en video
Ibland kanske du bara vill konvertera en viss del (varaktighet) av videofilen till ett annat format. Säg till exempel att följande kommando konverterar de första 10 sekunderna av given video.mp4-fil till video.AVI-format.
$ ffmpeg -i input.mp4 -t 10 output.avi
Här anger vi tiden i sekunder. Det är också möjligt att ange tiden i HH.mm.ss-format.
13. Ställ in bildförhållandet till video
Du kan ställa in aspektrationen till en videofil med hjälp av-aspect-flaggan som nedan.
$ ffmpeg -i input.mp4 -aspect 16:9 output.mp4
de vanliga bildförhållandena är:
- 16:9
- 4:3
- 16:10
- 5:4
- 2:21:1
- 2:35:1
- 2:39:1
14. Lägga till affischbild i ljudfiler
Du kan lägga till affischbilderna i dina filer så att bilderna visas när du spelar upp ljudfilerna. Detta kan vara användbart för att vara värd för ljudfiler i video värd eller dela webbplatser.
$ ffmpeg -loop 1 -i inputimage.jpg -i inputaudio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
15. Trimma en mediefil med start-och stopptider
för att trimma ner en video till mindre klipp med start-och stopptider kan vi använda följande kommando.
$ ffmpeg -i input.mp4 -ss 00:00:50 -codec copy -t 50 output.mp4
Här,
- –s – Anger starttiden för videoklippet. I vårt exempel är starttiden den 50: e sekunden.
- – t-anger den totala tidslängden.
detta är till stor hjälp när du vill klippa en del från en ljud-eller videofil med start-och sluttid.
På samma sätt kan vi trimma ner ljudfilen som nedan.
$ ffmpeg -i audio.mp3 -ss 00:01:54 -to 00:06:53 -c copy output.mp3
16. Dela ljud – / videofiler i flera delar
vissa webbplatser låter dig bara ladda upp en viss videostorlek. Till exempel tillåter Whatsapp bara 15 sekunder Videor att ställa in som Statusmeddelande för användare i Indien. I sådana fall kan du dela upp de stora videofilerna i flera mindre delar som nedan.
$ ffmpeg -i input.mp4 -t 00:00:30 -c copy part1.mp4 -ss 00:00:30 -codec copy part2.mp4
Här, -t 00:00:30 indikerar en del som skapas från början av videon till den 30: e sekunden av videon. – ss 00: 00: 30 visar starttidsstämpeln för nästa del av videon. Det betyder att den 2: a delen börjar från den 30: e sekunden och fortsätter fram till slutet av den ursprungliga videofilen.
17. Att gå med eller slå samman flera ljud – /videodelar till en
FFmpeg kommer också att gå med i flera videodelar och skapa en enda videofil.
Skapa gå med.txt-fil som innehåller de exakta sökvägarna för de filer som du vill ansluta till. Alla filer ska ha samma format (samma codec). Sökvägen till alla filer bör nämnas en efter en som nedan.
gå nu med i alla filer med kommandot:
$ ffmpeg -f concat -i join.txt -c copy output.mp4
om du får ett fel något som nedan;
Unsafe file name '/path/to/mp4'join.txt: Operation not permitted
Lägg till ”-safe 0”:
$ ffmpeg -f concat -safe 0 -i join.txt -c copy output.mp4
ovanstående kommando kommer att gå med i part1.mp4, part2.mp4, part3.MP4 och part4.MP4-filer till en enda fil som heter ”output.MP4”.
Alternativt kan du använda följande one-liner-kommando för att gå med i alla filer i en katalog. Gå till katalogen där du har filer och kör följande kommando för att gå med i filerna audio1.mp3, audio2,mp3 och audio3.mp3 till output.mp3.
$ ffmpeg -i "concat:audio1.mp3|audio2.mp3|audio3.mp3" -c copy output.mp3
18. Lägg till undertexter i en videofil
Vi kan också lägga till undertexter i en videofil med FFmpeg. Ladda ner rätt undertext för din video och Lägg till den din video som visas nedan.
$ fmpeg -i input.mp4 -i subtitle.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mp4
19. Förhandsgranska eller testa video-eller ljudfiler
Du kanske vill förhandsgranska för att verifiera eller testa om utdatafilen har kodats korrekt eller inte. För att göra det kan du spela det från din Terminal med kommandot:
$ ffplay video.mp4
På samma sätt kan du testa ljudfilerna som visas nedan.
$ ffplay audio.mp3
20. Öka / minska videouppspelningshastigheten
FFmpeg låter dig justera videouppspelningshastigheten.
för att öka videouppspelningshastigheten, kör:
$ ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4
kommandot fördubblar videohastigheten.
för att sakta ner din video måste du använda en multiplikator som är större än 1. För att minska uppspelningshastigheten, kör:
$ ffmpeg -i input.mp4 -vf "setpts=4.0*PTS" output.mp4
21. Öka / minska Ljuduppspelningshastigheten
för att öka eller minska hastigheten upp eller ner ljuduppspelning, använd ljudfiltret ”atempo”. Följande kommando kommer att fördubbla ljudets hastighet.
$ ffmpeg -i input.mp4 -filter:a "atempo=2.0" -vn output.mp4
Du kan använda valfritt värde mellan 0,5 och 2,0 för ljud.
22. Skapa animerade GIF
vi använder GIF-bilder på nästan alla sociala och professionella nätverk för olika ändamål. Med FFmpeg kan vi enkelt och snabbt skapa animerade videofiler. Följande guide förklarar hur man skapar en animerad GIF-fil med FFmpeg och ImageMagick i Unix-liknande system.
- hur man skapar Animerad GIF i Linux
föreslagen läsning:
- Gifski-en plattformsoberoende högkvalitativ GIF-kodare
23. Skapa videor från PDF-filer
Jag samlade många PDF-filer, mestadels Linux-tutorials, genom åren och sparade i min Tablet PC. Ibland känner jag mig för lat för att läsa dem från surfplattan. Så, jag bestämde mig för att skapa en video från PDF-filer och titta på den i en stor skärm enheter som en TV eller en dator. Om du någonsin undrat hur man gör en filmfil från en samling PDF-filer, hjälper följande guide.
- hur man skapar en Video från PDF-filer i Linux
24. Rotera videor
om du har videofiler med olika orientering (stående eller liggande) kan du rotera dem enligt beskrivningen i följande guide.
- hur man roterar videor med FFMpeg från kommandoraden
25. Konvertera videor till WhatsApp videoformat
WhatsApp stöder inte några videor. Du kan inte dela dem med dina kontakter eller ställa in dem i whatsapp-status. Inga bekymmer! Vi kan enkelt konvertera videor WhatsApp-stödda videoformat med FFmpeg som beskrivs i följande länk.
- konvertera videor till WhatsApp – videoformat med FFmpeg
26. Få hjälp
i den här guiden har jag täckt de vanligaste FFmpeg-kommandona. Det har mycket mer olika alternativ för att göra olika avancerade funktioner. För att lära dig mer om det, se mansidan.
$ man ffmpeg
relaterad läsning:
- Youtube-dl handledning med exempel för nybörjare
och det är allt. Jag hoppas att den här guiden hjälper dig att komma igång med FFmpeg.
Tack för att du kom förbi!
Hjälp oss att hjälpa dig:
- prenumerera på vårt nyhetsbrev : registrera dig nu
- Support OSTechNix : donera via PayPal
- ladda ner gratis E-böcker och videor : OSTechNix på TradePub
- Anslut med oss: Reddit / Facebook / Twitter / LinkedIn /RSS-flöden
ha en bra dag!!