Przydatne polecenia FFmpeg do pracy z plikami audio i wideo

Opublikowany: 2022-02-26

FFmpeg to niezwykle potężne i wszechstronne narzędzie wiersza poleceń do konwersji plików audio i wideo. Jest bezpłatny i dostępny dla komputerów z systemem Windows, Mac i Linux. Niezależnie od tego, czy chcesz dołączyć do dwóch plików wideo, wyodrębnić komponent audio z pliku wideo, przekonwertować wideo na animowany GIF, FFmpeg może zrobić to wszystko, a nawet więcej.

Wyodrębnij dźwięk z pliku wideo za pomocą tego prostego polecenia FFmpeg. Wyodrębnij dźwięk z pliku wideo za pomocą tego prostego polecenia FFmpeg.

Przydatne polecenia FFmpeg

FFmpeg obsługuje wszystkie popularne formaty audio i wideo. Możesz też uruchomić polecenie ./ffmpeg -formats , aby uzyskać listę wszystkich formatów obsługiwanych przez twoją instalację FFmpeg. Jeśli dopiero zaczynasz, oto kilka poleceń, które dadzą ci dobre pojęcie o możliwościach tego narzędzia.

1. Wytnij plik wideo na mniejszy klip

Możesz użyć parametru przesunięcia czasu (-ss), aby określić znacznik czasu rozpoczęcia w formacie GG:MM:SS.ms, podczas gdy parametr -t służy do określenia rzeczywistego czasu trwania klipu w sekundach.

ffmpeg -i input.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4

2. Podziel wideo na wiele części

Jeśli chcesz podzielić duży film na wiele mniejszych klipów bez ponownego kodowania, może pomóc ffmpeg. To polecenie podzieli źródłowe wideo na 2 części - jedną kończącą się 50s od początku, a drugą rozpoczynającą się 50s i kończącą się na końcu wejściowego wideo.

ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4

3. Konwertuj wideo z jednego formatu na inny

Możesz użyć parametru -vcodec , aby określić format kodowania, który ma być używany dla wyjściowego wideo. Kodowanie wideo zajmuje trochę czasu, ale możesz przyspieszyć ten proces, wymuszając ustawienie wstępne, które obniżyłoby jakość wyjściowego wideo.

ffmpeg -i youtube.flv -c:v libx264 filename.mp4

ffmpeg -i video.wmv -c:v libx264 -preset ultrafast video.mp4

4. Dołącz (konkatenuj) pliki wideo

Jeśli masz wiele plików audio lub wideo zakodowanych za pomocą tych samych kodeków, możesz połączyć je w jeden plik za pomocą FFmpeg. Utwórz plik wejściowy z listą wszystkich plików źródłowych, które chcesz połączyć, a następnie uruchom to polecenie.

ffmpeg -f concat -i file-list.txt -c copy output.mp4

5. Wycisz wideo (usuń komponent audio)

Użyj parametru -an , aby wyłączyć część audio strumienia wideo.

ffmpeg -i video.mp4 -an mute-video.mp4

6. Wyodrębnij dźwięk z wideo

Przełącznik -vn wyodrębnia część audio z wideo, a my używamy przełącznika -ab, aby zapisać dźwięk jako plik audio MP3 256 kb/s.

ffmpeg -i video.mp4 -vn -ab 256 audio.mp3

7. Konwertuj wideo na animowany GIF

FFmpeg to doskonałe narzędzie do konwersji filmów na animowane pliki GIF, a jakość też nie jest zła. Użyj filtra skali, aby określić szerokość pliku GIF, parametr -t określa czas trwania, podczas gdy -r określa szybkość klatek (fps).

ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif

8. Wyodrębnij klatki obrazu z wideo

