javascript - 流式传输网络摄像头/音频并将其保存为服务器上的文件 - Apache
问题描述
我很好奇在我的小项目中实现一个功能。
基本上,我想要的是当我转到一个特定页面时,我想开始使用我的网络摄像头录制视频和音频,并将该会话保存在我的 Apache 服务器中。现在,问题是我想将其作为数据流式传输,而不是记录它,然后将该文件发送到服务器。这样做的原因是,当我完成该页面时,我将被转移到另一个页面,我将没有时间上传整个视频。
我在一个 git 页面上找到了这个,
<?php
foreach(array('video', 'audio') as $type) {
if (isset($_FILES["${type}-blob"])) {
echo 'uploads/';
$fileName = $_POST["${type}-filename"];
$uploadDirectory = 'uploads/'.$fileName;
if (!move_uploaded_file($_FILES["${type}-blob"]["tmp_name"], $uploadDirectory)) {
echo(" problem moving uploaded file");
}
echo($fileName);
}
}
?>
和 Javascript
var fileType = 'video'; // or "audio"
var fileName = 'ABCDEF.webm'; // or "wav"
var formData = new FormData();
formData.append(fileType + '-filename', fileName);
formData.append(fileType + '-blob', blob);
xhr('save.php', formData, function (fName) {
window.open(location.href + fName);
});
function xhr(url, data, callback) {
var request = new XMLHttpRequest();
request.onreadystatechange = function () {
if (request.readyState == 4 && request.status == 200) {
callback(location.href + request.responseText);
}
};
request.open('POST', url);
request.send(data);
}
但我不确定这是否是流媒体解决方案(正如我所提到的),而不是记录然后上传。
我正在使用带有一些 Javascript 的 PHP,并将 Apache 作为服务器。
解决方案
推荐阅读
- mysql - Select rows with duration calculation in the where clause
- react-native - FormData 是一个具有数组数组的对象
- postgresql - 何为 Google Cloud SQL Postgresql 实例建立连接 URL
- django - 如何将我的 sqlite 数据传递给 django 并制作图表?
- javascript - 从外部脚本访问 React DOM 元素
- c++ - 在对象中构造对象
- python - 如何将特定时间的时间作为 time.time() 获取?
- amazon-web-services - Kubernetes AWS 共享持久卷
- excel - 从 Excel TEXT 函数中获取总小时数
- regex - 正则表达式不将下划线 ( _ ) 识别为特殊字符