开源流媒体服务器(媒体服务器是什么)

您是否考虑过成为专业的媒体服务器运营商或用户?不确定您需要哪些技术技能?这是我们关于媒体服务器专业人员系列的第三篇博客,这次我们将根据媒体服务器专业人员(Facebook)组的优秀人员的建议,进一步深入研究媒体服务器内容(是的,视频)的详细信息,以便在媒体服务器中播放。

让我们从上一篇文章中完成的地方开始吧!

  • 视频位深度或颜色深度了解色度子采样视频空间和数据速率计算计算色度子采样对文件大小的影响丢帧与非丢帧帧精度和关键帧结论

视频位深度或颜色深度

除了帧速率和比特率之外,视频质量的另一个参数是位深度或颜色深度,这也是众所周知的。视频文件或图像的位深度由用于定义单个像素的位数确定。使用较高的位深度,可以显示的颜色或灰度级别数量更多。

黑白图像由 1 位表示(它有 2 个值,1 个值表示黑色,0 个值表示白色,反之亦然)。对于几乎所有目的,大多数图像和视频传统上都表示为8到24位。但是,更高的位深度是可能的,正如您稍后将看到的那样。

在我们进一步讨论之前,让我解释一下。位是二进制开关。每个附加位都会使信息加倍:

1 位 = 2 个值(0 和 1)

2 位 = 4 个值

3 位 = 8 个值

4 位 = 16 个值

5 位 = 32 个值

6 位 = 64 个值

7 位 = 128 个值

8 位 = 256 个值

10 位 = 1,024 个值

12 位 = 4,096 个值

14 位 = 16,384 个值

16 位 = 65,536 个值

在大多数情况下,当我们提到8位图像时,我们谈论的是3乘以8位,因为它是每个颜色通道8位,并且图像/视频片段有3个通道:RGB(红色,绿色和蓝色)。这将允许每种颜色由256个单独的级别表示。这听起来可能不太令人印象深刻,但是如果我们将它们结合起来……256*256*256 等于 16,777,216 种颜色。

让我们对 10 位、12 位、14 位和 16 位图像进行相同的计算:

每个颜色通道 8 位:总颜色 16,777,216

每个颜色通道 10 位:总颜色 1,073,741,824

每个颜色通道 12 位:总颜色 68,719,476,736

每个颜色通道 14 位:总颜色 4,398,046,511,104

每个颜色通道 16 位:总颜色 281,474,976,710,656

