0

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

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

其次,我希望能够为录制的内容以及直播/流媒体内容做到这一点。

我应该看哪些开源软件、工具、API、“概念”等?我希望能够处理最流行的格式,例如 flv、avi、mp3、mpeg。理想情况下,我更愿意用 Java / Javascript 处理一些东西。

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

4

1 回答 1

1

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

新的HTML5 视频元素定义了一个timeupdate事件,该事件将在视频播放时每 15 到 250 毫秒触发一次。currentTime可以访问该属性以获取当前播放位置。也可以直接在 JavaScript 代码中操作 HTML5 视频

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

于 2009-10-12T16:04:28.720 回答