我创建了一个使用 rtmp 和 ffmppeg 以及 youtube api 来流式传输到 youtube 的应用程序, 当我直播并访问 YouTube 时,我遇到声音问题,现场的声音听起来迟缓且机械化。
这是我的配置:
const commonOutputOptions = [ '-c:v libx264', '-c:aac', '-预设非常快', '-crf 30', '-b:v 3500k', '-b:128k', '-ac 2', '-ar 44100', '-g 48', '-keyint_min 48', '-pix_fmt yuv420p', '-x264-params keyint=48:min-keyint=48:scenecut=-1', '-flvflags no_duration_filesize', '-探测大小 32', '-分析持续时间 0', '-f flv', ];
我尝试将其更改为:
const commonOutputOptions = [ '-re', // 启用实时模式进行流式传输。 '-c:v libx264', '-c:aac', '-预设非常快', '-crf 23', // 改进的质量设置。 '-b:v 4500k', // 调整比特率以获得更好的质量。 '-b:a 160k', // 更高的音频比特率。 '-ac 2', '-ar 48000', // 更新的采样率。 '-g 48', '-keyint_min 48', '-pix_fmt yuv420p', '-x264-params keyint=48:min-keyint=48:scenecut=-1', '-flvflags no_duration_filesize', '-f flv', '-movflags +faststart', // 改进了流兼容性。 ];
对此:
const commonOutputOptions = [ '-c:v libx264', '-c:aac', '-预设非常快', '-crf 30', '-b:v 3500k', '-b:128k', '-ac 2', '-ar 48000', // 更新采样率 '-g 48', '-keyint_min 48', '-pix_fmt yuv420p', '-x264-params keyint=48:min-keyint=48:scenecut=-1', '-flvflags no_duration_filesize', '-f flv', ];
我尝试了不同的配置,但没有任何方法可以使声音正常。
当我流式传输到 Facebook 并抽搐时,声音非常完美。
这里也有同样的问题。 我很想得到一个解决方案。
我也遇到了同样的问题,希望更新