WebRTC(四) Web端音视频数据采集及处理

本文介绍如果通过html代码在浏览器中采集和播放音视频数据。

1 html代码,用于显示视频

<html>
	<head>
		<title>WebRTC capture video and audio</title>
	</head>
	<body>
		<video autoplay playsinline id = "player"></video>
		<script src = "./client.js"></script>
	</body>
</html>

2 js代码,用于获取视频流

'use strict'

//后去到video标签
var videoplay = document.querySelector('video#player');

//将流赋值给video标签
function gotMediaStream(stream){
	videoplay.srcObject = stream;
}

//打印错误日志
function handleError(err){
	console.log('getUserMedia error : ', err);
}

if(!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia){
	console.log('getUserMedia is not supported');
}else{
	var constraints = {
		video : true,
		audio : true
	}

	navigator.mediaDevices.getUserMedia(constraints)
	.then(gotMediaStream)
	.catch(handleError)
}

通过以上js和html代码,就能将采集出摄像头的数据和音频数据。
但是以上方法是有浏览器的兼容性的问题。所以需要在js里面加入以下开源库

https://webrtc.github.io/adapter/adapter-latest.js

完整html代码

<html>
	<head>
		<title>WebRTC capture video and audio</title>
	</head>
	<body>
		<video autoplay playsinline id = "player"></video>
		<script src = "https://webrtc.github.io/adapter/adapter-latest.js"></script>
		<script src = "./client.js"></script>
	</body>
</html>

预览效果
html视频采集效果预览

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
WebRTCWeb Real-Time Communication)是一种用于在网页浏览器之间实现实时音视频通信的开放标准。它允许开发者通过使用Web浏览器和简单的JavaScript API来实现高质量的实时通信,无需任何插件或扩展程序。 要实现WebRTC的实时音视频功能,您可以参考WebRTC的示例代码和文档。示例代码可以帮助您了解如何创建一个简单的实时音视频功能的页面。在开始之前,您可以先了解一些实时音视频推拉流相关的基础概念,比如流、推流、拉流和房间。 流是一组按指定编码格式封装的音视频数据内容。一个流可以包含几个轨道,比如视频和音频轨道。推流是将采集阶段封包好的音视频数据流推送到实时音视频云的过程。拉流是从实时音视频云将已有音视频数据流拉取播放的过程。房间是用于组织用户群的音视频空间服务,同一房间内的用户可以互相收发实时音视频及消息。 在使用WebRTC实现实时音视频功能之前,用户需要先登录某个房间,然后才能进行音视频推流和拉流操作。用户只能收到自己所在房间内的相关消息,比如用户进出、音视频流变化等。 如果您对WebRTC实时音视频开发感兴趣,还可以领取免费的音视频开发学习资料,内容包括FFmpeg、webRTC、rtmp、hls、rtsp、ffplay、srs等。这些资料可以帮助您更深入地学习和了解音视频开发,并提供一个学习路线图供您参考。 总结起来,要实现WebRTC的实时音视频功能,您可以参考WebRTC的示例代码和文档,了解实时音视频推拉流的基本概念,以及学习音视频开发的相关资料。通过这些资源,您可以逐步掌握WebRTC实时音视频的实现方法和技术细节。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值