如何使用FFprobe仅获取音频流的start_time并去除冗余信息?
提取音频流start_time的简化命令
可以通过ffprobe的参数组合直接过滤出目标结果,以下是两种可靠方案:
方案1:按流索引指定第二个流
如果确定音频是第二个流(ffprobe流索引从0开始计数,第二个流对应索引1),使用这条命令:
ffprobe -v error -select_streams 1 -show_entries stream=start_time -of compact=p=0 https://www.website.com/video.mp4
参数说明:
-v error:屏蔽所有冗余日志,仅保留关键输出和错误信息-select_streams 1:锁定索引为1的流(即第二个流)-show_entries stream=start_time:仅提取流的start_time字段-of compact=p=0:采用紧凑输出格式,去除节块标记(如[STREAM]),直接输出start_time=xxx样式的结果
方案2:按流类型选择音频流(更稳妥)
如果不确定音频流的具体索引位置,直接指定音频流类型能避免出错:
ffprobe -v error -select_streams a:0 -show_entries stream=start_time -of compact=p=0 https://www.website.com/video.mp4
参数说明:
-select_streams a:0:选择第一个音频流(a代表audio类型,0是该类型下的第一个流)- 其余参数作用与方案1一致
内容的提问来源于stack exchange,提问作者Marcus
相关产品推荐
相关产品推荐

