Prawie każdy, kto zajmuje się filmami, mógł już wcześniej słyszeć o FFmpeg. Dla tych, którzy nie są zaznajomieni, FFmpeg to darmowy program o otwartym kodzie źródłowym, który może konwertować dowolny format wideo na inny i zmieniać jego kodeki.
FFmpeg obsługuje prawie wszystkie kodeki audio/wideo (H.264, H.265, VP8, VP9, AAC, OPUS i inne), plik formaty (MP4, FLV, MKV, TS, WEBM, MP3 itp.), a nawet protokoły strumieniowe (HTTP, RTMP, RTSP, HLS, itp.).
Oto, jak zainstalować i używać FFmpeg do przetwarzania plików audio i wideo w systemie Linux.
Instalacja FFmpeg w systemie Linux
FFmpeg to darmowe narzędzie o otwartym kodzie źródłowym dostępne w domyślnych repozytoriach prawie każdej głównej dystrybucji Linuksa. Możesz także pobierz jego kod źródłowy za darmo, jeśli chcesz sam go skompilować.
# Debian
sudo apt zainstalować ffmpeg# Fedora
sudo dnf zainstalować https://download1.rpmfusion.org/free/fedora/rpmfusion-free-wydanie-$(rpm -E %fedora).noarch.rpm
sudo dnf -y zainstalować ffmpeg# RHEL/CentOS
mniam zainstalować ffmpeg ffmpeg-devel
# Arch Linux
pacman -S ffmpeg
Jeśli wszystko pójdzie dobrze podczas instalacji, powinieneś być w stanie zobaczyć wersję FFmpeg podczas korzystania z -wersja argument.
ffmpeg -wersja
Uzyskiwanie informacji o wideo za pomocą FFmpeg
Możliwe jest wyświetlenie informacji o filmie, który chcesz edytować za pomocą FFmpeg za pomocą -i flaga:
ffmpeg-iprzykład-wideo.mp4-ukryj_baner
Tutaj -ukryj_baner zadaniem parametru jest ukrywanie zbędnych informacji. Możesz usunąć ten parametr i zobaczyć różnicę w danych wyjściowych.
Jak widać, można uzyskać wiele informacji takie jak typ kodeka wideo, datę utworzenia, metadane i strukturę kodera przykładowego wideo.
Konwertowanie plików wideo lub audio do innego formatu
Jedną z najbardziej przydatnych funkcji FFmpeg jest to, że może konwertować wideo lub audio na inny format. Możesz to zrobić za pomocą prostych jednolinijek.
MOV do MP4 z FFmpeg
Możesz przekonwertować plik wideo w formacie MOV na MP4 za pomocą FFmpeg za pomocą poniższego polecenia:
ffmpeg-iwejście-mov-wideo.movwyjście wideo.mp4
Najpierw użyj -i parametr, który oznacza wejście wideo. Następnie wprowadź plik, który chcesz przekonwertować. Na koniec wprowadź format, na który chcesz go przekonwertować. Możesz nadać swojemu wynikowi dowolną nazwę.
Gdy FFmpeg jest uruchomiony, pokaże zmiany, które wprowadził na ekranie poleceń. Twój plik wyjściowy zostanie zapisany w bieżącym katalogu roboczym.
WAV do MP3 z FFmpeg
Podobnie jak w przypadku filmów, możesz wykonać te same konwersje dla plików audio. Na przykład możesz przekonwertować plik audio WAV na MP3 w następujący sposób:
ffmpeg-iprzykład-wav.wav-vn-ar 48000 -ac 2 -b:a 256 wyjście.mp3
To polecenie ma więcej parametrów niż metoda konwersji wideo, ale nie są one trudne do zrozumienia. Aby to wyjaśnić:
- -vn: Czasami pliki audio, których słuchasz, zawierają zdjęcia. Te obrazy zwykle pochodzą z filmów. Jeśli nie chcesz takich obrazów na wyjściu, możesz użyć tego parametru.
- -ar: Ten parametr umożliwia ustawienie częstotliwości audio pliku audio, który chcesz przekonwertować. Możesz dostosować jakość dźwięku i częstotliwość za pomocą wartości takich jak 8kHz, 44,1kHz lub 48kHz.
- -ac: Być może słyszałeś już terminy mono i stereo. Ten parametr może pomóc w ustawieniu liczby kanałów audio.
- -b: a: Ten parametr umożliwia ustawienie szybkości transmisji dźwięku na sekundę. Im wyższy kilobit, tym wyższa jakość dźwięku.
Operacje audio z FFmpeg
FFmpeg może również oddzielać dźwięk od wideo. W tym celu wystarczy użyć -vn parametr:
ffmpeg-iprzykład-wideo.mp4-vnwyjście.mp3
Jeśli udało Ci się oddzielić dźwięk od wideo, możesz teraz spróbować usunąć dźwięk z filmów. Różnica polega na tym, że -jakiś parametr. Należy pamiętać o tym parametrze, jeśli chcesz wyłączyć dowolny dźwięk w filmie:
ffmpeg-iprzykład-wideo.mp4-jakiśwyjście-mute.mp4
Przetwarzanie rozmiaru wideo za pomocą FFmpeg
Rozmiary filmów mogą być czasami dość irytujące, zwłaszcza gdy chcesz je gdzieś przesłać. Nie musisz już pobierać programów, aby je przyciąć, ponieważ FFmpeg może to zrobić za Ciebie. Jest jednak kilka parametrów, które musisz znać, aby to zrobić:
- -SS: Użyj tego parametru, aby ustawić czas rozpoczęcia klipu
- -do: Pozwala określić czas zakończenia klipu
- -c: Ustaw kodek swojego klipu za pomocą tego parametru
- -t: Użyj tego parametru, aby ustawić czas trwania klipu
Korzystając z tych parametrów, można uzyskać wiele przykładów. Na przykład, jeśli chcesz przyciąć wideo, możesz użyć czegoś takiego:
ffmpeg-iprzykład-wideo.mp4-SS 00:02:25-do 00:03:50-cKopiujwyjście-przycinanie.mp4
Możliwe jest również przycięcie tylko obrazu wewnątrz wideo, a nie całego wideo. W tym celu możesz skorzystać z czegoś takiego:
ffmpeg -i przykład-wideo.mp4 -filtr: v "crop=w: h:x: y" wyjście-crop.mp4
Oto parametry użyte w powyższym poleceniu:
- -filtr: v: Ten parametr określa proces filtrowania, który zastosujesz do wideo
- przyciąć: Ten parametr służy do określenia, że zostanie wykonana operacja obcinania
- w: h: x: y: Jak już można się domyślić, zmienne w, h, x i y oznaczają odpowiednio szerokość, wysokość i położenie pola przycinania
Edycja filmów w systemie Linux za pomocą FFmpeg
Edycja filmów nie kończy się tylko przycinaniem i przycinaniem. Czasami trzeba również zmienić skalę wideo. Następujące polecenie zmieni rozmiar wideo do żądanego rozmiaru:
ffmpeg -i example-video.mp4 -vf scale=1920:1080 output-scale.mp4
- -vf: Ten parametr działa tak samo jak -filtr: v argument widziany powyżej
- skala: Za pomocą tego parametru możesz określić rozmiary skali, które chcesz uzyskać na wyjściu
FFmpeg umożliwia również łączenie wielu filmów. Wyobraź sobie, że masz wiele klipów zakodowanych za pomocą tego samego kodeka. Wprowadź listę filmów, które chcesz scalić w .tekst plik. Następnie uruchom następujące polecenie:
ffmpeg-fconcat-imoja-lista-wideo.tekst-cKopiujsuma-wyjście.mp4
The concat parametr tutaj łączy twoje pliki. Możliwe jest również obracanie filmów za pomocą FFmpeg:
ffmpeg -i przykład-wideo.mp4 -vf "transpozycja=2" wyjście-obrót.mp4
- transpozycja=0: Odwróć w pionie (domyślnie)
- transpozycja=1: Obróć o 90 stopni zgodnie z ruchem wskazówek zegara
- transpozycja=2: Obróć o 90 stopni w kierunku przeciwnym do ruchu wskazówek zegara
- transpozycja=3: Odwróć w pionie
Aby obrócić wideo o 180 stopni zgodnie z ruchem wskazówek zegara, musisz dwukrotnie określić parametr transpozycji:
ffmpeg -i przykład-wideo.mp4 -vf "transpozycja=2,transpozycja=2" wyjście-obrót.mp4
Operacje FPS i GOP
Jak wiesz, FPS oznacza klatki na sekundę. GOP (grupa obrazów) to odległość między dwiema klatkami kluczowymi. FFmpeg jest również przydatny do zmiany niektórych parametrów, w tym FPS i GOP. Jeśli użyjesz poniższego polecenia, FFmpeg zmieni oryginalny FPS na ustawioną wartość:
ffmpeg -i przykład-wideo.mp4 -vf "fps=60" wyjście-fps.mp4
W przypadku GOP możesz użyć -g i ustaw jego wartość na dowolną wartość. Pamiętaj, że wymuszanie zbyt dużej liczby klatek kluczowych może być szkodliwe dla algorytmów przekazywania naprzód niektórych koderów.
ffmpeg-iprzykład-wideo.mp4-g 200 wyjście-gop.mp4
Twórz animowane pliki GIF za pomocą FFmpeg
FFmpeg jest również idealny do konwertowanie wideo na animowane pliki GIF. W tym celu możesz użyć prostego polecenia konwersji:
ffmpeg-iprzykład-wideo.mp4wyjście-gif.gif
Ale czasami możesz chcieć dostosować GIF. Aby to osiągnąć, możesz użyć różnych parametrów omówionych powyżej:
ffmpeg -ss 00:01:15 -i example-video.mp4 -to 10 -r 10 -vf scale=250:-1 output-gif.gif
The -r parametr tutaj oznacza liczbę klatek na sekundę. Jak widać, wiele różnych dostosowań jest możliwych w jednym poleceniu wiersza.
Wyodrębnianie klatek z wideo za pomocą FFmpeg
Oprócz konwersji jednego lub wielu obrazów na wideo, możesz także wyodrębnić klatki z wideo. Następujące polecenie wyodrębni jedną klatkę co sekundę z wejściowego wideo. Ponadto te wyodrębnione obrazy będą miały dwucyfrowe nazwy, takie jak 01.jpeg, 02.jpegitp. Jeśli chcesz, możesz również dodać inne parametry, których się nauczyłeś.
ffmpeg-iprzykład-wideo.mp4-r 1 obraz-%02d.jpeg
Do wyodrębnionych obrazów można również użyć innych formatów, takich jak PNG i BMP.
Dlaczego powinieneś używać FFmpeg w systemie Linux?
Jak widać, FFmpeg jest bardzo korzystny pod wieloma względami. Nie musisz mieć do tego żadnej wiedzy technicznej ani profesjonalnego doświadczenia w Linuksie. Za pomocą kilku parametrów można wykonywać różne funkcje przetwarzania multimediów. Jeśli zamierzasz wprowadzać edycje, które nie są bardzo długie, nie potrzebujesz drogich programów komputerowych i członkostwa premium online. Co więcej, FFmpeg działa bardzo dobrze nawet na urządzeniach z niższej półki.
Również cechy FFmpeg nie ograniczają się do powyższych. Kiedy czytasz dokumentację i instrukcję obsługi, możesz zobaczyć, jak potężne jest to oprogramowanie. Nawet przy użyciu --Wsparcie parametr i facet polecenie, możesz uzyskać bardziej szczegółowe informacje o używaniu FFmpeg. Istnieją również inne świetne konwertery dla Linuksa, które mogą rywalizować z FFmpeg.