Wyszukiwanie w witrynie

Jak zmniejszyć rozmiar pliku wideo za pomocą FFMPEG z terminala Linux


Zapisywanie filmów na dyskach osobistych, usługach w chmurze lub dyskach może okazać się trudne, gdy przestrzeń jest ograniczona. Zmniejszanie rozmiarów plików ułatwia przechowywanie większych plików i powiększanie kolekcji, ale niektóre sposoby na osiągnięcie tego są bardziej skuteczne niż inne.

Na arenie obsługi wideo dostępnych jest wiele narzędzi do wyboru, które umożliwiają optymalizację rozmiaru plików. Jednak wiele z nich -, w tym VLC, Cinelerra i Blender - ma to samo silnik pod interfejsem użytkownika — narzędzie wiersza poleceń o nazwie FFMPEG. Tutaj pokażemy, jak zmniejszyć rozmiar plików wideo za pomocą FFMPEG z terminala Linux.

Przeczytaj także: Przydatne polecenia FFMPEG do zarządzania plikami audio i wideo

Co to jest FFMPEG?

FFMPEG to prawdopodobnie najbardziej wszechstronne narzędzie do obsługi multimediów uruchamiane z wiersza poleceń w ekosystemie oprogramowania Linux. Wśród szerokiej gamy funkcji narzędzie to może obsługiwać tworzenie plików GIF, wycinanie/edycję filmów, a także nagrywanie.

Co najważniejsze, FFMPEG może konwertować wideo na zaskakująco szczegółowym poziomie, pozwalając na utrzymanie jakości w dużym stopniu, przy jednoczesnym zmniejszeniu rozmiaru plików o połowę (lub nawet w skrajnych przypadkach nawet o ćwiartki).

Instalacja

Instalacja FFMPEG w Ubuntu jest dość prosta i można to zrobić za pomocą następującego polecenia:

sudo apt install ffmpeg

Po zakończeniu instalacji możesz zacząć.

Stosowanie

Korzystanie z FFMPEG może być tak proste, jak następuje:

ffmpeg -i input.video output.video

Aby jednak naprawdę optymalnie zmniejszyć rozmiar plików wideo, musimy wziąć pod uwagę pewne atrybuty rozszerzenia.

Równanie optymalizacji

Jeśli chodzi o pliki wideo, nie wszystkie typy są tworzone jednakowo. Na przykład rozszerzenia plików avi są zwykle znacznie większe niż pliki mp4.

Sprowadza się to do logiki wbudowanej w zamierzone środowisko kontenera, ale nawet to można zmodyfikować, wybierając odpowiedni kodek do kodowania pliku, preferując jakość w przypadku większych rozmiarów lub przenośność w przypadku mniejszych.

Wniosek jest taki, że najmniejszy plik mp4 określonego filmu będzie zawsze mniejszy niż najmniejszy plik avi tego samego filmu, ale nawet w przypadku obu tych typów plików występują różnice w rozmiarze i jakości.

Co ciekawe, pliki mp4 nie są najniższymi plikami, jakie można uzyskać w pogoni za idealnym, małym rozmiarem pliku. Aktualnymi mistrzami typów plików wideo zachowujących jakość są różne kontenery dostępne dla filmów flash i filmów Windows Media (FLV i WMV). Stanowią one część prostego równania, którego możemy użyć do uzyskania bardzo małych, ale wysokiej jakości plików wideo:

mały kontener + wydajny kodek + niska liczba klatek na sekundę + niska przepływność=mała/wysoka -jakość pliku wideo

Uwaga: na potrzeby tego artykułu wysoka jakość oznacza minimalną widoczną pikselację lub znaczną utratę koloru. Jeśli naprawdę chcemy zoptymalizować rozmiar pliku, obniżenie jakości jest do pewnego stopnia nieuniknione; jednak to, jak zauważalne jest to, zależy od tego, co optymalizujemy. Szybkość ruchu, różnorodność kolorów i jakość/gęstość dźwięku odgrywają rolę w podejmowaniu decyzji, jak nisko możemy zejść z naszymi ustawieniami.

W świecie kodeków i kontenerów wideo jest mnóstwo opcji, więc uprościmy sprawę, używając WMV 8. (FFMPEG nie obsługuje jeszcze w pełni WMV 9).

Optymalizacja wideo

Kiedy uruchomimy FFMPEG, przekonwertuje on nasze wejściowe wideo na typ pliku określony przez nas za pomocą parametrów ustawionych za pomocą specjalnych flag. Oto nasz kod:

ffmpeg -i input.mp4 -b 1000k -vcodec wmv2 -acodec wmav2 -crf 19 -filter:v fps=fps=24  output.wmv

Powyższy kod konwertuje nasz plik wejściowy do pliku o szybkości transmisji 1Mbps, liczbie klatek na sekundę 24fps, stałym współczynniku szybkości 19 i rozszerzeniu .wmv. Zmień plik „input.mp4” zgodnie ze swoimi potrzebami i dostosuj wartość -crf na wyższą liczbę, aby uzyskać mniejszy rozmiar pliku (ze stopniowo obniżającą się jakością).

FFMPEG jest wystarczająco potężny, aby osiągnąć znacznie więcej, niż tu poruszono. Jego kompletny zestaw funkcji robi wrażenie i oferuje znacznie więcej niż tylko konwersje wideo. Więcej informacji znajdziesz na oficjalnej stronie projektu.

Powiązane artykuły