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 - 用图像替换 SVG

javascript - HTML5 视频 - 开始播放后无法加载资源错误

html - 如何在网站 HTML/CSS 上放置背景视频循环

audio - 音频.MP3在Safari浏览器中不起作用

java - event.consume()之后如何退出EventHandler?

c# - EventHandler 应该始终用于事件吗?

javascript - 使用 jQuery get(0) 索引暂停和播放多个 HTML5 视频?

javascript - 播放后隐藏 YouTube 视频

android - 为什么 Android 的 MediaPlayer 需要这么长时间才能准备一些直播流进行播放?

android - 将搜索栏与音频歌曲同步