也可以用硕鼠下载亮毕败,很简单。
ffmpeg在avformat_find_stream_info中会读取一部分源文件的音视频数据,来分析文件信息,那么这个 *** 作读取多少数据呢?
答案是: 通过probesize和analyzeduration两个参数来控制液察 。
直接用命令行查看这两个参数:
-probesize和 -analyzeduration定义在 libavformat/options_table.h 中
可以看到probesize默认为5000000, 而analyzeduration默认为0.
传入的参数保存在 libavformat/avformat.h 中AVFormatContext的probesize和max_analyze_duration变量中。
从上可以看出 probesize是从源文件中读取的最大字节数,单位为字节。
max_analyze_duration是从文件中读取的最大时长,单位为 AV_TIME_BASE units 。
probesize的单位是字节。
最小是32字节。闹余茄
默认是 5000000字节。
avformat_find_stream_info函数中:
可以看到analyzeduration参数不设置时,即analyzeduration默认等于0时,可以看到 默认的分析时长为5秒 :
而如果是flv文件的时候, 默认为90秒 :
mpeg和mpegts文件的时候,默认7秒 :
结论是: 谁先达到就听谁的 。
以上的例子是读取50M的数据或100秒的数据,那个标准先达到,那就听谁的,停止probe 。毁好
ffmpeg/doc/ffmpeg-formats.texi
ffmpeg/doc/faq.texi
https://ffmpeg.org/ffmpeg-formats.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)