我正在探测视频文件以获取一些基本信息。例如,以下使用 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
容器中还存储有元数据标签(全局元数据)。