gpt4 book ai didi

php - 录制视频和音频

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:07 25 4
gpt4 key购买 nike

Fiddle

我跟着这个 fiddle 。它具有视频和音频捕获功能。但它不会让我录制视频并将其发送到 php 以使用 ffmpeg 进行进一步处理并保存。我想知道如何录制视频并将其发送到 php 并保存?

var btnVideoCapture = document.getElementById('btn-capture-video');
btnVideoCapture.addEventListener('click', showUserMedia, false);

var btnScreenshot = document.getElementById('btn-screenshot');
btnScreenshot.addEventListener('click', snapshot, false);

var btnStopVideo = document.getElementById('btn-stop-video');
btnStopVideo.addEventListener('click', stopUserMedia, false);

var onFailSoHard = function (e) {
console.log('Reeeejected!', e);
};
var video = document.querySelector('video');
var canvas = document.querySelector('canvas');
var ctx = canvas.getContext('2d');
var localMediaStream = null;


function showUserMedia() {
window.URL = window.URL || window.webkitURL;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
if (navigator.getUserMedia) {
navigator.getUserMedia({
audio: true,
video: true
}, function (stream) {
video.src = window.URL.createObjectURL(stream);
video.controls = true;
localMediaStream = stream;
}, onFailSoHard);
// console.log('Good to go!');
} else {
video.src = 'somevideo.webm'; // fallback.
//console.log('getUserMedia() is not supported in your browser');
}
}

function snapshot() {
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
if (localMediaStream) {
ctx.drawImage(video, 0, 0);
// "image/webp" works in Chrome 18. In other browsers, this will fall back to image/png.
document.querySelector('img').src = canvas.toDataURL('image/webp');
}
}

function stopUserMedia() {
video.pause();
localMediaStream.stop();
video.src = '';
}

最佳答案

您发布的代码仅访问网络摄像头并在 <video> 中显示视频流元素( showUserMedia() 函数)。它不会录制视频或将数据发布到网络服务器。

录制视频(和音频),您需要使用 Chrome(49+)和 Firefox(30+)现在支持的 Media Recorder API。两个浏览器都记录到 .webm并且您可以将文件发布到网络服务器以进行进一步处理。

This article详细介绍了规范,这里是 live demo + GitHub project .

关于php - 录制视频和音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24182566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com