浏览器中如何将本地视频导出带声音的webm视频?
网友回复
在浏览器中将本地视频导出为带声音的 WebM 格式视频,可以通过 JavaScript 使用 MediaRecorder API 实现。大致思路是将本地视频加载到 <video> 标签中,然后使用 captureStream() 获取其视频和音频流,再用 MediaRecorder 录制成 WebM 格式。下面是完整的示例步骤和代码:一、前提条件
浏览器支持 MediaRecorder 和 captureStream()(Chrome、Firefox 支持良好)。本地视频格式可以被浏览器解码(建议使用 mp4)。 二、HTML 结构
<input type="file" id="input" accept="video/*" /> <video id="video" controls style="max-width: 100%;"></video> <button id="recordBtn">导出为 WebM</button>三、JavaScript 实现逻辑
const input = document.getElementById('input'); const video = document.getElementById('video'); const recordBtn = document.getElementById('recordBtn'); let mediaRecorder; let recordedChunks = []; input.addEventListener('change', (e) => { const file = e.target.files[0]; if (file) { const url = URL.createObjectURL(file); video.src = url; } }); recordBtn.addEventListener('click', async () => { if (video.readyState < 3) { alert("请等待视频加载完成!"); return; } const stream = video.captureStream(); // 获取音视频流 recordedChunks = []; mediaRecorder = new MediaRecorder(stream, { mimeType: 'video/webm; codecs=vp8,opus' }); mediaRecorder.ondataavailable = function (event) { if (event.data.size > 0) recordedChunks.push(event.data); }; mediaRecorder.onstop = function () { const blob = new Blob(recordedChunks, { type: 'video/webm' }); con...
点击查看剩余70%
python如何实现laywright打开Headless Chrome录制网页视频为mp4?
python中的aiortc如何通过webrtc将浏览器端用户摄像头数据捕获放到服务器端保存?
高考试卷批改是否全部都是ai完成的?
python如何通过视觉检检测高考考场考生动作是否作弊舞弊?
python如何linux新建headless打开chrome并远程webrtc实时查看网页渲染?
python如何将windows电脑屏幕通过webrtc在网页远程操控?
python如何实现类似按键精灵的录制鼠标和键盘操作记录并自动重复操作的代码?
vue的响应式技术可否用在后端?
如何开发一个全屏app集成抖音换脸sdk实现实时摄像头换脸?
ai如何从多人嘈杂的对话中提取指定人说话声音的完整声音?