4

Я проверяю видеофайл, чтобы получить основную информацию. Например, следующее использует флаг 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

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

1 ответ1

6

Вы можете использовать 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 чтобы опустить верхние и нижние колонтитулы раздела.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .