美文网首页
js 视频录制/录像

js 视频录制/录像

作者: 喵了个咪O_O | 来源:发表于2023-08-15 16:07 被阅读0次

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>摄像头录制视频</title>
<style>
video {
width: 100%;
max-width: 500px;
height: auto;
}
</style>
</head>
<body>
<h1>摄像头录制视频</h1>
<video id="video" autoplay></video>
<button id="startButton">开始录制</button>
<button id="stopButton">停止录制</button>
<video id="video1" autoplay></video>

<script type="text/javascript">
// 获取页面元素
const video = document.getElementById('video');
const video1 = document.getElementById('video1');
const startButton = document.getElementById('startButton');
const stopButton = document.getElementById('stopButton');
// 媒体设备约束
const constraints = {
video: true,
audio: false
};

// 定义全局变量
let mediaRecorder;
let mediaStreamTrack;
let recordedChunks = [];

function startrecord () {
// 获取摄像头流
navigator.mediaDevices.getUserMedia(constraints)
.then(stream => {
mediaStreamTrack = stream
video.srcObject = stream;
mediaRecorder = new MediaRecorder(stream);

    recordedChunks = [];
    mediaRecorder.start();



    // 当开始录制时,将数据存储在recordedChunks数组中
    mediaRecorder.ondataavailable = event => {
      console.log(event)
      recordedChunks.push(event.data);
    };

    // 当录制完成时,将录制视频呈现在video元素中
    mediaRecorder.onstop = () => {
      const recordedBlob = new Blob(recordedChunks, { type: 'video/mp4' });
      var url = URL.createObjectURL(recordedBlob);
      console.log(url)
      video1.src = url
      video1.controls = true;

      // 下载
      var a = document.createElement("a");
      document.body.appendChild(a);
      a.style = "display: none";
      a.href = url;
      a.download = "test.mp4";
      a.click();
      // window.URL.revokeObjectURL(url);
    };


  })
  .catch(err => {
    console.error(`摄像头流获取失败: ${err}`);
  });

}

// 当点击“开始录制”按钮时,开始录制
startButton.addEventListener('click', () => {
startrecord();

});

// 当点击“停止录制”按钮时,停止录制
stopButton.addEventListener('click', () => {
mediaRecorder.stop();
mediaStreamTrack.getVideoTracks().forEach(track => {
track.stop()
})
});

</script>

</body>
</html>

相关文章

  • 怎么进行屏幕录像?

    现在有不少人对屏幕录像有需求,录制一些教学演示视频啊、录制视频片断什么的,屏幕录像需要用到专门的屏幕录制软件,迅捷...

  • 软件操作教程视频如何录制?

    现在有不少人对屏幕录像有需求,录制一些教学演示视频啊、录制视频片断什么的,屏幕录像需要用到专门的屏幕录制软件,迅捷...

  • 三款录屏视频神器

    1.KK录像机 kk录像机是一款简单实用的录像软件,包括游戏录制、桌面录制、视频录制。适用于任何一款游戏,支持窗口...

  • 电脑屏幕使用迅捷屏幕录像工具录制展示鼠标的操作

    ​随着屏幕录像软件的普及,越来越多的人进行屏幕录制的操作,而在录制桌面录像视频时,可能需要录制鼠标,便于用户展示鼠...

  • 如何给电脑屏幕录像?

    有时候经常需要给电脑屏幕录像,录制游戏视频、录制网络课程等等,这要用到专门的屏幕录像工具,迅捷屏幕录像工具简单易上...

  • 怎么给电脑屏幕录像?

    给电脑屏幕录像是件很简单的事情,有时候会想要录制演示课件、录制游戏视频等等,用迅捷屏幕录像工具就可以完美录制,操作...

  • 屏幕录制软件怎么用?

    用屏幕录制软件可以实现很多功能,比如说录制课程视频、录制游戏视频等等,屏幕录制软件操作也比较简单,迅捷屏幕录像工具...

  • OpenGL ES +MediaCodec音视频采集录制录

    对于一个视频的录制,包括以下几个部分:1,视频图像的采集2,视频录像的编码录制3,音频的采集4,音频的编码录制5,...

  • 电脑上如何录制高清屏幕?

    现在大家都喜欢看高清的视频,电脑上录制的视频也要求高清的,录制高清视频也比较简单,用迅捷屏幕录像工具就可以录制高清...

  • 玩游戏录视频的软件推荐迅捷屏幕录像工具

    迅捷屏幕录像工具作为一款专业的本地视频录制的多媒体软件。用户通过软件可以录制游戏视频、在线视频、聊天视频、网络课件...

网友评论

      本文标题:js 视频录制/录像

      本文链接:https://www.haomeiwen.com/subject/fwmhmdtx.html