我一直在研究 Windows 10移动版和的视频捕获,用于 Windows 10移动版。我正在使用以下内容:
<input type="file" accept="video/*">
这使您可以选择移动网络摄像头作为来源,但只能拍照。在Android和iOS上,摄像头将打开以准备录制视频,您可以将其作为“多部分/表单数据” POST请求的一部分进行上传。
在网络上,有很多示例在视频元素中显示网络摄像头提要并从中捕获单个帧,但没有捕获完整的视频以供上载。在网络上没有实际从Windows Phone的网页上打开摄像机的示例(我正在Windows 10 Mobile Insider Preview上使用Edge Browser)。
我还使用了以下代码,该代码允许您从网络摄像头流中拍摄静态图像(来自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),但是,由于边缘浏览器不支持webp格式,因此这是不可行的。
我在网上找到的其他一些资源包括(但没有涉及视频上传):
http://dev.modern.ie/testdrive/demos/photocapture/
http://ryanjoy.com/2014/04/file-upload-in-ie11-on-windows-phone-8-1/
https://blogs.windows.com/buildingapps/2012/11/08/internet-explorer-10-brings-html5-to-windows-phone-8-in-a-big-way/
HTML5 on MSDN
HTMLInputElement on MSDN
最佳答案
目前绝对不支持“accept”属性。
边缘状态在http://dev.modern.ie/platform/status/httpclienthints/?filter=f3f0000bf&search=accept上仅以65票将其显示为“正在考虑中”。
如果您对在Edge上实现HTTP客户端提示(又名“accept”)感兴趣,请确定并在上面的URL上对其进行投票。
其他一些方面可提供有关Microsoft Edge的反馈。
Edge和IE的
https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer
https://windowsphone.uservoice.com/forums/101801-feature-suggestions/category/18985-web-browsing
希望能有所帮助。坦帕市的希利(Healy)。
关于使用Windows 10+移动版UPLOAD进行视频捕获,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31963816/