小编gcg*_*ant的帖子

使用FFMPEG/libavformat查找WebM的持续时间/帧数

我正在尝试使用FFMPEG和libavformat从WebM文件中检索持续时间和帧数.我正在调整一些最初编写的代码用于MP4s,并且当通过MP4时,它似乎工作正常.

我有使用vp8解析器和解码器以及matroska demuxer编译的FFMPEG 2.1.

我有一个AVStream指向视频流的指针*video_st.代码查找的帧数video_st->nb_frames和持续时间video_st->duration.这两者似乎都是0.

用于video_st->duration(https://ffmpeg.org/doxygen/trunk/structAVStream.html#a4e04af7a5a4d8298649850df798dd0b)的API文档说"如果源文件未指定持续时间,但指定比特率,则将根据比特率估计此值和文件大小." 我可以确认这个文件确实指定了持续时间和比特率(因为我在桌面上测试了它ffmpeg -i).所以这似乎很奇怪,这是返回0.也许我的FFMPEG构建配置不正确?

至于nb_frames,文档说"此流中的帧数(如果已知或0)".如果返回0,我能做什么吗?再次,ffmpeg -i确实返回fps的估计值; 这将足够好,因为我可以估计具有该帧数和持续时间的帧数.

谢谢!

c++ ffmpeg webm libavformat

5
推荐指数
1
解决办法
2464
查看次数

标签 统计

c++ ×1

ffmpeg ×1

libavformat ×1

webm ×1