好的,这里的上下文是我有一个带有Flash播放器或HTML5播放器的网页,或者带有本机播放器的原生iOS应用程序。
在播放视频时,是否可以从视频中抓取一帧并将其发送回服务器?
因此,在播放器中,有一个RTMP或HDS流进来。使用ActionScript甚至可以从播放器正在播放的流中抓取帧?
我想这个答案是否定的,因为我只有javascript和DOM,但视频标签的任何实现都允许这种类型的交互?如果是这样,哪些?我真的只对iOS Safari和Android 3+感兴趣,因为流将是HLS。
与Flash解决方案类似,Apple是否在iOS中提供API,允许我在应用中从HLS流中捕获帧?
答案 0 :(得分:0)
您可以使用此代码将视频作为数据URI
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
var width = $('#video').outerWidth();
var height = $('#video').outerHeight();
canvas.width = width; canvas.height = height;
var videoElem = document.getElementById('video');
context.drawImage(videoElem, 0, 0, width, height);
var dataURL = canvas.toDataURL();
console.log(dataURL);