Audio ffmpeg编码,webm容器中的Opus声音不工作

Audio ffmpeg编码,webm容器中的Opus声音不工作,audio,ffmpeg,opus,Audio,Ffmpeg,Opus,我正在尝试用VP8和Opus编码将音频和视频编码为webm文件。它几乎起作用了。(我使用FFmpeg 3.3.2) 我只能制作一个视频webm文件并在VLC中播放,FFPlay并上传到YouTube(以及所有作品)。如果我将Opus声音添加到文件中,它仍然在VLC中工作,但在FFPlay或youtube上不工作,在youtube上声音变成“滴答声” 如果我只将Opus音频编码到webm文件,我也会遇到同样的问题;它只适用于VLC。但是,如果我只将Opus音频编码到一个ogg容器中,它在任何地方都

我正在尝试用VP8和Opus编码将音频和视频编码为webm文件。它几乎起作用了。(我使用FFmpeg 3.3.2)

我只能制作一个视频webm文件并在VLC中播放,FFPlay并上传到YouTube(以及所有作品)。如果我将Opus声音添加到文件中,它仍然在VLC中工作,但在FFPlay或youtube上不工作,在youtube上声音变成“滴答声”

如果我只将Opus音频编码到webm文件,我也会遇到同样的问题;它只适用于VLC。但是,如果我只将Opus音频编码到一个ogg容器中,它在任何地方都可以工作,我甚至可以使用FFmpeg将ogg文件与一个仅视频的webm文件结合起来,生成一个包含音频和视频的完全工作的webm文件

所以,在我看来,只有当我使用代码将作品编码到webm容器中时,它才不会在大多数播放器和YouTube中工作。我需要它在youtube上工作

以下是opus-to-webm-only编码的代码(您可以使用define切换ogg/webm):

#包括

工作正常的ogg音频文件:

仅在VLC中工作的视频和音频文件:

如果在FFPlay中播放ogg文件,它会显示“aq=30kb”,但如果我播放webm纯音频文件,则会显示“aq=0kb”。因此,这似乎也不正确

有什么想法吗?提前谢谢

编辑:因此,我只需将VP8和Opus编码到ogg容器中,然后将其重命名为.webm并上传到YouTube即可。我不知道ogg里面有视频。我真的不知道它如何影响编码和东西。。。我可以上传带有视频的原始ogg文件,它也可以在YouTube上运行。但我选择webm的全部原因是它拥有的许可证()。。。所以我现在有点困惑

我需要仔细阅读“容器”在上下文中的确切含义,以及更改扩展意味着什么

任何对这一点有帮助的评论都将不胜感激