中文RecordRTC实现js屏幕录像摄像头麦克风录制
recordRTC非常强大,适用用于音频+视频+屏幕+画布(2D + 3D动画)录制,可以调用js在chrome和火狐下录制麦克风、摄像头、屏幕的视频,并且支持暂停继续录制、可选比特率、分辨率、编码方式等,视频可保持下载、上传到后端,阿里云oss及YouTube
一、入门代码
支持promise的es6代码示例
let stream = await navigator.mediaDevices.getUserMedia({video: true, audio: true}); let recorder = new RecordRTCPromisesHandler(stream, { type: 'video' }); recorder.startRecording(); const sleep = m => new Promise(r => setTimeout(r, m)); await sleep(3000); await recorder.stopRecording(); let blob = await recorder.getBlob(); invokeSaveAsDialog(blob);es2015代码示例
navigator.mediaDevices.getUserMedia({ video: true, audio: true }).then(async function(stream) { let recorder = RecordRTC(stream, { type: 'video' }); recorder.startRecording(); const sleep = m => new Promise(r => setTimeout(r, m)); await sleep(3000); recorder.stopRecording(function() { let blob = recorder.getBlob(); invokeSaveAsDialog(blob); }); });
二、推荐cdn
<!-- recommended --> <script src="https://www.WebRTC-Experiment.com/RecordRTC.js"></script> <!-- use 5.5.6 or any other version on cdnjs --> <script src="https://cdnjs.cloudflare.com/ajax/libs/RecordRTC/5.5.6/RecordRTC.js"></script> <!-- NPM i.e. "npm install recordrtc" --> <script src="node_modules/recordrtc/RecordRTC.js"></script> <!-- bower --> <script src="bower_components/recordrtc/RecordRTC.js"></script>
三、实例代码
const recorder = RecordRTC(stream, { // audio, video, canvas, gif type: 'video', // audio/webm // video/webm;codecs=vp9 // video/webm;codecs=vp8 // video/webm;codecs=h264 // video/x-matroska;codecs=avc1 // video/mpeg -- NOT supported by any browser, yet // video/mp4 -- NOT supported by any browser, yet // audio/wav // audio/ogg -- ONLY Firefox // demo: simple-demos/isTypeSupported.html mimeType: 'video/webm', // MediaStreamRecorder, StereoAudioRecorder, WebAssemblyRecorder...
点击查看剩余70%
网友评论0