ffprobe show_entries com um nome de entrada que usa um ponto e vírgula

4

Estou investigando um arquivo de vídeo para obter algumas informações básicas. Por exemplo, o seguinte usa o sinalizador show_entries para especificar os dados necessários.

> ffprobe -v error -show_entries format=size,duration:stream=codec_name,bit_rate video.mp4

Eu também preciso obter a entrada TAG: rotate, mas isso não funciona, pois o ponto-e-vírgula se mistura com a sintaxe do sinalizador show_entries.

> ffprobe -v error -show_entries format=size,duration:stream=codec_name,bit_rate,TAG:rotate output.mp4
No match for section 'rotate'
Failed to set value 'format=size,duration:stream=codec_name,bit_rate,TAG:rotate' for option 'show_entries': Invalid argument

Existe uma maneira de corrigir a sintaxe? A única outra solução é não especificar as entradas individuais e apenas obter todos os dados.

    
por Benjamin 19.03.2015 / 23:58

1 resposta

6

Você pode usar stream_tags para tags de metadados armazenadas no fluxo:

$ ffprobe -v error -show_entries \
  stream_tags=rotate: \
  format=size,duration: \
  stream=codec_name,bit_rate \ 
  -of default=noprint_wrappers=1 input.mp4

  codec_name=h264
  bit_rate=39761
  TAG:rotate=90
  duration=5.000000
  size=27114
  • Além disso, há format_tags para tags de metadados armazenadas no contêiner.

  • Eu adicionei -of default=noprint_wrappers=1 para omitir os cabeçalhos e rodapés da seção.

por 20.03.2015 / 05:39