如果您的显示器(投影仪,屏幕,LED墙)只能显示8位,或者整个价值链中的任何组件都是8位,那么您没有理由添加高于8位的内容(24,即,还记得吗?

但是,如果您的显示器支持 10 位或 12 位,则媒体服务器支持和输出 10 位或 12 位内容可能是有意义的。

但与帧速率一样,高位深度会增加内容制作、存储以及检索的负载,对读取速度的要求更高。

了解色度子采样

有时,您会看到 4:4:4、4:2:2 或 4:2:0 等数字。这称为色度子采样,它指的是每个像素上存储的颜色信息量。根据视频/图像中的内容,您可能不太擅长全彩色分辨率,因为您可以从附近的像素中采样颜色以生成图像。

  • 4:4:4是最高的质量水平。这里没有子采样,每个像素都有自己的颜色信息。
  • 4:2:2 是水平分辨率的一半,同时保持了完整的垂直分辨率。
  • 4:2:0 是垂直和水平分辨率的一半。

这些数字应解释如下:第一个数字是样本的宽度是多少像素(几乎总是4)。第二个数字是顶行中有多少像素将具有颜色信息(色度样本),第三个数字是底行中将具有色度样本的像素数。

开源流媒体服务器(媒体服务器是什么)

视频空间和数据速率计算

让我们看一下基于不同类型的文件和格式的文件大小的一些示例。为了计算这一点,我使用了DigitalRebellion的视频空间计算器。

1080p 分辨率 (1920×1080) 和 10 分钟视频,8 位:

H.264 @ 每秒 30 帧 = 7.23GB 数据

H.264 @ 每秒 50 帧 = 12.06 GB 数据

H.264 @ 每秒 60 帧 = 14.47 GB 数据

ProRes 422 LT @ 每秒 30 帧 = 7.48 GB 数据

ProRes 422 LT @ 每秒 50 帧 = 12.46 GB 数据

ProRes 422 LT @ 每秒 60 帧 = 14.96 GB 数据

ProRes 4444 @ 每秒 30 帧 = 24.19 GB 数据

ProRes 4444 @ 每秒 50 帧 = 40.32 GB 数据

ProRes 4444 @ 每秒 60 帧 = 48.39 GB 数据

计算色度子采样对文件大小的影响

计算色度子采样的一个好方法是说4:4:4的全彩色图像是100%。将数字 4+4+4 = 12 相加,12 等于 100%。以此为起点,您可以推导出其余部分:

4:2:2 = 4+2+2 = 8 – 或 4:4:4 的 66.7% (12)

4:2:0 = 4+2+0 = 6 – 或 4:4:4 的 50% (12)

如何将其应用于该文件?以下是公式,其中还考虑了位深度,色度采样和分辨率:

颜色通道 * 位深度 * 色度子采样百分比 * 分辨率 = 位数

要将位转换为千字节,请将位数除以 (8 * 1024)。要转换为兆字节,请将位数除以 (8*1024*1024)。维基百科可以教你更多关于位和字节的知识,但一个字节由8位表示。

这里是:
4:4:4计算

8 位 = (3 * 8 * 1 * 1920 * 1080) / (8 * 1024) = 6075 千字节 = 5.9 兆字节

12 位 = (3 * 12 * 1 * 1920 * 1080) / (8 * 1024) = 9112 千字节 = 8.89 兆字节

4:2:2(这是66,7%的折扣12,记住)

8 位 = (3 * 8 * 0,667 * 1920 * 1080) / (8 * 1024) = 4052 千字节 = 3.95 兆字节

12 位 = (3 * 12 * 0,667 * 1920 * 1080) / (8 * 1024) = 6078 千字节 = 5.93 兆字节

丢帧与非丢帧

你丢了什么东西吗?如前所述,NTSC 帧速率为 29.97fps,而不是 30。这意味着您每秒都缺少0.03帧。时间码(稍后将介绍)仅计算整帧,一小时后,您将出现明显的差异。这是数学:

30 帧视频的 1 小时为 108,000 帧 (30*60*60)。但是29.97是107,892(29,97 * 60 * 60)。您丢失了 108 帧。在这种情况下,录制文件上的时间码将为 108 帧或 3.6 秒(108 / 30 = 3.6)。

为了弥补这一点,您可以选择制作非丢帧视频(丢帧时间码),其工作原理是从每分钟(每十分钟)删除两个帧号。您删除了计数(帧编号),但删除了内容,因此内容本身不会更改。

时间码以及其他同步方法将在后面介绍,但 Frame.io Insider有一篇关于时间码,帧速率等的优秀文章。

帧精度和关键帧

将视频文件压缩为某些格式(如 H.264、MPEG-2 和 MPEG 4)时,可以设置多个关键帧(i 帧)和非关键帧。IBM 发表了一篇关于视频帧的优秀文章,并写了这样一篇关于关键帧的文章:

“关键帧(i-frame)是视频中图像的全帧。后续帧(增量帧)仅包含已更改的信息。关键帧将在流中多次出现,具体取决于流中的创建方式或流传输方式。

开源流媒体服务器(媒体服务器是什么)

能够正确查找和显示每个视频帧,无论关键帧还是非关键帧,称为帧精度。如果没有帧精度,则无法在所需的精确帧处开始显示。

结论

了解视频和视频格式当然是运行媒体服务器的一些最重要的方面。这是在这个层面上深入研究它的原因之一。尽管如此,我本可以很容易地走得更深。本系列文章应被视为从哪里开始的指南,而不是旅程的终点……下一次,我们将从图像和静止格式开始,深入挖掘无压缩播放的领域!

一如既往,向评论我帖子的伟大人物大喊大叫 – 使写这些文章非常值得。谢谢!

帕特里克·坎贝尔,伊恩·麦克莱恩,奥拉·弗雷登伦德,马特·阿尔丁,马雷克·帕克,埃里克·加齐略,阿克塞尔·桑德博滕,乔·布莱斯代尔,帕克·兰瓦特,亚历克斯·米斯特里奥·穆勒,克里斯托弗·约翰·博尔顿,安迪·贝茨,大卫·吉莱特,查理·库珀,汤姆·巴斯,弗雷德·朗,诺吉·耶尔尼夫,休·戴维斯-韦伯,马库斯·拜耳,阿兰·Vj-Air,曼尼·康德,乔尔·阿德里亚,亚历克斯·奥利谢夫斯基,鲁本·莱恩,扬·休维尔,马吉德·尤尼斯,恩斯特·齐勒, 马可·帕斯托维奇,杰弗里·普拉特,泰德·帕拉斯,戴尔·雷拜因,迈克尔·科勒,乔·邓克利,约翰·布尔弗,杰克·班克斯,斯图尔特·麦高恩,托德·内维尔·斯克鲁奇菲尔德

作者:David Aleksandersen 27.十月 2019

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.sumedu.com/faq/252932.html