gpt4 book ai didi

javascript - 如何使用javascript将视频文件转换为字符串?

转载 作者:行者123 更新时间:2023-11-30 12:04:15 25 4
gpt4 key购买 nike

我在 signalR 工作,我想通过将视频文件分成不同的部分来将视频文件从一个客户端发送到另一个客户端。我已经通过拆分图像 src 数据发送了图像,并在另一个客户端上接收了它。

    document.getElementById("fileUpload").addEventListener("change", readImage, false);
function readImage() {
if (this.files && this.files[0]) {
var FR = new FileReader();
FR.onload = function (e) {
var img = new Image();
img.onload = function () {
var imageString = img.src.toString()
var spliceStr = "";
var i = 0;
while (i < imageString.length)
{
spliceStr = imageString.substring(i, (i+50000));
ImageSpliceArray.push(spliceStr);
i = i + 50000;
}
$("#imageId").html('<img src="' + img.src + '"/>');
testR.server.hello("Start", imageString.length,"");
testR.server.hello("FragmentCount", ImageSpliceArray.length,"");
for(k=0;k<ImageSpliceArray.length;k++)
{
testR.server.hello("FragmentData", ImageSpliceArray[k], k);
}
testR.server.hello("Done", "", "");
};
img.src = e.target.result;

};
FR.readAsDataURL(this.files[0]);
}
}

现在我想要同样的视频。我从 input type ="file" 中读取了一段视频。然后我知道将该视频放在 html 视频元素中,但我希望视频的所有数据都采用字符串格式,以便通过将该字符串拆分为不同的部分来将该视频发送到另一个视频。

注意:SignalR 用于将文本从一个客户端发送到另一个客户端。数据大小约为(50kb)。

最佳答案

这是我今天发现的第二件我认为不可能的事情。我拿了一个小的 MP4 视频文件 (86KB),然后将它编码到这个 site 上的一个基于 64 位的数据 URI。 .我做了一个 <video> 的简单测试页设置了 src 属性的元素:

`src="data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZj....

所以一串文本可以是一个视频,虽然我在我的驱动器上找不到 50KB 的视频文件,但我相信 86KB 的文件大小足以证明。你可以在这个Plunker上看到

从这个 article 找到这个:

function getDataUri(url, callback) {
var image = new Image();

image.onload = function () {
var canvas = document.createElement('canvas');
canvas.width = this.naturalWidth; // or 'width' if you want a special/scaled size
canvas.height = this.naturalHeight; // or 'height' if you want a special/scaled size

canvas.getContext('2d').drawImage(this, 0, 0);

// Get raw image data
callback(canvas.toDataURL('image/png').replace(/^data:image\/(png|jpg);base64,/, ''));

// ... or get as Data URI
callback(canvas.toDataURL('image/png'));
};

image.src = url;

// Usage
getDataUri('/logo.png', function(dataUri) {
// Do whatever you'd like with the Data URI!
});

You can modify this script to use videos instead of images.

关于javascript - 如何使用javascript将视频文件转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35692933/

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