上周我已经去了很多多媒体内容,现在几个问题搞砸了。这些与我在开发媒体播放器方面的工作有关。我的下面的问题仅基于此。 我也在寻找有关多媒体编解码器的电子书/资源?
我正在寻找以下信息?
使用编解码器对流进行编码/解码 流 - >包 数据包 - >帧
(2)复用器,解复用器,编码器,解码器梯如何工作?在哪一侧?
(3)当我们说一个新的编解码器时 - 这意味着什么? - 编码器/解码器或新的文件格式.AVI是编解码器还是格式?我们使用的编解码器和文件格式之间是否有任何关系。
(4)一个编解码器在什么意义上与另一个编解码器不同?播放比特率,大小,质量,fps?
(5)如果我们正在开发一个新的编解码器,那么必须有什么不同? - 编码器和解码器的算法?
(6)蓝光和DVD翻录?它们的新格式是什么?或新的编解码器?
(7)如果我想在我的媒体播放器中为上述编解码器提供支持,我将如何集成各种编解码器?以某些库或直接源代码参考的形式?
(8)不同的多媒体框架(Gstremaer,ffmpeg,stagefright,OpenCore)在编解码方面有何不同。
以下是我经历过的链接:
答案 0 :(得分:23)
这是一个免费的在线资源(完全披露:我运行网站:-)):MultimediaWiki。此外,这是我很久以前写的一篇文章,它可能对你的很多问题有所帮助:Multimedia Technology Basics。我会在这里回答你的问题。
1)容器格式(如AVI或QuickTime / MOV)通常保存(包含)各种流,通常至少一个视频流和一个音频流。这些视频和音频流通常使用编解码器编码,编解码器是一种描述更有效的数据编码方法的算法。数据包和帧:有时,视频或音频数据的大块被分解为其编解码器规范所定义的数据包或帧,但这往往会降低语义 - 数据包,帧,块,它们都只是碎片。< / p>
2)创建多媒体文件时,使用编码器算法对视频和音频数据进行编码,然后使用复用器将流放在一起放入文件(容器)中。为了播放文件,分路器拆分流并将它们馈送到解码器中以获取视频和音频数据。
3)编解码器意味着编码器/解码器,并且是与容器格式不同的概念。许多容器格式可以容纳许多不同类型的格式(AVI和QuickTime / MOV非常通用)。其他格式仅限于一种或两种媒体类型。
4)编解码器在许多因素上竞争,并且设计用于许多目的。一个很大的区别是有损与无损。如果您需要保留所有原始信息,请选择无损格式,但不会获得最佳压缩。如果你能承受丢失一些数据,你可以选择一种有损格式,这种格式会牺牲(希望对人类不可察觉)信息以换取更大的压缩。一些编解码器针对不同类型的数据进行了优化,例如假设输入数据是人类说话的语音编解码器,或屏幕视频编解码器,假设输入视频是相对静态的计算机桌面会话。
5)创建一个新的编解码器意味着需要一个新的编码器和解码器的新算法。
6)我认为这些将被视为容器。 DVD翻录很可能被称为MPEG节目流(MPEG-PS),它可能包含MPEG-2视频数据和几种不同音频类型之一。
7)有很多用于播放这些内容的库。首先,您需要考虑您的平台(Windows,Mac OS X,Linux,iOS,Android等)。每个都有适当的库和框架。
8)同样,许多框架和库可能会满足您的需求。这取决于您的平台和许可需求。
我希望这能为你提供一些帮助。从你的手柄上可以看出,我喜欢谈论这些东西。 : - )
答案 1 :(得分:0)
数字视频的概念,方法和指标-书主要集中在多媒体概念上,包括质量,压缩率,性能等。本书涵盖了多媒体的整体概念。
Publihser允许打开本书的PDF版本。 链接:https://www.apress.com/gp/book/9781430267126