Você pode usar o FFProbe como um aplicativo independente ou com um filtro textual diferente para realizar processamento avançado, como plotagem e processamento estatístico.
Você pode usar o FFProbe com diferentes opções. Neste artigo, você aprenderá alguns dos exemplos de uso comum do FFProbe para aprimorar suas habilidades de análise de vídeo e extração de informações. Vamos começar!”
Introdução ao FFProbe
Você pode instalar o FFProbe usando o gerenciador de pacotes no seu Linux. Você precisa instalar o FFMPEG, que por sua vez instala o FFProbe usando o comando abaixo:
$ sudo apt-get install ffmpeg
Para verificar a instalação, digite o comando ffmpeg no terminal. Ele deve exibir a configuração e a versão do FFMPEG instalado.
Exemplos básicos de uso de ffprobe
1. Obtenha propriedades do arquivo
Você pode usar o FFProbe com o arquivo multimídia para recuperar todos os seus detalhes. Neste exemplo, usaremos um vídeo baixado, SampleVid.MP4, localizado em nosso diretório de vídeos.
O comando será:
$ ffProbe SampleVid.MP4
A saída exibida é:
Você pode notar que a saída tem muito "ruído". Você pode filtrar as informações e ocultar o banner para exibir apenas as informações necessárias usando o -hide_banner opção
$ ffProbe -hide_banner SampleVid.MP4
A saída sem o banner se parecerá com a abaixo.
Os principais detalhes da saída incluem:
2. Especificadores de fluxo do FFProBe
A maioria dos arquivos multimídia contém fluxos de áudio e vídeo, e alguns até em vários idiomas. Usando o FFProbe, você pode optar apenas para inspecionar um fluxo específico.
Ao imprimir a saída do arquivo de vídeo, ele exibe os dois fluxos. STream #0: 0 representa o fluxo de vídeo e Stream #0: 1 representa o fluxo de áudio.
No FFProbe, para especificar qual fluxo usar, o select_streams a opção é adicionada. Use 'v' ou 'v' para escolher um vídeo e 'a' para escolher áudio. Para a legenda, use 's'.
No nosso caso, para inspecionar o fluxo de áudio e obter sua taxa de bits, use o comando:
$ ffprobe -hide_banner -v panic -select_streams a: 0 -Show_Entries stream = bit_rate sampleVid.MP4
O -v pânico ou -V Erro ajuda to Reduza a saída exibida.
Para inspecionar o fluxo de vídeo, substitua o a com v como mostrado abaixo:
$ ffprobe -hide_banner -v panic -select_streams v: 0 -Show_Entries stream = bit_rate sampleVid.MP4
3. Ocultar o [stream] e [/stream] nos especificadores de fluxo
Para se livrar dos invólucros irritantes em torno dos resultados dos especificadores de fluxo, você precisa adicionar -de noprint_wrapers = 1
O comando anterior para exibir o fluxo de áudio pode ser reescrito como:
$ ffprobe -hide_banner -v panic -select_streams a: 0 -Show_Entries stream = bit_rate -of default = noprint_wrapers = 1 sampleVid.MP4
A nova saída será:
4. Obtenha informações para cada fluxo
Se você precisar acessar informações de todos os fluxos do arquivo multimídia fornecido, use o -show_streams especificador.
$ ffprobe -hide_banner -v panic -select_streams V: 0 -Show_Streams SampleVid.MP4
Você pode ver muitos detalhes da saída, incluindo tamanho, perfil, formato de pixel, taxa de bits, taxa de quadros, altura, etc.
5. Obtenha detalhes do formato do contêiner
Para obter os detalhes do formato de contêiner, use o -show_format
$ ffprobe -hide_banner -v panic -select_streams V: 0 -Show_Format SampleVid.MP4
Os detalhes do contêiner, incluindo a taxa de bits, tamanho e tags, serão exibidos como mostrado:
6. Obtenha informações sobre cada pacote
Para um arquivo de vídeo, você pode obter os detalhes de cada pacote usando o -show_packets especificador.
$ ffprobe -hide_banner -v panic -select_streams V: 0 -Show_Packets SampleVid.MP4
A saída exibe os detalhes de tamanho, duração e convergência, fechados entre o [pacote] [/pacote].
7. Obtenha detalhes de cada quadro
Um vídeo tem muitos quadros e podemos extrair as informações dos quadros, como altura, tipo de imagem, registro de data e hora e espaço de cores, usando o show_frames. O quadro tem toneladas de informação, mas são úteis.
$ ffprobe -hide_banner -v panic -select_streams V: 0 -Show_frames SampleVid.MP4
A saída de cada quadro será fechada dentro do [quadro] e [/quadro]
8. Formato de saída FFProBe
Felizmente, o FFProbe permite que você escolha o formato de saída desejado, como formatos CSV, JSON e XML, usando o -print_format
Podemos escolher facilmente qual formato exibir a saída usando os exemplos acima. Por exemplo, para mostrar o formato do contêiner em diferentes formatos, veja os exemplos abaixo.
Para usar o CSV:
$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format csv -show_format sampleVid.MP4
Para usar o JSON:
$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format json -show_format sampleVid.MP4
Para usar XML:
$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format xml -show_format SampleVid.MP4
Para usar a ini:
$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format ini -show_format sampleVid.MP4
9. Extraindo detalhes específicos de fluxos
Com o FFProbe, é possível buscar detalhes específicos, como largura, altura, pts (registro de data e hora), duração, etc.
Para obter a taxa de bits
A taxa de bits do vídeo pode ser extraída usando o stream = bit_rate especificador. Nesse caso, iremos imprimir no formato JSON.
$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format json -show_entries stream = bit_rate sampleVid.MP4
Para obter o tipo de imagem
Cada quadro tem um tipo de imagem diferente. Você pode exibir o tipo de imagem em qualquer formato usando o quadro = pict_type especificador. Mostraremos o tipo de imagem em um formato plano usando o comando abaixo.
$ ffProbe -hide_banner -v panic -select_streams V: 0 -Print_Format Flat -Show_Entries Frame = PICT_TYPE SampleVid.MP4
Para obter a duração do vídeo
Para isso, use o fluxo = duração especificador como abaixo para obter a duração no JSON.
$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format json -show_entries stream = amostra de duração.MP4
Para obter a largura e a altura
Usando o FFProbe, você pode extrair a largura e a altura do vídeo em qualquer formato, como mostrado.
Use o fluxo = largura, altura especificador.
$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format json -show_entries stream = largura, altura amostravidVid.MP4
Para conseguir o PTS
O pacote = pts_time O especificador receberá todos os pacotes de todos os pacotes.
$ ffprobe -hide_banner -v panic -select_streams v: 0 -print_format Flat -Show_Entries Packet = PTS_Time SampleVid.MP4
Conclusão
O FFProbe é uma poderosa ferramenta de utilitário Linux, e o que abordamos aqui é apenas um arranhão da superfície. Existem muitos especificadores que você pode combinar com o FFProBe para alcançar a funcionalidade. No entanto, tocamos o comum uma vez, mas você pode verificar a documentação do FFProbe para entender mais. Divirta -se com FFProbe!