use*_*954 4 resolution video-streaming webrtc
我正在尝试使用WebRTC的getUserMedia功能从用户的摄像头拍摄视频流中的快照.问题是我想分别在Firefox 19.02,Opera 12.14和Chrome 25.0.1364.172版本中使用640 X 480的分辨率,但我无法在Firefox和Opera中使用此分辨率.当我尝试时,图像显示从下方切割640 x 360分辨率.无论如何,如果我尝试更改Chrome中的分辨率,它不起作用,也不会比640 X 480更高的分辨率.是否有人有同样的问题?我想知道这是一个错误还是什么,但我还没有看到任何相关的信息.这是我的代码,我已经在许多方面证明了这样的最小宽度和高度的限制,但它不起作用:
剧本:
navigator.getUserMedia = navigator.getUserMedia || navigator.mozGetUserMedia || navigator.webkitGetUserMedia || navigator.msGetUserMedia;
if(navigator.getUserMedia){
navigator.getUserMedia({
video: true
}, onSuccess, onError);
}
else{
alert('An error has occurred starting the webcam stream, please revise the instructions to fix the problem');
}
function onSuccess(stream) {
var video = document.getElementById('webcam');
if(navigator.webkitGetUserMedia || navigator.mozGetUserMedia){
video.src = window.URL.createObjectURL(stream);
}
else if(navigator.msGetUserMedia){
//future implementation over internet explorer
}
else{
video.src = stream;
}
video.play();
}
function onError() {
alert('There has been a problem retrieving the streams - did you allow access?');
}
Run Code Online (Sandbox Code Playgroud)
css(仅用于证明,它不会将所有内容放在正确的位置):
body {
margin: 0px 0px;
padding: 0px 0px;
}
#videoFrame {
margin: 0px auto;
width: 640px;
height: 480px;
border: 10px #333 solid;
}
#webcam {
videoWidth: 640px;
videoHeight: 480px;
}
#captureFrame {
margin: 0px auto;
width: 640px;
height: 480px;
}
#webcamContent {
width: 1280px;
height: 480px;
}
Run Code Online (Sandbox Code Playgroud)
和jsp文件:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Testing WebRTC</title>`
<link href="css/styles.css" rel="stylesheet" type="text/css" />`
</head>
<body>
<div id="webcamContent">
<div id="videoFrame">
<video id="webcam"></video>
</div>
<div id="captureFrame">
<canvas id="bioCapture"></canvas>
</div>
</div>
<script src="js/webRTC.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
提前致谢!
尝试maxWidth/maxHeight 约束:
var video_constraints = {
mandatory: {
maxHeight: 480,
maxWidth: 640
},
optional: []
};
navigator.getUserMedia({
audio: false,
video: video_constraints
}, onsuccess);
Run Code Online (Sandbox Code Playgroud)
更新(2013年9月26日):
根据这个页面 ; 您可以设置以下分辨率(最小/最大宽度/高度):
1920:1080
1280:720
960:720
640:360
640:480
320:240
320:180
Run Code Online (Sandbox Code Playgroud)
或者也许:
1280:800
1280:720
960:600
960:540
640:400
640:360
640:480
480:300
480:270
480:360
320:200
320:180
320:240
240:150
240:135
240:180
160:100
160:90
160:120
Run Code Online (Sandbox Code Playgroud)