video - 渲染录制的和实时/流式音频/视频时的时间流回调

标签 video audio events callback frame

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

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

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

我应该看什么开源软件,工具,API,“概念”等?我希望能够处理最流行的格式,例如flv,avi,mp3,mpeg。理想情况下,我希望处理Java / Javascript中的某些内容。

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

最佳答案

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

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

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

关于video - 渲染录制的和实时/流式音频/视频时的时间流回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1541836/

相关文章:

javascript - 为什么我的助手集合查询没有反射(reflect)在 html 模板中?

android - 在 Android 的 WebView 中播放本地视频

javascript - 通过绑定(bind)到 div 的 onclick 事件在 iPad 上加载 HTML5 视频

ios - 如何暂停/恢复以repeatActionForever开头的播放声音

c - 如何在 C 中使用 libsox 更改声音文件的速度?

magento - 如何停止事件在其他 magento 模块中触发

wpf - 复合 WPF EventAggregator 订阅丢失

video - 如何将图像、文本或视频添加到视频中

python - 在python中结合mp4和wav

javascript - Phonegap构建和媒体插件错误