如何在不使用flash-activeX的情况下从* .Net读取.flv文件的videoDuration?
-
06-07-2019 - |
题
我有一个winform程序,允许用户将Shockwave Flash影片上传到服务器。为了获得videoDuration,我创建了一个“ShockwaveFlashObjects”-activeX的实例,加载电影,然后读取videoDuration,直到它从“0.0”变为“0.0”。其他任何事情。我通过阅读GetVariable(" videoDuration")来获得它。
通常它可以工作,但有时会锁定或显示已加载的上一个Flash影片的信息。
我在分发ShockWaveFlashObject-activeX时遇到了麻烦。我真的想跳过它,只是阅读flash文件并找出电影的播放时长。
所有上传的电影都是视频,因此具有特定的播放时长。
这个问题没有帮助答案。
我已查看了 swf-format 在 wotsit 上,从我看到的内容应该可以阅读帧速率和帧数以及由此计算持续时间,但我找不到任何关于flv文件的内容。也许有人已经完成了这个并且可以指出一些很好的代码,这可以节省我很多时间来理解规范吗?
解决方案
其中一种可能性是使用ffmpeg来读取视频/音频比特率。 获得这些详细信息后,您可以将总文件大小除以视频/音频比特率的总和。这给你估计的秒数(+/-几个社团)。
不隶属于 StackOverflow