Я использую бота Node.JS Discord для потоковой передачи голосового вызова через RTP. В настоящее время в моем обработчике событий speaking
у меня есть
var cmd = child_process.spawn("ffmpeg", [
'-protocol_whitelist', 'file,crypto,sdp,rtp,udp,pipe,opus',
'-re',
'-acodec', 'opus',
'-i', '-',
'-ar', '8000',
'-acodec', 'pcm_mulaw',
'-f', 'mulaw',
'-f', 'rtp',
`rtp://${rtp_ip}:${rtp_port}`]);
reciever.createOpusStream(user).pipe(cmd.stdin);
эквивалентно запуску команды ffmpeg ffmpeg -protocol_whitelist file,crypto,sdp,rtp,udp,pipe,opus -re acodec opus -i - -ar 8000 -acodec pcm_mulaw -f mulaw -f rtp rtp://${rtp_ip}:${rtp_port}
Варианты этой команды вызывают ошибки в диапазоне от pipe:: Invalid input
или pipe:: Invalid argument
до Invalid data on input.
и [mp3 @ 0x5615decebe60] Format mp3 detected only with low score of 1, misdetection possible!
[mp3 @ 0x5615decebe60] Failed to read frame size: Could not seek to 16101.
Может ли кто-нибудь помочь мне с отправкой ReadableStream (opus) в поток mulaw RTP? Спасибо!