我在signalR工作,我想通过分割不同部分的视频文件将视频文件从一个客户端发送到另一个客户端。 我已经通过分割图像src数据发送了图像,并在另一个客户机上接收了图像。如何使用JavaScript将视频文件转换为字符串?
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)。
那么,为什么不读取源视频文件只是50 000个字节,发送字节值的文本(例如:“FF-A0-17-AF-BC”等),读取下一个50kb发送。直到所有字节被读取。接收端可以将这些字节值组合成整个文件(您可以编写这样一个应用程序,或者将它们粘贴到某个十六进制编辑器中)。 –