java获取摄像头h.264视频流_基于H5的摄像头视频数据流采集

本文介绍了如何使用Java配合H5的MediaRecorder API获取摄像头的H.264视频流,并通过WebSocket实时传输到服务器。代码示例展示了在Chrome和Firefox浏览器中的不同配置,以及使用FileReader将Blob数据转换为Uint8Array以适应WebSocket的传输需求。
摘要由CSDN通过智能技术生成

'use strict';/*globals MediaRecorder*/

//Spec is athttp://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/RecordingProposal.html

navigator.getUserMedia= navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia ||navigator.msGetUserMedia;if(getBrowser() == "Chrome"){var constraints = {"audio": true, "video": { "mandatory": { "minWidth": 640, "maxWidth": 640, "minHeight": 480,"maxHeight": 480 }, "optional": [] } };//Chrome

}else if(getBrowser() == "Firefox"){var constraints = {audio: false, video: { width: { min: 640, ideal: 640, max: 640 }, height: { min: 480, ideal: 480, max: 480 }}}; //Firefox

}var recBtn = document.querySelector('button#rec');var pauseResBtn = document.querySelector('button#pauseRes');var stopBtn = document.querySelector('button#stop');var videoElement = document.querySelector('video');var dataElement = document.querySelector('#data');var downloadLink = document.querySelector('a#downloadLink');

videoElement.controls= false;

function errorCallback(error){

console.log('navigator.getUserMedia error:', error);

}/*var mediaSource = new MediaSource();

mediaSource.addEventListener('sourceopen', handleSourceOpen, false);

var sourceBuffer;*/

varmediaRecorder;var chunks =[];var count = 0;var wsurl = "ws://10.90.9.20:9080/RDConsumer/websocket"

var ws = null;

function createWs(){var url =wsurl;if ('WebSocket' inwindow) {

ws= newWebSocket(url);

}else if ('MozWebSocket' inwindow) {

ws= newMozWebSocket(url);

}else{

console.log("您的浏览器不支持WebSocket。");return;

}

}

function init() {if (ws != null) {

console.log("现已连接");return;

}

createWs();

ws.onopen=function() {//设置发信息送类型为:ArrayBuffer

ws.binaryType = "arraybuffer";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值