gpt4 book ai didi

node.js - 如何将 Opus 流从 Discord 传输到 RTP

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:58 27 4
gpt4 key购买 nike

我正在使用 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 inputpipe::Invalid argumentInvalid data on input.[mp3 @ 0x5615decebe60] 仅检测到低分 1 的格式 mp3,可能误检测!
[mp3 @ 0x5615decebe60] 无法读取帧大小:无法查找 16101。
有人可以帮助我将 ReadableStream (opus)发送到 RTP mulaw 流吗?谢谢!

最佳答案

我在 ffmpeg IRC 上询问并意识到原始 Opus 位流无法解码。相反,我传入了一个原始 PCM 流,并将 -f s32le 添加到输入中,该格式在 ffmpeg -formats 中列为一种格式。

关于node.js - 如何将 Opus 流从 Discord 传输到 RTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51833483/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com