渲染录制和直播/流媒体音频/视频时的时间段回调

时间:2009-10-09 04:41:25

标签: video audio events callback frame

家伙...!我是音频/视频格式/编解码器,他们的播放器,暴露的API等领域的全新手。非常感谢您的耐心以及对我这个问题的建议。

问题:几乎所有音频/视频播放器都以hh:mm:ss格式显示时间段信息。我希望能够注册一个我的回调 - 它可以是Java / applet回调或Javascript回调 - 它会在每次'tick tick'调用并运行我的自定义代码。也许这不是时间刻度,而是编解码器术语中的“帧通道”事件。也许,这些编解码器/播放器允许您甚至指定回调的频率(每隔这么多帧或秒)......

其次,我希望能够为录制的内容以及直播/流媒体内容执行此操作。

我应该关注哪些开源软件,工具,API,'概念'等?我希望能够处理最流行的格式,如flv,avi,mp3,mpeg。理想情况下,我更愿意在Java / Javascript中处理某些事情。

不知道从哪里开始。一个示例,一个代码片段,甚至我需要遵循的流程/步骤都将是一个很大的帮助。再次感谢。

1 个答案:

答案 0 :(得分:1)

这取决于您运行的环境类型以及您希望在回调中执行的操作类型。一些多媒体框架有一种方法可以添加视频,字幕或音频过滤器,这些过滤器可以访问流中的各种数据。一个这样的开源框架是GStreamer。另一种是基于Java的Processing语言,虽然它不能直接解码流行的视频格式。我认为VLC,当然是视频格式的开源之王,也有一个可能满足您需求的API。

新的HTML5 video element定义了一个timeupdate事件,该事件将在视频播放时每15到250毫秒触发一次。可以访问currentTime属性以获取当前播放位置。也可以manipulate the HTML5 video directly in JavaScript code

如果您只是想在播放视频时进行时间回调,而不需要过滤数据,那么您可以使用您所用语言的标准定时器功能,例如: JavaScript中的setTimeout(),以视频的帧速率请求定时器回调。