在nodejs

时间:2019-02-28 08:55:26

标签: javascript node.js encoding

我想从mp4 video创建缓冲区,然后再次将该缓冲区转换为视频。

我正在生成缓冲区

const buffer = Buffer.from("Cat.mp4");
console.log(buffer);

我正在获得输出<Buffer 43 61 74 2e 6d 70 34>

现在我再次将缓冲区转换为视频

fs.writeFile("test.mp4", buffer, 'binary',function(err) {
    if(err) {
        console.log(err);
    } else {
        console.log("Done!");
    }
});

它给出了输出Done!,但是当我尝试播放该视频时却给出了错误Could not determine the stream

我不知道转换缓冲区或转换视频是否错误。

请有人帮帮我。

1 个答案:

答案 0 :(得分:0)

您实际上是在将字符串"Cat.mp4"转换为缓冲区:

//<Buffer 43 61 74 2e 6d 70 34>
//        C  a  t  .  m  p  4

尝试使用:

const fs = require('fs');
fs.readFile('Cat.mp4', (err, buffer) => {
  if (err) throw err;
  console.log('do we have a buffer?', buffer instanceof Buffer)
});

根据its documentation

  

如果未指定编码,则返回原始缓冲区。