首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NetStream.seek (毫秒)

NetStream.seek (毫秒)
EN

Stack Overflow用户
提问于 2011-02-01 10:42:49
回答 1查看 3.2K关注 0票数 1

我有一个H.264编码的视频,它有大约100毫秒的关键帧。我注意到我不能寻求某些关键帧。在我做了一个搜索之后,游戏头跳到了所需的时间(关键帧时间),以及它如何向前或向后跳几毫秒。我对NetStream.time的跟踪输出看起来像

ns.t: 2.86

ns.t: 2.86

ns.t: 2.86

10:12:01 GMT+0100 VideoPlayerNetStream: NetStatusEvent - NetStream.Seek.Notify time: ns.time= 2.86

10:12:02 GMT+0100 VideoPlayerNetStream: Seek.Notify info.seekPoint:未定义

ns.t: 2.76

ns.t: 2.76

ns.t: 2.76

ns.t: 2.76

ns.t: 2.8

ns.t: 2.8

我的目标是2.76(2秒76毫秒)。正如您所看到的,它确实寻求到所需的关键帧(在2.76有一个关键帧),但随后跳到了2.8。这会给跳转帧向后功能带来很多问题。奇怪的是,它适用于某些关键帧,而对某些关键帧则不起作用。视频有问题吗?有什么方法可以测试视频是否被正确编码?在谷歌上搜索,显示人们在寻找非关键帧时遇到了问题。但在这里,我试图寻找关键帧。该应用程序工作的视频,其中有关键帧是秒间隔。当视频以不同的方式编码以获得毫秒特性时,问题就出现了。

我已经为这个问题挣扎了很长一段时间了,如果我能收到任何正确方向的提示来解决这个问题,我将不胜感激。

问候

乌沙利

EN

回答 1

Stack Overflow用户

发布于 2011-02-01 15:58:07

如“帮助”中所述:

-- playheadTime属性在调用寻求方法之一或设置playheadTime以导致查找之后,可能没有预期的值。对于渐进式下载,只能查找关键帧;因此,查找会在指定的时间之后将您带到第一个关键帧的时间。

..。

查找是异步,因此如果调用查找方法或设置playheadTime属性,则playheadTime 不会立即更新。若要获取查找完成后的时间,请侦听查找事件,该事件在更新playheadTime属性之前不会启动。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/video/VideoPlayer.html#seek()

因此,当游戏头实际到达关键帧时(应该是)分派http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/video/VideoEvent.html#SEEKED

换句话说,只有很少的关键帧使得搜索方法变得不精确。注:对于流媒体视频,播放头总是被立即设置为适当的时间/关键帧,这是不正确的。

如果启用了cuepoint,一个解决方案是“插入”视频的重要帧,并使用seekToNavCuePoint()、seekToNextNavCuePoint()和seekToPrevNavCuePoint(),据我所知,这些帧更精确。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4861550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档