Możesz użyć FFPROBE jako samodzielnej aplikacji lub z innym filtrem tekstowym, aby wykonać zaawansowane przetwarzanie, takie jak wykres i przetwarzanie statystyczne.
Możesz użyć ffprobe z różnymi opcjami. W tym artykule poznasz niektóre z powszechnych przykładów wykorzystania FFPROBE, aby poprawić swoje analiza wideo i umiejętności ekstrakcji informacji. Zacznijmy!"
Pierwsze kroki z ffprobe
Możesz zainstalować FFPROBE za pomocą menedżera pakietów w Linux. Musisz zainstalować FFMPEG, który z kolei instaluje ffprobe za pomocą polecenia poniżej:
$ sudo apt-get instaluj ffmpeg
Aby zweryfikować instalację, wpisz polecenie FFMPEG na terminalu. Powinien wyświetlać konfigurację i wersję zainstalowanego FFMPEG.
Podstawowe przykłady użycia FFPROBE
1. Pobierz właściwości pliku
Możesz użyć ffprobe z plik multimedialnym, aby pobrać wszystkie jego szczegóły. W tym przykładzie użyjemy pobranego filmu, próbka.MP4, znajdujący się w naszym katalogu filmowym.
Poleceniem będzie:
$ ffprobe próbka.MP4
Wyświetlane wyjście to:
Możesz zauważyć, że wyjście ma zbyt dużo „szumu”. Możesz filtrować informacje i ukryć baner, aby wyświetlić potrzebne informacje za pomocą -hide_banner opcja
$ ffprobe -Hide_banner próbka.MP4
Wyjście bez banera będzie wyglądać jak ten poniżej.
Kluczowe szczegóły z wyjścia obejmują:
2. Specyfikatory strumienia ffprobe
Większość plików multimedialnych zawiera strumienie audio i wideo, a niektóre nawet w wielu językach. Korzystając z FFPROBE, możesz wybrać tylko do sprawdzenia określonego strumienia.
Po wydrukowaniu wyjścia pliku wideo wyświetla dwa strumienie. STral #0: 0 reprezentuje strumień wideo i Stream #0: 1 reprezentuje strumień dźwięku.
W ffprobe, aby określić, który strumień do użycia, Select_streams Dodano opcję. Użyj „V” lub „V”, aby wybrać wideo i „A”, aby wybrać dźwięk. Do podtytułu użyj „S”.
W naszym przypadku, aby sprawdzić strumień audio i uzyskać jego szybkość transmisji, użyj polecenia:
$ ffProbe -Hide_Banner -v Panic -select_streams A: 0 -Show_entries Stream = bit_rate próbka.MP4
-v panika Lub -v Błąd pomoc To Zmniejsz wyświetlane wyjście.
Aby sprawdzić strumień wideo, wymień A z v jak pokazano niżej:
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -show_entries Stream = bit_rate próbka.MP4
3. Ukryj [strumień] i [/strumień] w specyfikatorach strumienia
Aby pozbyć się irytujących opakowań otaczających wyniki specyfikatorów strumienia, musisz dodać -noprint_wrappers = 1
Poprzednie polecenie wyświetlania strumienia audio można przepisać jako:
$ ffProbe -Hide_Banner -v Panic -select_streams A: 0 -Show_entries Stream = bit_rate -of Domyślny = noprint_wrappers = 1 SMARKVID.MP4
Nowe wyjście będzie:
4. Uzyskaj informacje dla każdego strumienia
Jeśli chcesz uzyskać dostęp do informacji o wszystkich strumieniach danego pliku multimedialnego, użyj -show_streams specyficzny.
$ ffprobe -Hide_Banner -v Panic -select_streams v: 0 -show_streams próbka.MP4
Możesz wyświetlić wiele szczegółów z wyjścia, w tym rozmiar, profil, format pikseli, szybkość transmisji, liczba klatek, wysokość itp.
5. Uzyskaj szczegóły formatu kontenera
Aby uzyskać szczegóły formatu kontenera, użyj -show_format
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -show_format próbka.MP4
Szczegóły kontenera, w tym transmisja transmisji, rozmiar i tagi, zostaną wyświetlone jak pokazano:
6. Uzyskaj informacje o każdym pakiecie
W przypadku pliku wideo możesz uzyskać szczegóły każdego pakietu za pomocą -show_packets specyficzny.
$ ffprobe -Hide_Banner -v Panic -select_streams v: 0 -show_packets próbka.MP4
Wyjście wyświetla rozmiar, czas trwania i szczegóły konwergencji, zamknięte między [pakiet] [/pakiet].
7. Uzyskaj szczegóły każdej ramki
Wideo ma wiele ramek i możemy wyodrębnić informacje o ramach, takich jak wysokość, typ obrazu, znacznik czasu i przestrzeń kolorów, za pomocą show_frames. Rama ma mnóstwo informacji, ale są one pomocne.
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -show_frameSpe.MP4
Wyjście każdej ramki zostanie zamknięte w [ramce] i [/ramce]
8. Format wyjściowy FFPROBE
Na szczęście FFPROBE pozwala wybrać żądany format wyjściowy, taki jak formaty CSV, JSON i XML, za pomocą -print_format
Możemy łatwo wybrać format, aby wyświetlić dane wyjściowe za pomocą powyższych przykładów. Na przykład, aby pokazać format pojemnika w różnych formatach, zobacz poniższe przykłady.
Aby użyć CSV:
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -print_format csv -show_format próbka.MP4
Używać JSON:
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -print_format JSON -show_format Samplevid.MP4
Aby użyć XML:
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -print_format xml -show_format próbka.MP4
Używać INI:
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -print_format INI -SHOW_FORMAT SMSPID.MP4
9. Wyodrębnienie określonych szczegółów ze strumieni
Z FFPROBE można pobrać określone szczegóły, takie jak szerokość, wysokość, PTS (znacznik czasu obrazu), czas trwania itp.
Aby uzyskać transmisję
Szybkość transmisji wideo można wyodrębnić za pomocą Stream = bit_rate specyficzny. W takim przypadku wydrukujemy w formacie JSON.
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -print_format json -show_entries Stream = bit_rate próbka.MP4
Aby uzyskać typ obrazu
Każda ramka ma inny typ obrazu. Możesz wyświetlić typ obrazu w dowolnym formacie za pomocą ramka = Pict_Type specyficzny. Pokazamy typ obrazu w płaskim formacie za pomocą poniższego polecenia.
$ ffprobe -Hide_Banner -v Panic -select_streams v: 0 -print_format flat -show_entries ramka = Pict_Type Samplevid.MP4
Aby uzyskać czas trwania filmu
W tym celu użyj Stream = czas trwania specyfikator jak poniżej, aby uzyskać czas trwania JSON.
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -print_format Json -show_entries Stream = czas trwania próbka.MP4
Aby uzyskać szerokość i wysokość
Za pomocą FFPROBE możesz wyodrębnić szerokość i wysokość wideo w dowolnym formacie, jak pokazano.
Użyj strumień = szerokość, wysokość specyficzny.
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -print_format JSON -show_entries Stream = szerokość, wysokość próbka próbka.MP4
Aby zdobyć PTS
pakiet = pts_time Specyfikator otrzyma wszystkie punkty wszystkich pakietów.
$ ffProbe -Hide_Banner -v Panic -select_streams v: 0 -print_format Flat -show_entries Packet = PTS_Time SampleVid.MP4
Wniosek
FFPROBE to potężne narzędzie narzędzi Linux, a to, co tu pokryliśmy. Istnieje wiele specyfikatorów, które można połączyć z FFPROBE, aby osiągnąć funkcjonalność. Jednak raz dotknęliśmy wspólnego, ale możesz sprawdzić dokumentację FFPROBE, aby ją zrozumieć. Baw się dobrze z ffprobe!