我一直在研究用于Windows 10 移动版的UPLOAD视频捕获,目前看来不可能。我正在使用以下内容:
<input type="file" accept="video/*">
这允许您选择移动网络摄像头作为来源,但您只能拍照。在 Android 和 iOS 上,相机打开准备录制视频,您可以将其作为“multipart/form-data”POST 请求的一部分上传。
在网络上,有很多在视频元素中显示网络摄像头提要并从中捕获单个帧的示例,但没有一个是捕获完整的视频以供上传。网络上没有实际从 Windows Phone 上的网页打开摄像机的示例(我在 Windows 10 Mobile Insider Preview 上使用 Edge 浏览器)。
我还使用了以下代码,它允许您从网络摄像头流中获取静止图像(从MicrosoftEdge/Demos/photocapture获取):
var initializeVideoStream = function(stream) {
mediaStream = stream;
var video = document.getElementById('videoTag');
if (typeof (video.srcObject) !== 'undefined') {
video.srcObject = mediaStream;
}
else {
video.src = URL.createObjectURL(mediaStream);
}
...
}
navigator.mediaDevices.getUserMedia({
video: {
width: 640,
height: 360,
deviceId: { exact: webcamList[currentCam] }
}
}).then(initializeVideoStream).catch(getUserMediaError);
使用 MediaStream 对象调用 initializeVideoStream,但是,似乎无法将其通过管道传输到 Blob 或其他允许您保存它并最终将其发布到服务器的流。
HTML5 MediaRecorder API看起来很有前途,但是,还没有很多供应商实现它。
我还发现了这个 hack Recording Audio & Video with HTML5 (co-starring Meteor),但是,由于 Edge 浏览器不支持webp格式,这是不行的。
我在网上找到的其他一些资源包括(但没有涵盖视频上传):
http://dev.modern.ie/testdrive/demos/photocapture/
http://ryanjoy.com/2014/04/file-upload-in-ie11-on-windows-phone-8-1/