Jak konwertować filmy za pomocą FFMPEG w Ubuntu

Jak konwertować filmy za pomocą FFMPEG w Ubuntu

We współczesnym świecie, z YouTube i innymi aplikacjami w mediach społecznościowych jako głównym nurtem przeglądania mediów cyfrowych, przesyłanie filmów stało się powszechną praktyką. W rzeczywistości stało się tak powszechne, że tworzenie i edytowanie plików audio i wideo stały się nową normą w ciągu zaledwie kilku dekad. Istnieją oczywiście drogie narzędzia, które można kupić, aby zaspokoić swoje potrzeby, ale co, gdybyśmy mogli to zrobić za darmo? Co jeśli kilka wierszy kodu może wykonać prawie każde wymagane zadanie związane z wideo?

FFMPEG to bezpłatne i narzędzie do konwersji wideo, ekstrakcji i edycji wideo, które zawiera odpowiedź na to pytanie! Czego nie może zrobić FFMPEG? Prawie nic. Zadania, które można wykonać za pomocą FFMPEG, zawierają konwersję plików audio, konwersję plików wideo, konwersję zdjęć, ekstrakcję plików obrazu z plików wideo, generowanie filmów z plików obrazów, wyodrębnienie dźwięku z wideo, przycinanie filmów i zdjęć, ponowne przycinanie filmów, ponowne -Rozmiar filmów, zwiększenie woluminu i tworzenie nagrań ekranowych.

Instalowanie FFMPEG w Ubuntu

FFMPEG domyślnie nie jest wstępnie zainstalowany w Ubuntu, więc najpierw będziesz musiał zainstalować ten program, aby go użyć. Aby zakończyć instalację, musisz być użytkownikiem root. Następnie wpisz następujące, aby zainstalować FFMPEG:

sudo apt-get instaluj ffmpeg

apt-get instalacja Dowództwo będzie działać dla wszystkich wersji Ubuntu, z wyjątkiem 14.04.

Konwersja dźwięku

Konwersja filetypu pliku audio można wykonać w jednym wierszu kodu za pomocą narzędzia FFMPEG. W takim przypadku musisz przekazać tylko dwa parametry: nazwę oryginalnego pliku i nazwę nowego pliku. To polecenie umożliwia konwersję dowolnego formatu pliku na dowolny inny format pliku, automatycznie wykrywając typy plików według nazwy. Jako taki, nie ma potrzeby, aby dodatkowy kod do określenia typów plików.

ffmpeg -i origial_file.MP3 CONWERTED_FILE.MP4

Możesz dodać własne nazwy i typy plików do tego wiersza kodu. To tylko podstawowa składnia do użycia.

Konwersja wideo

Możesz także konwertować typy plików wideo za pomocą FFMPEG. Podczas wprowadzania polecenia wszystko, czego potrzebujesz, to nazwa oryginalnego pliku i nazwa pliku wyjściowego. Znacznik -i oznacza plik wejściowy.

ffmpeg -i oryginał_file.MP4 CONWERTED_FILE.Webm

Konwersja zdjęć

To, co jest prawdą w przypadku plików wideo i audio, dotyczy również plików obrazów. Możesz szybko i łatwo przekonwertować jeden format zdjęcia na inny format za pomocą FFMPEG po prostu za pomocą składni pokazanej poniżej:

ffmpeg -i oryginał_file.JPG CONWERTED_FILE.png

Wyodrębnij obraz z pliku wideo

FFMPEG można również użyć do wyodrębnienia obrazów z plików wideo. Innymi słowy, ten program może robić zrzuty ekranu w precyzyjnym czasie podczas filmu i zapisywać zrzuty ekranu jako zbiór plików obrazów. Na przykład:

FFMPEG -i VIDEO.MP4 Output_file.jpg

W takim przypadku znacznik -i przedstawia plik wideo, z którego zostaną wyodrębnione. Nadal jednak nie podaliśmy programu żadnych specyfikacji co do jakości obrazu lub czasu zrzutu ekranu. Dlatego najpierw konieczne jest określenie tych szczegółów przed wprowadzeniem kodu.

Jeśli napiszemy następujące:

