来源视频:http://www.artworknotavailable.com/tmp/ffmpegtest
Quicktime Pro 7.7.1 Inspector(Win 7)报告以下文件2398.mov
4.19MB
H.264
电影FPS:23.98
数据速率:2.35 mbits / Sec
持续时间14:97
ffmpeg报告以下内容(请参阅帖子底部的完整ffmpeg版本信息)
ffmpeg -i 2398.mov
似乎流1编解码器帧速率与容器帧速率不同:47952.00(47952/1) - > > 23.98(2997/125)
输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自'2398.mov':
元数据:
major_brand:qt
minor_version:537199360
compatible_brands:qt
持续时间:00:00:15.97,开始时间:0.-963005,比特率:2210 kb / s
流#0.0(eng):音频:aac,48000 Hz,立体声,s16,152 kb / s
Stream#0.1(eng):视频:h264,yuv420p,848x480,2060 kb / s,23.98 fps,23.98 tbr,23976 tbn,47952 tbc
比Quicktime报告的时间长一秒。
作为实验,我使用以下设置从Quicktime Pro导出此文件:
帧速率:当前
关键帧:每24帧左右 帧重新排序上
质量:高
编码最好的 数据速率:自动
优化下载
输出文件:qtime-export-2398.mov
Quicktime Inspector报告:
现在报道ffmpeg:5.62 MB
H.264
电影FPS:23.98
数据速率:3.15 mbits / Sec
持续时间14:97
ffmpeg关于持续时间的报告从15.97变为14.96(我可以忍受.1)ffmpeg -i qtime-export-2398.mov
似乎流1编解码器帧速率与容器帧速率不同:1200.00(1200/1) - > 23.98(24000/1001)
输入#0,mov,mp4,m4a,3gp,3g2,mj2,来自'qtime-export-2398.mov':
元数据:
major_brand:qt
minor_version:537199360
compatible_brands:qt
持续时间:00:00:14.96,开始:0.000000,比特率:3153 kb / s
流#0.0(eng):音频:pcm_s16le,44100 Hz,2个通道,s16,1411 kb / s
流#0.1(eng):视频:h264,yuv420p,678x384,1738 kb / s,23.98 fps,23.98 tbr,600 tbn,1200 tbc
此持续时间是根据比特率计算的吗?
我需要准确报告上传视频的持续时间并将其转换为FLV。有人能告诉我这里发生了什么,以及我如何解决这个问题?
以下ffmpeg信息。我在2个完全不同的安装/版本的ffmpeg上试过这个。结果相同。
FFmpeg版本0.6.5,版权所有(c)2000-2010 FFmpeg开发人员 建于2012年1月29日23:55:02,gcc 4.1.2 20080704(Red Hat 4.1.2-51) 配置: - prefix = / usr --libdir = / usr / lib64 --shlibdir = / usr / lib64 --mandir = / usr / share / man --incdir = / usr / include --disable-avisynth --extra -cflags =' - O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE = 2 -fexceptions -fstack-protector -param = ssp-buffer-size = 4 -m64 -mtune = generic -fPIC'--enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore- amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable- x11grab libavutil 50.15。 1 / 50.15。 1 libavcodec 52.72。 2 / 52.72。 2 libavformat 52.64。 2 / 52.64。 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19。 0 / 1.19。 0 libswscale 0.11。 0 / 0.11。 0 libpostproc 51. 2. 0 / 51. 2. 0 FFmpeg 0.6.5 libavutil 50.15。 1 / 50.15。 1 libavcodec 52.72。 2 / 52.72。 2 libavformat 52.64。 2 / 52.64。 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19。 0 / 1.19。 0 libswscale 0.11。 0 / 0.11。 0 libpostproc 51. 2. 0 / 51. 2. 0
答案 0 :(得分:3)
我刚看了第一个文件,这就是他们报告不同持续时间的原因。
Quicktime正在从“电影标题”中收集持续时间值。这里的值是8981/600 = 14.97秒。
FFmpeg从“媒体标题”收集持续时间值,视频为383000/23976 = 15.97秒,音频为719872/48000 = 15.00秒。
编辑:...并回答你的另一个问题:有人可以告诉我如何解决这个问题吗?我想你使用ffmpeg将文件转换为.FLV?如果是这样,我会坚持ffmpeg报道的内容。
答案 1 :(得分:1)
FFmpeg在这里显示“持续时间:00:00:14.96”,请理解您的FFmpeg版本是古老的(并且有许多已知的错误和回归),请参阅http://ffmpeg.org/download.html以获取有关如何获取当前git的信息头,总是被推荐。