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