To polecenie wyodrębni klatkę wideo przy znaku 15s i zapisze ją jako obraz JPEG o szerokości 800 pikseli. Możesz także użyć przełącznika -s (takiego jak -s 400x300), aby określić dokładne wymiary pliku obrazu, chociaż prawdopodobnie utworzy on rozciągnięty obraz, jeśli rozmiar obrazu nie będzie zgodny z proporcjami oryginalnego pliku wideo.

ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg

9. Konwertuj wideo na obrazy

Możesz użyć FFmpeg, aby automatycznie wyodrębnić klatki obrazu z wideo co 'n' sekund, a obrazy są zapisywane w sekwencji. To polecenie zapisuje klatki obrazu z wideo co 4 sekundy.

ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png

10. Scal plik audio i wideo

Możesz także określić przełącznik -shortest , aby zakończyć kodowanie po zakończeniu najkrótszego klipu.

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental output.mp4

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental -shortest output.mp4

11. Zmień rozmiar wideo

Użyj przełącznika rozmiaru (-s) z ffmpeg, aby zmienić rozmiar wideo, zachowując proporcje.

ffmpeg -i input.mp4 -s 480x320 -c:a copy output.mp4

12. Utwórz pokaz slajdów wideo z obrazów

To polecenie tworzy pokaz slajdów wideo przy użyciu serii obrazów o nazwach img001.png, img002.png itp. Każdy obraz będzie trwał 5 sekund (-r 1/5).

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4

13. Dodaj obraz plakatu do audio

Możesz dodać obraz okładki do pliku audio, a długość wyjściowego wideo będzie taka sama, jak wejściowego strumienia audio. Może się to przydać przy przesyłaniu plików MP3 do YouTube.

ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

14. Konwertuj pojedynczy obraz na wideo

Użyj parametru -t, aby określić czas trwania wideo.

ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4

15. Dodaj napisy do filmu

Spowoduje to pobranie napisów z pliku .srt. FFmpeg może dekodować wszystkie popularne formaty napisów.

ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv

16. Przytnij plik audio

Spowoduje to utworzenie 30-sekundowego pliku audio, zaczynając od 90 sekund z oryginalnego pliku audio bez transkodowania.

ffmpeg -ss 00:01:30 -t 30 -acodec copy -i inputfile.mp3 outputfile.mp3

17. Zmień głośność dźwięku

Możesz użyć filtra głośności, aby zmienić głośność pliku multimedialnego za pomocą FFmpeg. To polecenie zmniejszy o połowę głośność pliku audio.

ffmpeg -i input.wav -af 'volume=0.5' output.wav

18. Obróć wideo

To polecenie obróci klip wideo o 90° zgodnie z ruchem wskazówek zegara. Możesz ustawić transpozycję na 2, aby obrócić wideo o 90° w kierunku przeciwnym do ruchu wskazówek zegara.

ffmpeg -i input.mp4 -filter:v 'transpose=1' rotated-video.mp4

Obróci to wideo o 180° w kierunku przeciwnym do ruchu wskazówek zegara.

ffmpeg -i input.mp4 -filter:v 'transpose=2,transpose=2' rotated-video.mp4

19. Przyspiesz lub zwolnij wideo

Możesz zmienić prędkość wideo za pomocą setpts (ustaw znacznik czasu prezentacji) FFmpeg. To polecenie przyspieszy wideo 8x (1/8) lub użyje setpts=4*PTS , aby wideo było 4x wolniejsze.

ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4

20. Przyspiesz lub zwolnij dźwięk

Aby zmienić prędkość dźwięku, użyj filtra audio atempo . To polecenie podwoi prędkość dźwięku. Możesz użyć dowolnej wartości z zakresu od 0,5 do 2,0 dla dźwięku.

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

Stack Exchange ma dobry przegląd, aby zacząć korzystać z FFmpeg. Powinieneś również sprawdzić oficjalną dokumentację na ffmpeg.org lub wiki na trac.ffmpeg.org, aby dowiedzieć się o wszystkich możliwych rzeczach, które możesz zrobić z FFmpeg.

Zobacz także: Podstawowe polecenia systemu Linux