我已经成功使用Flowplayer Flash和.f4v Flash视频文件,但是当我尝试使用.mp4文件时,我遇到了一个奇怪的问题:视频播放正常但是它们被缩短了。我有6个MP4视频,持续时间从7:19到14:34,Flowplayer播放的持续时间从0:10到5:03不等,但每个视频的视频总是相同。
但这并非完全武断。我制作了一个电子表格,发现从每个视频截断的持续时间是7:09,除了最长的14:18。所以发生的事情是视频的持续时间(以秒为单位)取模429(7分9秒)。
为什么世界会发生这种情况?
这是我的Flowplayer设置:
<a id="player" href="/path/to/video_1.mp4" style="display: block; max-width: 1440px;"></a>
<script>
flowplayer('player', '/Static/flowplayer/flowplayer-3.2.18.swf', {
clip: {
autoPlay: false,
autoBuffering: true
},
});
</script>
答案 0 :(得分:0)
使用exiftool,我发现这个行为不是Flowplayer的错;它是腐败的元数据,可能在转换为MP4期间悄悄进入。我发现了这些价值观:
Duration : 0:11:23
Track Duration : 0:11:23
Media Duration : 0:04:13
最后一个不正确,Flowplayer认真对待它。我使用以下ffmpeg命令修复了文件:
ffmpeg -i video_1.mp4 -vcodec copy -acodec copy video_1_fixed.mp4
更多信息here。
编辑:我的客户端将这些文件从WMV转换为MP4,然后再发送给我。我不知道他们使用了什么软件,但我仍然很好奇为什么会使用模429算术。有什么想法吗?