Przykład polecenia FFPROBE Linux

Przykład polecenia FFPROBE Linux
„FFPROBE to polecenie Linux używane do pobierania informacji z plików multimedialnych. Polecenie wyświetla następnie dane wyjściowe w formacie maszyny lub człowieka. Dzięki FFProbe możesz gromadzić informacje, takie jak rozmiar, szybkość transmisji, wysokość, szerokość, kodeksy i format pikseli strumienia multimedialnego. FFPROBE jest niezbędnym narzędziem w zestawie narzędzi do przetwarzania wideo.

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ą:

  • Nasza próbka.MP4 używa formatu „MOV, MP4, M4A, 3GP, 3G2, MJ2”.
  • Możesz także zobaczyć datę i godzinę utworzenia pliku, 2020-09-12.
  • Czas trwania reprezentuje długość pliku wideo i jego odpowiadającą transmisję 234 kb/s
  • Możemy również zauważyć, że plik multimedialny ma dwa strumienie, wideo i audio.

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!