javascript - 使用 Whammy Lib 将 blob 文件转换为 webm

标签 javascript html5-video video-recording webm

我正在使用 Whammy Lib 生成带有图像的视频。 录制视频后,Whammy 库会返回一个带有 blob 文件的临时目录。

blob:http%3A//localhost%3A8000/b07288dc-da33-409c-90bc-9d1ce949db35

我需要使用 php 将此文件上传到我的服务器,但我不知道如何发送 webm 文件而不是 blob 文件。

为了编译视频,我正在使用:

videoEncoder = new Whammy.Video();
for (var i = 0; i < images.length; i++) {
    videoCtx.putImageData(images[i].image, 0, 0);
    videoEncoder.add(videoCtx, images[i].duration);
}

blob = videoEncoder.compile();
file = (window.webkitURL || window.URL).createObjectURL(blob);

已回答!

更新我解决问题的最后代码:

var data = $(form).serializeArray();
var formData = new FormData();
// blob is the return from Whammy Lib after compile
formData.append('webm', blob, 'video.webm');

我只需要将 blob 文件附加到 FormData 并发送到我的 php。

最佳答案

我不知道 Whammy Lib,但如果你有 blob 对象,那么你可以使用 FormData反对将其作为文件发送到您的服务器:

var f = new FormData();
f.append('videofile', b);
var xhr=new XMLHttpRequest();
xhr.open('POST','savevideofile.php');
xhr.send(f);

然后在savevideofile.php

if($_FILES['videofile']){
    $my_file = $_FILES['videofile'];
    $my_blob = file_get_contents($my_file['tmp_name']);
    file_put_contents('your_file.webm', $my_blob);
    }

关于javascript - 使用 Whammy Lib 将 blob 文件转换为 webm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31927416/

相关文章:

javascript - 除了 alert 和 document.write 之外打印输出的方法

Javascript 使用图像将视频静音/取消静音

javascript - 如何捕获Chrome原生HTML 5视频/音频播放器的下载控制点击?

FFMPEG:编码解码器 'rgb24' 的像素格式不兼容 'gif' ,自动选择格式 'rgb8'

ios - 以编程方式在 iOS 中录制视频

javascript - 如何从表中获取行明智的值?

php - 一页上的多个简单模式 - 动态

javascript - Grails javascript 文件重新加载

html - 如何在半桌面屏幕上制作全高视频?

android - 如何使用 FFMPEG 从 url 录制/下载 m3u steam 视频