FFProbe Linux Comando Exemplo de uso

FFProbe Linux Comando Exemplo de uso
“O FFProbe é um comando Linux usado para recuperar informações de arquivos multimídia. O comando exibe a saída em uma máquina ou formato legível pelo homem. Com o FFProbe, você pode coletar informações, como tamanho, taxa de bits, altura, largura, codecs e formato de pixel do fluxo multimídia. O FFProbe é uma ferramenta obrigatória no seu kit de ferramentas de processamento de vídeo.

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:

  • Nosso SampleVid.MP4 está usando o formato "MOV, MP4, M4A, 3GP, 3G2, MJ2".
  • Você também pode ver a data e a hora em que o arquivo foi criado, 2020-09-12.
  • A duração representa o comprimento do arquivo de vídeo e sua taxa de bits correspondente de 234 kb/s
  • Também podemos observar que o arquivo multimídia tem dois fluxos, vídeo e áudio.

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!