代码之家  ›  专栏  ›  技术社区  ›  Stefan

如何在不使用flash activeX的情况下从*.Net读取.flv文件的videoDuration?

  •  0
  • Stefan  · 技术社区  · 17 年前

    我有一个winform程序,允许用户将Shockwave Flash电影上传到服务器。为了获得视频持续时间,我创建了一个“ShockWaveLashObjects”(activeX)实例,加载电影,然后读取视频持续时间,直到它从“0.0”变为任何其他内容。我通过读取GetVariable(“videoDuration”)得到它。

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

    我在分发ShockWaveLashObject activeX时也遇到了问题。我真的想跳过这一步,读一下flash文件,看看电影的播放长度。

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

    This question didnt help 带着答案,伊瑟。

    我已经查过了 swf-format wotsit 从我所看到的,应该可以读取帧率和帧数,然后计算持续时间,但我找不到任何关于flv文件的信息。也许有人已经这样做了,可以给我指出一些很好的代码,这样可以节省我很多时间去理解规范?

    1 回复  |  直到 9 年前
        1
  •  0
  •   user56250 user56250    17 年前

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