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 ffmpegPo zakończeniu instalacji możesz zacząć.
Stosowanie
Korzystanie z FFMPEG może być tak proste, jak następuje:
ffmpeg -i input.video output.videoAby 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.wmvPowyż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.



