Ten samouczek wyjaśnia, jak wycinać i przycinać filmy z wiersza poleceń za pomocą FFMPEG.
FFMPEG to multiplatform, open source narzędzi i bibliotek do edytowania multimediów i strumieni z wiersza poleceń. Obsługuje kodowanie i dekodowanie większości formatów multimedialnych, w tym nietypowe pliki. Po przeczytaniu tego samouczka, który obejmuje procedurę i zrzuty ekranu wideo, będziesz wiedział, jak wycinać i przycinać filmy za pomocą FFMPEG.
Instalowanie FFMPEG:
Aby zainstalować FFMPEG w rozkładach Linux opartych na Debian, użyj polecenia Apt, jak pokazano w poniższym przykładzie.
sudo apt instal ffmpeg
Aby zainstalować FFMPEG na Redhat / Centos, uruchom poniższe polecenia:
LocalInstall Yum
Yum Instaluj ffmpeg ffmpeg-devel
Jak wyciąć filmy za pomocą FFMPEG:
Krojenie filmów z FFMPEG to dość proste, szybkie i niskie zadanie związane z zasobami za pomocą FFMPEG. Musisz tylko zdefiniować czas początkowy lub końcowy lub oba je w razie potrzeby i plik wyjściowy. Będę pracował z tym filmem z podpowiedzi Linux (czas trwania 00: 03: 280) właśnie pobrałem na ten samouczek.
Poniższe polecenie używa FFMPEG do wycięcia wideo z drugiego 00:00:05 określonego z flagą -ss; To jest flaga zdefiniowania punktu wyjścia do nowego filmu na wypadek, gdybyś chciał zmniejszyć część początku. Jeśli chcesz tylko zmniejszyć część końca filmu, nie musisz używać tej flagi. Jak widać, format czasu musi wynosić HH: MM: SS (godziny, minuty, sekundy). Na przykład przez 2 minuty i 3 sekundy czas należy wpisać 00:02:03.
Flaga -i używana do określenia pliku do edytowania; W takim przypadku plik to Linuxhint-VIM.MP4.
Opcja -t jest używana do określenia końca nowego pliku; W takim przypadku wideo zakończy się o 00:02:00. Podobnie do -ss, jeśli nie chcesz wyciąć części końca filmu, ale tylko część początku, nie musisz stosować tej flagi.
W takim przypadku flaga kopii -c jest używana do zdefiniowania pliku wyjściowego; W takim przypadku plik edytowanewiideo.MP4.
ffmpeg -ss 00:00:05 -i Linuxhint -vim.MP4 -T 00:02:00 -C Kopiuj edytingvideo.MP4
Cała operacja zajęła kilka sekund bez konsumpcji zasobów komputerowych.
Następny przykład pokazuje, jak wyciąć tylko część końca filmu 00:03:28 sekund. W ten sposób pomijam opcję -ss, ponieważ chcę zachować punkt początkowy i wycinam wideo o 00:02:00, wdrażając flagę -T.
ffmpeg -i Linuxhint -vim.MP4 -T 00:02:00 -C Kopiuj edytingvideo2.MP4
W przeciwieństwie do poprzedniego przykładu, poniższe polecenie ogranicza tylko część filmu, począwszy od użycia flagi -ss. W takim przypadku nowe wyjście rozpocznie się od 00:01:30.
ffmpeg -ss 00:01:30 -i Linuxhint -vim.MP4 -C Copy editedVideo3.MP4
Jak widać, cięcie filmów za pomocą FFMPEG to prosty i szybki proces.
Przycinanie czarnych granic za pomocą FFMPEG:
W tej sekcji samouczka opisano, jak przycinać filmy z FFMPEG.
Możesz użyć FFMPEG, aby automatycznie wykryć, jak przycinać wideo, aby usunąć czarne granice.
W tym przykładzie użyję filmu 320 × 240, który wygląda jak następujące:
Poniższe polecenie będzie próbowało wykryć prawidłowe wymiary i pozycje do prawidłowego przycinania wideo.
FFMPEG -i Linux -Foundation.MP4 -VF CropDetect -f Null -2> i 1 | awk '/ crop/ print $ nf' | ogon -1
Jak widać, FFMPEG zwraca właściwą szerokość (320), wysokość (208), x i y.
Pozycja x: Pozycja x definiuje poziomy punkt początkowy uprawy z lewego marginesu, gdzie lewy margines wynosi 0.
Pozycja y: Y jest pionowym punktem początkowym, w którym górny margines wynosi 0.
Przykład poniżej filmu zostanie przycięty; możesz zobaczyć flagę -filter: v.
Flaga Filter implementuje filtrGrafh, który dzieli strumień wejściowy, przycinając go i nakłada drugą strumieniową. Jak widać, wymiary i pozycje zdefiniowane w poniższym poleceniu są dostarczane przez poprzednie polecenie.
Ponadto możesz zobaczyć,.
FFMPEG -i LinuxFoundation.MP4 -FILTER: V "Crop = 320: 208: 0: 16".MP4
Jak widać, czarne granice zostały usunięte:
O przycinaniu filmów za pomocą FFMPEG:
Możesz przyciąć dowolną część filmu za pomocą poprzedniej techniki, nie tylko czarne granice.
Poniższe polecenie przygotuje poprzedni film, zwracając obraz 200 × 200, rozpoczynając 200 px od lewej i 0px od górnych marginesów.
FFFMPEG -i Wyjście.MP4 -FILTER: V "CROP = 200: 200: 200: 0".MP4
A oto przycięty film:
Oczywiście możesz zdefiniować inne rodzaje miar, takie jak prostokąty.
Wideo, nad którym będziemy pracować (taka sama jak pierwsza sekcja samouczka) wygląda jak poniższy obraz.
W tym pierwszym przykładzie definiujemy tylko wymiary wyjściowe, ale nie pozycję. Jeśli nie określisz pozycji, FFMPEG automatycznie przycina centrum wideo. Zatem w poniższym przykładzie, w którym definiowane są tylko wysokość i szerokość wideo, ale bez pozycji, FFMPEG przycina wideo i zwróci przycięte wyniki 500 × 500 w środku wideo.
ffmpeg -i Linuxhint -vim.MP4 -FILTER: V "CROP = 500: 500" Linuxhintvideo2.MP4
I otrzymujemy przycięte wyniki 500x500px:
W razie potrzeby możesz użyć polecenia FFMPEG w połączeniu z GREP, aby nauczyć się oryginalnej rozdzielczości wideo, jak pokazano poniżej.
ffmpeg -i Linuxhint -vim.MP4 2> i 1 | Grep Video: | grep -po '\ d 3,5 x \ d 3,5'
Jeśli podoba Ci się prostota i wydajność FFMPEG, możesz uzyskać dostęp do oficjalnej dokumentacji FFMPEG, aby dowiedzieć się o wielu dodatkowych funkcjach i funkcjach dostępnych do edycji mediów.
Wniosek:
Krojenie i przycinanie mediów z wiersza poleceń jest dość łatwe za pomocą FFMPEG. Jedną z głównych zalet FFMPEG jest niskie zużycie zasobów i szybka prędkość.
Ten samouczek pokazuje dowolny poziom użytkownika Linux lub jakakolwiek osoba bez wiedzy na temat edycji wideo może profesjonalnie edytować filmy w trybie tekstowym, ucząc się kilku poleceń i przyjaznej składni. FFMPEG jest multiplatform, dzięki czemu jest doskonałym standardowym narzędziem do edytowania plików wideo i audio z wiersza poleceń. FFMPEG jest częścią powszechnie znanych narzędzi, takich jak VLC Player i został uwzględniony w przetwarzaniu podstawowym iTunes i YouTube.
Mam nadzieję, że ten samouczek był przydatny. Kontynuuj podążaj za Linux, aby uzyskać więcej wskazówek i samouczków Linux.