10 trików, które możesz wykonać z FFmpeg na Linuksie

10 trików, które możesz wykonać z FFmpeg na Linuksie

FFmpeg to potężne narzędzie wiersza poleceń w Linuxie, umożliwiające łatwe odtwarzanie, edytowanie i konwertowanie plików wideo oraz audio za pomocą prostych poleceń.

Chcesz więcej z terminala Linux? Może nie łączysz intuicyjnie wideo z wierszem poleceń, ale z FFmpeg możesz naprawdę wiele zrobić z plikiem wideo, wpisując proste polecenie w terminalu.

Jeśli nigdy o tym nie słyszałeś, FFmpeg to narzędzie wiersza poleceń, które może poradzić sobie ze wszystkim, co związane z mediami. Jest dostępne w repozytoriach większości dystrybucji Linuxa, więc wystarczy znaleźć i zainstalować pakiet, aby zacząć go używać.

Jeśli chcesz szybko odtworzyć wideo, uzyskać jakieś informacje lub wykonać ciekawe triki związane z edycją wideo, FFmpeg Ci w tym pomoże. Oto kilka przydatnych rzeczy, które możesz zrobić z FFmpeg na swoim komputerze z systemem Linux.

Odtwarzanie wideo

Możesz już mieć ulubionego odtwarzacza wideo i to świetnie. Ale czasami potrzebujesz szybkiego i prostego sposobu na obejrzenie czegoś bez uruchamiania pełnej aplikacji graficznej. Możesz to zrobić używając wbudowanego odtwarzacza FFmpeg, ffplay.

Aby na przykład odtworzyć wideo, otwórz terminal i uruchom:

ffplay your_video_file.mp4

Twoje wideo pojawi się w osobnym oknie, gotowe do odtworzenia. Możesz nim sterować za pomocą poleceń takich jak "q", aby zakończyć, "p", aby wstrzymać, oraz klawiszy strzałek w lewo lub w prawo, aby przewinąć do przodu lub cofnąć.

Jeśli chcesz odtwarzać swoje wideo w pętli, uruchom:

ffplay -loop 0 your_video_file.mp4

Opcja -loop 0 sprawia, że wideo będzie odtwarzane w nieskończoność. Możesz zastąpić 0 dowolną liczbą, aby ustawić, ile razy ma się powtórzyć.

Zwykle, aby uzyskać informacje o plikach wideo, trzeba przeszukiwać menu w odtwarzaczu multimedialnym lub używać oddzielnej aplikacji. Ale z FFmpeg uzyskanie wszystkich tych informacji to tylko jedno polecenie.

Aby uzyskać informacje o mediach, wystarczy uruchomić:

ffmpeg -i your_video_file.mp4

W ciągu kilku sekund zobaczysz kompleksowy raport, w tym kodeki, bitraty, liczby klatek i więcej.

Aby uzyskać jeszcze bardziej szczegółowe informacje o strumieniach wideo, audio i napisów, użyj ffprobe (narzędzia z FFmpeg):

ffprobe -show_streams -i your_video_file.mp4

A dla czystszej wynikowej w formacie JSON, uruchom:

ffprobe -v quiet -print_format json -show_format -show_streams your_video_file.mp4

Dodatkowo, wszystkie te polecenia pomagają skutecznie analizować pliki wideo bez ich odtwarzania.

Nagrywanie ekranu

FFmpeg może także nagrywać Twój ekran. Niezależnie od tego, czy chcesz pokazać komuś, jak coś zrobić w Linuxie, czy stworzyć szybki demo, nie potrzebujesz dodatkowych programów do nagrywania ekranu.

Załóżmy, że chcesz nagrać cały ekran przez 10 sekund. Możesz to zrobić w ten sposób:

ffmpeg -f x11grab -video_size 1920x1080 -r 30 -i :0.0+0,0 -t 10 output.mp4

To polecenie przechwytuje Twój pulpit w rozdzielczości 1920x1080 z częstotliwością 30 klatek na sekundę. Dodatkowo, opcja "-i :0.0+0,0" informuje FFmpeg, jaki ekran nagrać. W naszym przypadku ":0.0" odnosi się do głównego ekranu, a "+0,0" oznacza rozpoczęcie nagrywania z lewego górnego rogu.

Jeśli system korzysta z Waylanda zamiast Xorga, czasami możesz napotkać problem z czarnym ekranem, ponieważ x11grab FFmpeg najlepiej działa z Xorg. Przełączenie na sesję Xorg powinno rozwiązać problem.

Jeśli nie znasz rozmiaru lub pozycji swojego ekranu, możesz to sprawdzić używając:

xdpyinfo | grep dimensions

Pamiętaj, że wcześniejsze polecenie FFmpeg nagrywa ekran bez dźwięku. Jeśli również chcesz nagrywać dźwięk wraz z wideo, musisz określić urządzenie wejściowe audio obok wejścia wideo.

