C++ 视频/音频编码/解码/播放

C++ 视频/音频编码/解码/播放,c++,c,media-player,codec,C++,C,Media Player,Codec,我一直想尝试做一个媒体播放器,但我不知道怎么做。我找到了FFmpeg和GStreamer,但我似乎更喜欢FFmpeg,尽管它的文档更糟糕,尽管我根本没有写任何东西。话虽如此,我觉得如果我知道他们在做什么,我会更了解事情是如何运作的。我不知道视频/音频流是如何工作的,也不知道几种媒体类型,所以这没有帮助。最后,我只是在“模拟”一些代码示例 我从哪里开始学习如何编码/解码/播放视频/音频流,而不必阅读数百页的几个“标准”。也许在某种程度上也有足够的知识来播放媒体而不依赖于另一个API。谷歌搜索“基本

我一直想尝试做一个媒体播放器,但我不知道怎么做。我找到了FFmpeg和GStreamer,但我似乎更喜欢FFmpeg,尽管它的文档更糟糕,尽管我根本没有写任何东西。话虽如此,我觉得如果我知道他们在做什么,我会更了解事情是如何运作的。我不知道视频/音频流是如何工作的,也不知道几种媒体类型,所以这没有帮助。最后,我只是在“模拟”一些代码示例

我从哪里开始学习如何编码/解码/播放视频/音频流,而不必阅读数百页的几个“标准”。也许在某种程度上也有足够的知识来播放媒体而不依赖于另一个API。谷歌搜索“基本视频音频解码编码”似乎没有帮助(


这似乎是一门没有人愿意告诉任何人的黑色艺术。

第一部分是从容器中提取流。从那里,你需要将流解码成媒体。我建议你找一个小Theora视频,看看这些片段是如何联系在一起的。

你想让我们写一个答案,然后你阅读并掌握mul吗timedia域

无论如何,这不是一个答案。 首先,通过谷歌搜索了解这个术语

1> 容器——多路复用器/解复用器

2> 编解码器——编码器/解码器

如果您喜欢ffmpeg,请使用它的基本视频制版应用程序。这里有详细的文档,它将显示使用ffmpeg api对容器进行解组和解码任何元素流的方法。有关详细信息,请访问


与ffmpeg相比,我更喜欢gstreamer。它有很好的文档。如果你从gstreamer开始,这将是一个不错的选择。当然不是。我确实说过“我从哪里开始学习”。ffmpeg的所有教程都过时了,ffplay并不是最简单的示例。我的意思是,它超过3000行。