首页 > 其他分享 >js 视频录制

js 视频录制

时间:2023-12-20 14:11:53浏览次数:28  
标签:视频 mediaRecorder const 录制 downloadLink js let video mediaStream

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button onclick="startRecording()">开始录像</button>
<button onclick="stopRecording()">结束录像</button>
<!-- <button onclick="startRecording()">下载录像</button> -->
</body>
<script>
let mediaStream;
let mediaRecorder;
let recordedChunks = [];

const startRecording = async () => {
try {
mediaStream = await navigator.mediaDevices.getDisplayMedia({
video: true,
audio: true
});

mediaRecorder = new MediaRecorder(mediaStream, {
mimeType: 'video/webm; codecs=vp9'
});
mediaRecorder.ondataavailable = handleDataAvailable;
mediaRecorder.start();
} catch (error) {
console.error("Error starting recording:", error);
}
};

const stopRecording = () => {
if (mediaRecorder && mediaRecorder.state !== "inactive") {
mediaRecorder.stop();
let list=mediaStream.getTracks()
list.forEach(track => {
track.stop()
});
setTimeout(()=>{
downloadRecording()
},1000)
}
};

const handleDataAvailable = (event) => {
if (event.data.size > 0) {
recordedChunks.push(event.data);
}
};

const downloadRecording = () => {
const blob = new Blob(recordedChunks, {
type: "video/mp4"
});
const url = URL.createObjectURL(blob);

const downloadLink = document.createElement("a");
downloadLink.href = url;
downloadLink.download = "recording.mp4";
downloadLink.click();

URL.revokeObjectURL(url);
};
</script>
</html>

标签:视频,mediaRecorder,const,录制,downloadLink,js,let,video,mediaStream
From: https://www.cnblogs.com/huangzg/p/17916388.html

相关文章

  • JS+CSS多行文本显示“更多”
    本代码展示最多显示3行,每行行高16px,3行总高48px,4行总高64px当文本行数大于3行,显示“更多”CSS:#CourseDesc{margin-top:5px;font-size:12px;position:relative;max-height:48px;line-height:16px;overflow:hidden;}#CourseDesc.temp{position:absolute;top......
  • GB28181视频平台LiteCVR接入音频无声的原因排查
    视频监控系统逐渐向着互联互通和可视化的方向发展。随着互联网技术的发展,视频监控系统可以联网进行数据传输,实现不同监控设备之间的互联互通。同时,可视化技术的应用也使得视频监控数据可以以更加直观的方式呈现,使得人们更加容易理解和应用。GB28181视频平台LiteCVR拓展性强,视频能力......
  • 安防监控市场发展6大趋势及LiteCVR视频监控技术应用方案
    随着市场安防需求的增加,安防监控市场的发展也呈现出以下几个趋势:1)无人值守、智能化。随着人工智能技术的发展,安防监控设备不仅可以对场所进行实时监控,还可以通过图像识别、语音识别等技术实现智能化管理。LiteCVR平台通过接入和利用AI识别技术,可以实现人脸识别、人脸检测、区域入侵......
  • 国标GB28181安防视频平台LiteCVR接入国标设备时,注册不上线的原因排查
    随着社会经济的快速发展和科技的持续进步,安防监控行业在近年来取得了显著的进步。从城市安全到家庭监控,从工厂管理系统到交通管理,安防监控系统已经深入到各个领域,为人们的生活和工作提供了强大的安全保障。有用户在使用视频监控安防平台LiteCVR时,出现了国标GB28181设备注册不上线的......
  • 浅析国标GB28181协议LiteCVR视频监控安防平台的视频技术与应用
    随着社会的不断发展,视频监控技术在安防领域中扮演着越来越重要的角色。本文将浅析视频监控安防平台的相关技术与应用场景,并结合LiteCVR安防视频平台的视频技术,以便更好地了解这一技术的实际应用。litemedia/cn首先,我们来了解一下视频监控安防平台的相关技术。视频监控技术主要包括......
  • 2024年安防视频监控发展趋势预测及LiteCVR视频技术应用
    随着科技的快速发展,安防视频技术已经成为了各个领域中不可或缺的一部分。为了更好地应对各种安全挑战,安防视频技术也在不断地升级和改进。本文将预测2024年安防视频技术的几个发展趋势。首先,高清化将是未来安防视频技术的一个重要方向。随着人们对安全需求的不断提高,对视频清晰度......
  • 盘点2023年安防监控行业技术进展与LiteCVR视频云技术应用
    2023年安防监控行业的技术进展可谓日新月异,各种新技术的应用层出不穷。以下是对今年安防监控行业一些重要技术进展的盘点:1、人工智能(AI)技术在安防监控领域的应用越来越广泛在人工智能的推动下,智能视频分析技术得到了迅速发展,它可以通过对视频内容的自动识别、分析和理解,实现自动化......
  • RTSP流媒体视频平台LiteNVR播放HLS流,出现中断且无法自动恢复的原因排查
    有用户反映,在使用安防视频LiteNVR平台时,取平台分发的hls地址在移动端播放一段时间就会停止,且无法自动恢复播放。今天我们来介绍下该问题的排查与解决方法。LiteNVR是基于RTSP/Onvif协议推出的安防视频监控管理平台,它可实现设备接入、实时直播、录像、检索与回放、存储、视频分发......
  • 硬盘录像机无法注册安防监控视频平台LiteCVR的原因:端口未开放
    在这个数字化、网络化的时代,安防监控不再仅仅是满足于传统的安全需求,而是向着更加智能化、综合化的方向发展。最近技术人员收到用户反馈,硬盘录像机无法注册到视频监控LiteCVR平台上,现场网络通常且设备已经升级更新,但是依旧无法注册成功。今天我们针对该问题进行一下讲解。视频监......
  • 国标GB28181协议LiteCVR平台与AI视频识别技术在监控行业中的应用
    随着科技的不断发展,人工智能(AI)视频识别技术已经在监控行业中得到了广泛的应用。这种先进的技术使得监控系统能够更加智能化、高效化,从而提高了安全性和可靠性。首先,AI视频识别技术可以应用于人脸识别。传统的监控系统只能记录下人们的样貌,但无法准确识别出目标人物的身份。而AI视频......