FFMPEG -i VIDEO.MP4 Output_file%d.jpg

Wartość %d po nazwie pliku wyjściowego reprezentuje zmienną, którą można dostosować zgodnie z liczbą klatek na sekundę, którą chcesz wygenerować z wideo. Gdy zdjęcia są generowane w jednej ramce na sekundę, każde zdjęcie będzie oznaczone etykietami_file1.jpg; w dwóch klatkach na sekundę, Output_file2.jpg; przy trzech klatkach na sekundę, Output_file3.jpg; itp. Jeśli film ma 35 klatek na sekundę i ma on jedną sekundę, wówczas nadanie zmiennej %D Wartość 1 wygeneruje 35 zdjęć.

Następnie, co jeśli chcemy uchwycić obrazy w określonej szybkości ramek na sekundę? Wartość FPS definiuje to w składni FFMPEG. Aby uchwycić 1 ramkę na sekundę, ustawić wartość FPS równa 1.

FFMPEG -i VIDEO.MP4 -VF FPS = 1 Output_file%D.jpg

Podobnie, definiując wartość FPS do 1/6000, następujące polecenie wygeneruje 1 obraz na 6000 sekund wideo:

FFMPEG -i VIDEO.MP4 -VF FPS = 1/6000 Output_file%6D.jpg

W powyższym poleceniu termin %6d wygeneruje zmienną z sześcioma cyframi. Pliki wyjściowe będą oznaczone w następujący sposób: Output_file000001.JPG, Output_file000002.JPG itp.

Załóżmy teraz, że nie chcesz uchwycić wszystkich ramek. Zamiast tego chcesz być bardziej selektywny i chcesz uchwycić ustaloną liczbę obrazów między dwiema ramami czasowymi. Następnie składnia wyglądałaby tak mniej więcej tak:

ffmpeg -ss 00:00:01 -t 00:00:04 -i wideo.MP4 Output_file%3D.jpg

Ten kod przechwyci obrazy, zaczynając od 00:00:01, przez 4 sekundy. Innymi słowy, przechwytywanie obrazu rozpocznie się o 00:00:01 i zakończy się o 00:00:05 w filmie. Jak zwykle liczba w nazwie pliku wyjściowego będzie miała trzy cyfry (i.mi., Output_file001.JPG, Output_file002.JPG itp.).

Generuj wideo z plików obrazów

Co jeśli chcesz zrobić coś przeciwnego i połączyć obrazy, aby utworzyć wideo? FFMPEG znów przychodzi na ratunek!

ffmpeg -r 1/5 -i img%03d.png -c: v libx264 -vf fps = 25 -pix_fmt yuv420p wyjście_file.MP4

Po przeczytaniu poprzednich sekcji wiesz, jaki termin img%03.PNG oznacza - pliki obrazów źródłowych, które można skompilować w filmie. W tej składni znacznik -C: v reprezentuje kodek dla wideo, FPS reprezentuje ramki na drugą wartość, a R reprezentuje klamrowanie wideo wyjściowego.

Wyodrębnij dźwięk z wideo

Co z wyodrębnieniem plików audio z pliku wideo? W Internecie istnieją narzędzia, których można użyć do wykonania tego zadania, ale z FFMPEG jedna wiersz kodu może wykonać zadanie tak samo.

FFMPEG -i VIDEO.MP4 -C: a libmp3lame -q: a 0 -mapa a wyjściowa.MP3

W powyższej składni wideo.MP4 to wejściowy plik wideo i plik wyjściowy.MP3 to wyjściowy plik audio. -Mapa znacznika przyjmuje domyślny strumień audio i wyklucza dowolne napisy, c: A określa kodek do użycia dźwięku, a q: A definiuje zmienną transmisję transmisji na dźwięku.

Jeśli chcesz wyodrębnić tylko część pliku audio z pliku wideo, możesz użyć do tego następującej składni. W poniższym kodzie wyodrębnia się tylko sekcja dźwięku od 00:00:08 i 00:00:10:

FFMPEG -i VIDEO.MP4 -SS 00:00:08 -T 00:00:10 -Q: A 0 -C: a libmp3lame -q: a 0 -mapa a wyjściowa.MP3

