0

我有一个允许用户将 Shockwave Flash 电影上传到服务器的 winform 程序。为了获得 videoDuration,我创建了一个“ShockwaveFlashObjects”-activeX 的实例,加载影片,然后读取 videoDuration,直到它从“0.0”变为其他任何值。我通过阅读 GetVariable("videoDuration") 得到了这一点。

通常它可以工作,但有时它会锁定或显示上一个加载的 Flash 电影的信息。

我在分发 ShockWaveFlashObject-activeX 时也遇到了麻烦。我真的很想跳过它,只需阅读 Flash 文件并找出电影的播放长度。

上传的所有电影都是视频,因此它们具有特定的播放长度。

这个问题对答案没有帮助。

我已经检查了wotsit的swf 格式,从我所看到的应该可以读取帧率和帧数并计算持续时间,但我找不到任何关于 flv 文件的信息。也许有人已经这样做了,并且可以为我指出一些很好的代码,从而为我节省大量时间尝试理解规范?

4

1 回答 1

0

其中一种可能性是使用 ffmpeg 读取视频/音频比特率。获得这些详细信息后,您可以将总文件大小除以视频/音频比特率的总和。这为您提供了估计的秒数(+/- 几秒)。

于 2009-06-18T00:07:20.913 回答