Na przykład, możesz użyć opcji "-f alsa -i pulse", aby uchwycić zarówno wideo z ekranu, jak i dźwięk:

ffmpeg -f x11grab -video_size 1920x1080 -r 30 -i :0.0+0,0 -f alsa -i default -t 10 output.mp4

Aby nagrać konkretne okno, polecenie FFmpeg jest nieco bardziej skomplikowane, ale do szybkiego nagrywania pełnoekranowego FFmpeg jest doskonałym wyborem. Dodatkowo, jeśli lubisz pracować z terminala, masz pełną kontrolę nad każdym aspektem procesu nagrywania.

Czy kiedykolwiek chciałeś wyodrębnić pojedynczą klatkę z wideo — może na miniaturkę lub aby uchwycić fajne ujęcie? FFmpeg bardzo ułatwia to zadanie.

Na przykład, jeśli chcesz wyodrębnić jedną fotografię co sekundę z wideo i zapisać je jako pliki graficzne. Aby to zrobić, uruchom:

ffmpeg -i input.mp4
-r 1 image-%04d.jpg

Opcja "-r 1" ustawia częstotliwość rejestracji na jedno zdjęcie na sekundę. Ekstrahuje jeden klatkę z każdej sekundy wideo. Możesz dostosować tę wartość, aby uchwycić obrazy mniej lub bardziej często. Możesz również zmienić JPG na PNG lub inny format obrazu, jeśli zajdzie taka potrzeba.

Konwertuj obrazki w filmy

FFmpeg może nie tylko wyodrębniać obrazy, ale także składać serię obrazów w film. Niezależnie od tego, czy chcesz stworzyć pokaz slajdów, animację, czy przyspieszenie, FFmpeg upraszcza ten proces.

Przed konwersją upewnij się, że Twoje obrazy są nazwane w kolejności (np. image-0001.jpg, image-0002.jpg). Teraz, aby przekonwertować te sekwencyjne obrazy w film, użyj następującej komendy:

ffmpeg -framerate 1 -i image-%04d.jpg -c:v libx264 -r30 output.mp4

Ustawiamy tutaj opcję liczby klatek na 1 FPS, co oznacza, że jeśli mamy 5 zdjęć i wolimy 5-sekundowy film, liczba klatek wyniesie 1. Możesz dostosować wartość liczby klatek, aby przyspieszyć lub spowolnić film.

Poprzednia komenda konwertuje obrazy w film bez dodawania muzyki. Ale co jeśli chcesz dodać muzykę do swojego filmu? Wykonaj tę komendę, zastępując "music.mp3" plikiem audio, który chcesz dodać:

ffmpeg -framerate 1 -i image_%04d.jpg -i music.mp3 -c:v libx264 -r30 -shortest slideshow.mp4

Opcja -shortest sprawia, że film trwa tak długo, jak krótszy plik wejściowy. Więc jeśli audio jest dłuższe niż pokaz slajdów, film dopasuje się do długości pokazu slajdów.

Konwertuj filmy w MP3 lub GIFy

Jedną z najpotężniejszych cech FFmpeg jest konwersja filmów na różne formaty, takie jak transformacja wideo w MP3 lub tworzenie animacji GIF z filmu.

Aby wyodrębnić dźwięk z filmu, użyj opcji -vn, która zmusza FFmpeg do odrzucenia strumienia wideo i konwersji tylko dźwięku na MP3:

ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3

Możesz również zmienić output.mp3 na output.wav lub inny format audio, jeśli zajdzie taka potrzeba.

Aby przekonwertować wideo na GIF, użyj:

ffmpeg -i sample_video.mp4 output.gif

Możesz również wyodrębnić konkretne części filmu i przekonwertować je na GIFy używając tej komendy:

ffmpeg -ss 30.0 -t 2.1 -i sample_video.mp4 output.gif

Ta komenda przycina 2.1 sekundy z przodu trwałości 00:30 filmu i konwertuje to na GIFa.

Dodaj napisy do filmów i seriali

Dodawanie napisów do filmu może być bardzo pomocne, zwłaszcza podczas oglądania treści w innym języku. FFmpeg upraszcza proces dodawania napisów do Twoich filmów.

Najpierw zdobądź plik z napisami, zazwyczaj z rozszerzeniem SRT. Na przykład, jeśli masz plik z napisami (np. subtitles.srt) i film (input.mp4), możesz wprowadzić napisy na stałe do filmu używając:

ffmpeg -i input.mp4 -vf "subtitles=subtitles.srt" output.mp4

Ta komenda na stałe wbudowuje napisy, zapewniając, że pozostaną widoczne i nie można ich wyłączyć.

