小编Asi*_*qui的帖子

将字幕动态加载到视频中

情况是这样的:服务器接收到srt文件流。服务器将流转换为vtt格式。然后将生成的流缓冲到缓冲区中,然后通过 io.socket 发送到客户端。

这是服务器代码

self.expressApp.post("/upload", function (req, res) {
var busboy = new Busboy({ headers: req.headers });
        busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
            var subchunks = [],
                sub = file.pipe(srt2vtt());
            sub.on('data',function(buffer){
                subchunks.push(buffer);
            });
            sub.on('end',function(){
                var buffer = Buffer.concat(subchunks);
                socket.emit('Subtitles',buffer);
            });
        });
        busboy.on('finish', function() {
            res.writeHead(200, { 'Connection': 'close' });
            res.end();
        });
        return req.pipe(busboy);
});
Run Code Online (Sandbox Code Playgroud)

这是客户端代码

var subobj = new Blob([new Uint8Array(payload)],{type: "text/vtt"}),
    url = (URL || webkitURL).createObjectURL(subobj),
    track = document.createElement("track");                
    track.kind …
Run Code Online (Sandbox Code Playgroud)

html javascript blob node.js html5-video

1
推荐指数
1
解决办法
2302
查看次数

标签 统计

blob ×1

html ×1

html5-video ×1

javascript ×1

node.js ×1