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.