我正在尝试生成ffmpeg进程,以将一些音频文件编码为与hls兼容的mpegts文件。我需要通过管道提供数据,以便处理实时流部分。我正在使用下面的代码来生成我的过程:
var file = fs.createReadStream('./audio.mp3');
var child = spawn('ffmpeg',
['-y', '-i', 'pipe:', '-c', 'aac', '-b:a', '32k', '-hls_segment_type', 'mpegts', '-hls_time', 1, '-hls_list_size', 0, './' + req.body.uri + '_32k.m3u8'], {
env: process.env,
stdio: ['pipe', 1, 2]
}
);
file.pipe(child.stdin);
奇怪的是,我从ffmpeg的stderr获得了pipe:: Permission denied
。