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

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

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

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

这个问题没有帮助答案。

我已查看了 swf-format wotsit 上,从我看到的内容应该可以阅读帧速率和帧数以及由此计算持续时间,但我找不到任何关于flv文件的内容。也许有人已经完成了这个并且可以指出一些很好的代码,这可以节省我很多时间来理解规范吗?

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top