我正在编写一个基于节点的媒体编码工具,并找到了一些可以帮助我做到这一点的好节点包,但是输出文件要么完全损坏,要么只编码一半的视频。
我使用的主节点包是fluent-ffmpeg,我正在尝试使用以下代码:
var ffmpeg = require('fluent-ffmpeg');
var proc = new ffmpeg({ source: 'uploads/robocop-tlr1_h480p.mov', nolog: false})
.withVideoCodec('libx264')
.withVideoBitrate(800)
.withAudioCodec('libvo_aacenc')
.withAudioBitrate('128k')
.withAudioChannels(2)
.toFormat('mp4')
.saveToFile('output/robocop.mp4',
function(retcode, error){
console.log('file has been converted succesfully');
});
源视频没有问题,因为我通常使用 FFmpeg 使用以下命令行字符串对其进行编码(我从批处理文件中运行它):
"c:\ffmpeg\bin\ffmpeg.exe" -i %1 -acodec libvo_aacenc -b:a 128k -ac 2 -vcodec libx264 -b:v 800k -f mp4 "../output/robocop2.mp4"
有什么想法我在这里做错了吗?