ffprobe show_entries 带有使用分号的条目名称

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 -of csv=p=0 input.mp4
90

ffprobe -v error -show_entries stream_tags=rotate -of default=noprint_wrappers=1 input.mp4
TAG:rotate=90

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容器中还存储有元数据标签(全局元数据)。

相关内容