【问题标题】:Flash a3 - stopping at a cue pointFlash a3 - 在提示点停止
【发布时间】:2012-04-14 04:24:06
【问题描述】:

我有一个 flv vid 并动态设置提示点

vid.addASCuePoint(1, "cuePoint1");

它并不总是停在同一个地方。我怎样才能更准确?我认为这是由于缓冲和其他一些因素造成的?

import fl.video.*;
//etc etc 
vid.addEventListener(fl.video.VideoEvent.READY, flvPlayback_ready);
vid.addEventListener(MetadataEvent.CUE_POINT, flvPlayback_cuePoint);

function flvPlayback_ready(evt:fl.video.VideoEvent):void {
vid.addASCuePoint(1, "cuePoint1");
vid.play();
}


function flvPlayback_cuePoint(evt:MetadataEvent):void {
    vid.pause();
    trace("CUE POINT!!!");
    trace("\t", "name:", evt.info.name); // name: cuePoint1
   trace("\t", "time:", evt.info.time); // time: 1
   trace("\t", "type:", evt.info.type); // type: actionscript

}

【问题讨论】:

    标签: actionscript-3 streaming points flv cue-points


    【解决方案1】:

    可以通过两种方式将提示点添加到视频中: 1)编码成实际视频 2) 通过动作脚本添加

    我没有任何指向相应文档的链接,但我之前已经处理过这个问题。我读到的东西说通过动作脚本添加提示点不会像将它们编码到视频中那样准确。 ...并且您的代码表明这是您添加它们的方式...

    我希望我有更好的消息告诉你,但我知道获得更高准确性的唯一方法是在编码期间添加关键点。

    【讨论】:

    • 最后我只是吐了视频。
    【解决方案2】:

    这可能是由于 flv 编码的关键帧数量(我认为使用 MediaEncoder 编码时默认为每 30 帧 1 个)。

    尝试重新编码 flv 并将关键帧距离设置为更小的值(或者甚至使用 Media Encoder 嵌入关键帧,而不是通过 ActionScript 添加它)。

    【讨论】:

      猜你喜欢
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多