Amazon s3 无法将录制的WebRTC视频/音频保存到Amazon S3
我正在使用RecordRTC.js在客户端生成一个.webm blob,这一切都按预期进行。然后我需要将这个.Webm文件保存到AmazonS3 我目前在控制台中收到一条“no element found”消息,因为出于安全考虑,不允许用blob填充文件字段-那么发送blob的正确做法是什么 我的S3帐户上保存了一个损坏的.webm文件,因此应用程序可以连接到S3 以下是我尝试发送.webm文件的JavaScript:Amazon s3 无法将录制的WebRTC视频/音频保存到Amazon S3,amazon-s3,webrtc,Amazon S3,Webrtc,我正在使用RecordRTC.js在客户端生成一个.webm blob,这一切都按预期进行。然后我需要将这个.Webm文件保存到AmazonS3 我目前在控制台中收到一条“no element found”消息,因为出于安全考虑,不允许用blob填充文件字段-那么发送blob的正确做法是什么 我的S3帐户上保存了一个损坏的.webm文件,因此应用程序可以连接到S3 以下是我尝试发送.webm文件的JavaScript: /** * S3 CORS */ uploading = false;
/**
* S3 CORS
*/
uploading = false;
var xhr = new XMLHttpRequest();
function uploadFile() {
var fd = new FormData();
var key = 'webup-' + (new Date).getTime() + '-' + 'webcam.webm'
fd.append('key', key);
fd.append('acl', 'private');
fd.append('Content-Type', 'video/webm');
fd.append('AWSAccessKeyId', 'access-id');
fd.append('policy', 'policy-str');
fd.append('signature', 'signature-str');
fd.append('file', blob); // blob = video.src (the generated webm file)
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open('POST', 'https://mybucket.s3.amazonaws.com/', true);
xhr.send(fd);
uploading = true;
}
function uploadProgress(evt) { }
function uploadComplete(evt) { alert('Upload Complete'); }
function uploadFailed(evt) { alert('Upload Failed'); }
function uploadCanceled(evt) { alert('Upload Canceled') }
/**
* ready()
*/
$(document).ready(function(){
saveRecording.disabled = true;
$("#save-recording").click(function(){
uploadFile();
});
});
提前谢谢 你应该试试看;检查文件。它将记录的blob读取为数据url;以及使用socket.io消息将生成的数据URL推送到nodejs服务器;不过,您可以轻松选择HTTP-POST机制。谢谢您的建议。这引起了我的思考——我的应用程序是用Python编写的,所以设置一个单独的NodeJS服务器来处理网络摄像头视频/音频上传是否可行?很简单,它也可以与您的Python项目一起使用。这样就不需要在外部设置NodeJ。