我跟着这个小提琴。在此,它具有视频和音频捕获功能。但是它不会让我录制视频并将其发送到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 = '';
}
答案 0 :(得分:2)
您发布的代码只能访问网络摄像头,并在<video>
元素(showUserMedia()
功能)中显示视频流。它不会将视频或POST数据记录到Web服务器。
要录制视频(和音频),您需要使用Chrome(49+)和Firefox(30+)现在支持的 Media Recorder API 。两个浏览器都记录到.webm
,您可以将文件发布到Web服务器以进行进一步处理。
This article详细介绍了规范,此处为live demo + GitHub project。
答案 1 :(得分:0)
您可能也想看看这个:How to record webcam and audio using webRTC and a server-based Peer connection
我认为这符合您的特定需求:https://github.com/muaz-khan/WebRTC-Experiment/tree/master/RecordRTC/RecordRTC-to-PHP
以下是录制视频和音频的示例:opentokrtc.com
答案 2 :(得分:-2)
1-首先,您将使用javascript进行录制 2-然后在页面中设置隐藏的多部分隐藏表格 3-录制视频后,您将触发一个事件,以便录制录制的视频。 4 - 然后在这里您可以手动将此视频提交到PHP脚本