ffprobe show_entries с именем записи, использующим точку с запятой

5165
Benjamin

Я проверяю видеофайл, чтобы получить основную информацию. Например, следующее использует флаг show_entries для указания необходимых данных.

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

Мне также нужно получить запись TAG: rotate, но это не работает, так как точка с запятой смешивается с синтаксисом флага 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 

Есть ли способ исправить синтаксис? Единственное другое решение - не указывать отдельные записи, а просто получать все данные.

4

1 ответ на вопрос

6
LordNeckbeard

Вы можете использовать stream_tagsтеги метаданных, хранящиеся в потоке:

$ 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 
  • Кроме того, есть format_tagsтеги метаданных, хранящиеся в контейнере.

  • Я добавил, -of default=noprint_wrappers=1чтобы опустить раздел заголовки и нижние колонтитулы.

Похожие вопросы