我正在开发一个客户端项目,它允许用户提供视频文件并对其应用基本操作.我正在尝试可靠地从视频中提取帧.目前我有一个<video>我正在加载所选视频,然后按如下方式拉出每个帧:
<video>到一个<canvas>.toDataUrl()这是一个相当低效的过程,更具体地说,证明是不可靠的,因为我经常遇到卡住的帧.这似乎是因为它不会<video>在绘制到画布之前更新实际元素.
我宁愿不必将原始视频上传到服务器只是为了分割帧,然后将它们下载回客户端.
任何有关更好的方法的建议都非常感谢.唯一需要注意的是,我需要它使用浏览器支持的任何格式(在JS中解码不是一个很好的选择).
我正在使用内置的MediaRecorder替换RecordRTC,以便在Chrome中录制音频.然后在带有音频api的程序中播放录制的音频.我无法使audio.duration属性工作.它说
如果视频(音频)是流式传输且没有预定义长度,则返回"Inf"(无限).
使用RecordRTC,我不得不使用ffmpeg_asm.js将音频从wav转换为ogg.我的猜测是在RecordRTC设置预定义音频长度的过程中的某个地方.有没有办法使用MediaRecorder设置预定义的长度?
javascript google-chrome html5-audio mediarecorder recordrtc