转码不适用于mp4(H.264,AAC)和3gp,但适用于avi和webm

时间:2014-05-15 03:29:28

标签: node.js gridfs

目标:手机发送不同的视频格式,我想将它们转码为mp4,以便它可以在任何地方播放,然后将它们存储在GridFS中并发送fileid作为响应,每当用户想要下载视频时他/她会将fileid作为输入

当前代码以流的形式接收数据并将其写入gridFS,但转码无法正常工作。请建议我一个方法。这对我来说是成功或死亡的情况。

我有以下代码接收流,转码并将其写入GFS

        var writestream = gfs.createWriteStream({
            filename: (fileid.toString()) + ".mp4",
            _id : fileid,
            mode : "w",
            content_type  : "video/mp4"
        });

        new Transcoder(stream)
            .videoCodec('h264')
            .videoBitrate(800 * 1000)
            .fps(25)
            .aspectRatio(1.7777777)
            .audioCodec('libfaac')
            .sampleRate(44100)
            .channels(2)
            .audioBitrate(128 * 1000)
            .format('mp4')
        .on('finish', function () {
            req.custom = fileid;
            next();
        }).stream().pipe(writestream);

错误: 当我使用Error: FFmpeg error: Error opening filters!编解码器上传.mp4时收到错误H.264, AAC但如果我上传.avi个文件则可以正常工作

也不适用于3gp

0 个答案:

没有答案