为了账号安全,请及时绑定邮箱和手机立即绑定

不输出 Opus 原始音频

不输出 Opus 原始音频

Go
子衿沉夜 2021-12-20 10:56:53
我目前正在编写一个小脚本,可以将 MP4 动态转换为 Opus 音频并将其发送到golang 中的Discord。最初,我的脚本会在通过 stdin 下载到 ffmpeg 时传递 MP4,然后将 stdout 传递给 Opus 编码器,然后传递给 Discord(就像这样)。在学习了我可以用 Opus 构建 ffmpeg 之后,我想剪掉我以前拥有的 opus 编码器并将 ffmpeg 的输出直接传递给 Discord。以前,我的 ffmpeg 命令看起来像这样(使用第二个 opus 编码器)ffmpeg -i - -f s16le -ar 48000 -ac 2 pipe:1现在,没有编码器并让 ffmpeg 完成所有工作,这就是我到目前为止所想到的。ffmpeg -i - -f s16le -ar 48000 -ac 2 -acodec libopus -b:a 192k -vbr on -compression_level 10 pipe:1但是,使用此命令,Discord 的服务器不会接受音频,这意味着我怀疑 opus 音频不会从另一端发出。没有错误输出。我是否对 ffmpeg 做错了什么可能导致这种情况?
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

尝试

ffmpeg -i - -sample_fmt s16 -ar 48000 -ac 2 -acodec libopus -b:a 192k -vbr on -compression_level 10 -f opus pipe:1

您不能使用-f s16leas 指定未压缩的输出格式(特定样本类型的),而您需要某个编解码器的压缩数据流。相反,您可以使用sample_fmt-f opus


查看完整回答
反对 回复 2021-12-20
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信