Jeśli preferujesz opcjonalne napisy, które widzowie mogą włączyć lub wyłączyć, użyj tej komendy:

ffmpeg -i input.mp4 -i subtitles.srt -c copy -c:s mov_text output.mp4

Ta komenda zachowuje napisy jako oddzielny strumień, zachowując oryginalną jakość wideo.

Przebuduj indeks wideo bez transkodowania

Czasami film może wydawać się uszkodzony—może skakać, zatrzymywać się lub uniemożliwiać przewijanie do przodu lub do tyłu. Często problem ten wynika z uszkodzonego indeksu wideo. Aby naprawić ten problem, być może będziesz musiał przebudować indeks bez ponownego kodowania wideo.

Na szczęście FFmpeg często naprawia indeks bez zmiany samego filmu. Ten proces, znany jako remuxing, jest szybki, ponieważ zachowuje oryginalną jakość wideo i audio, jednocześnie poprawiając strukturę pliku.

Aby przebudować indeks wideo, użyj:

ffmpeg -i input.mp4 -c copy -copyts output.mp4

Opcja -c copy instruuje FFmpeg do kopiowania strumieni wideo i audio dokładnie tak, jak są, zachowując ich jakość i przyspieszając proces. Opcja -copyts zapewnia, że informacje o czasie są kopiowane poprawnie, co jest kluczowe dla płynnego odtwarzania.

To podejście jest przydatne do szybkiego sprawdzania i naprawiania pliku wideo. Jednak jeśli problem nadal występuje, film może być poważnie uszkodzony.

Zmień rozmiar wideo

Zmiana rozmiaru wideo jest jedną z najbardziej przydatnych funkcji FFmpeg. Możesz.

łatwo dostosuj wymiary wideo do mediów społecznościowych, ekranów mobilnych lub optymalizacji pamięci. Mniejsze wideo zajmuje mniej miejsca, szybciej się przesyła i lepiej działa przy wolniejszych połączeniach.

Aby skalować wideo do określonych wymiarów (np. 1280x720), użyj:

ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

Jeśli chcesz, aby FFmpeg automatycznie utrzymał proporcje, określ tylko jeden wymiar lub użyj wyrażeń:

ffmpeg -i input.mp4 -vf scale=640:-1 output.mp4

To ustawia szerokość na 640 pikseli, a FFmpeg oblicza odpowiednią wysokość, aby zachować proporcje. Należy jednak pamiętać, że zmniejszanie rozdzielczości może obniżyć jakość, więc starannie dobierz rozdzielczości.

Przycinanie i przycinanie wideo

Przycinanie wideo pozwala wydobyć tylko niezbędne sekcje bez wpływu na jakość. To idealne do eliminacji niechcianych wstępów, zakończeń lub jakichkolwiek błędów.

Na przykład, aby wyodrębnić 20-sekundowy segment zaczynający się od 10 sekundy wideo, uruchom:

ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 -c copy output_trimmed.mp4

Tutaj "-ss 00:00:10" mówi FFmpeg, aby rozpoczął od 10 sekundy, a "-to 00:00:30" zatrzymuje wideo w 30 sekundzie. Opcja "-c copy" zapewnia, że wideo i audio są kopiowane bez ponownego kodowania, co znacznie przyspiesza proces i zachowuje oryginalną jakość.

Przycinanie usuwa niepotrzebne krawędzie lub przybliża najważniejszą część wideo. Aby przyciąć wideo do 640x480 pikseli, zaczynając od lewego górnego rogu, wykonaj to:

ffmpeg -i input.mp4 -vf "crop=640:480:0:0" output_cropped.mp4

Filtr crop przyjmuje cztery wartości: szerokość, wysokość oraz współrzędne x i y, od których powinno rozpocząć się cięcie. W tym przypadku szerokość i wysokość ustawione są na 640x480, a 0:0 zapewnia, że cięcie zaczyna się od lewego górnego rogu oryginalnego wideo.

Ćwicząc i ucząc się tych sztuczek FFmpeg, możesz łatwo zwiększyć swoją wydajność i uprościć obciążenie pracy. I pamiętaj - to dopiero początek. W FFmpeg czeka wiele do odkrycia, więc zanurz się i eksperymentuj dalej!

Jeśli ciekawią Cię artykuły podobne do 10 trików, które możesz wykonać z FFmpeg na Linuksie, zajrzyj do kategorii Linux i odkryj jeszcze więcej interesujących treści.

Indeks
  1. Odtwarzanie wideo
  2. Nagrywanie ekranu
  3. Konwertuj obrazki w filmy
  4. Konwertuj filmy w MP3 lub GIFy
  5. Dodaj napisy do filmów i seriali
  6. Przebuduj indeks wideo bez transkodowania
  7. Zmień rozmiar wideo
  8. Przycinanie i przycinanie wideo

Możesz być zainteresowany

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Go up