Oczywiście możesz dodać o wiele więcej szczegółów, jeśli chcesz, ale powyższy przykład jest świetnym punktem wyjścia.

Filmy z uprawami i zdjęcia

Co jeśli chcesz przycinać filmy? Możesz poświęcić czas i pieniądze na znalezienie oprogramowania do uprawy w innym miejscu, albo możesz użyć jednej linii kodu z FFMPEG do przycinania wideo do rozmiaru.

FFMPEG -i VIDEO.MP4 -FILTER: v "crop = w = szerokość: h = wysokość: x: y".MP4

Na przykład:

FFMPEG -i VIDEO.MP4 -FILTER: V "CROP = W = 550: H = 200: x = 100: y = 200".MP4

Jako przykład zrobiłem własne zdjęcie i próbowałem go przyciąć następującym kodem:

FFMPEG -i Photo44.jpg -filter: v "crop = w = 500: h = 200".jpg

Przytnij filmy

Przycinanie plików wideo wymaga odcięcia ich z określonego czasu na inny określony czas. Na przykład wycięcie pliku wideo na dwa lub trzy segmenty by go przycinało. Po raz kolejny przycinanie plików wideo lub audio można łatwo wykonać za pomocą FFMPEG.

FFMPEG -i VIDEO.MP4 -SS 00:00:20 -T 00:00:10 -C: V H264 -C: AAC Output_file.MP4

W takim przypadku znacznik -SS oznacza rozpoczęcie szukania lub czasu na rozpoczęcie procesu przycinania. W powyższym poleceniu zaczniemy cięć lub przycinać o 00:00:20. Tag T oznacza czas trwania klipu. Tutaj czas trwania klipu wyniesie 10 sekund. Wreszcie znacznik C: V dotyczy kodeka używanego wideo, podczas gdy C: A jest dla używanego kodeka audio.

Zmień rozmiar wideo

Zmiany filmów jest tak samo łatwe, jak przycinanie i przycinanie filmów.

FFMPEG -i VIDEO.Skala MP4 -VF = 320: 240 Output_file.MP4

Alternatywnie możesz również wykonać następujące czynności:

FFMPEG -i VIDEO.MP4 -VF Scale = "IW/1: IH/2".MP4

Tutaj wartość IW określa szerokość wejściową, a IH definiuje wysokość wejściową. Ten ostatni również go skaluje.

Wzmocnienie objętości wideo

W tym artykule widziałeś, jak przycinać, przycinać i konwertować pliki wideo i obrazów, ale co z wzmocnieniem woluminu plików audio i wideo?

FFMPEG -i VIDEO.MP3 -Filter: „Tom = 2”.MP3

W tym drugim przypadku pokornie prosimy FFMPEG o podwojenie objętości pliku.

Utwórz nagrywanie ekranu

Nagrywanie ekranu jest zadaniem, które jest często konieczne do wykonywania, niezależnie od tego, czy chodzi o prezentacje, udostępnianie wideo, czy spotkania online. Bez względu na powód nagrywania pulpitu, zazwyczaj musisz uruchomić jakieś oprogramowanie, aby to zrobić. W przeciwieństwie do kosztownych alternatyw, FFMPEG może to zrobić dla Ciebie za darmo!

ffmpeg -f gdigrab -framate 30 -i Desktop -c: v libx264 wyjściowe_file.mp4 -f dshow -i audio = "stereo mix (realTek audio)".MP4

W powyższym poleceniu znacznik -f reprezentuje format nagrywania wideo ekranu. Zgodnie z wartością dźwięku umieścisz swoje źródło dźwięku.

Ponadto następujący kod pobije tylko wideo nagrania ekranu, bez dodania dźwięku:

FFMPEG -F GDIGRAB -FRAMERED 30 -I DSKTOP -C: V Libx264 -Qp 0 wyjście.MP4

Wniosek

Ogólnie rzecz biorąc, FFMPEG to niezwykle przydatny program, który pozwala osiągnąć sporo rzeczy w jednym wierszu kodu. Możesz kupić drogie narzędzia online, aby zaspokoić swoje potrzeby edycji lub możesz wypróbować te funkcje za darmo, instalując narzędzie FFMPEG.