|
|
|
|
|
|
|
# 1M带宽的服务器视频分辨率、帧率和码率应该怎么选
|
|
|
|
|
|
|
|
初创团队,或者个人刚开始建视频网站,
|
|
|
|
考虑到实际情况以及成本,服务器带宽可以从 **1M** 开始。
|
|
|
|
|
|
|
|
那么 **1M** 的带宽,视频准备的时候,它的**分辨率、帧率和码率应该怎么选**呢?
|
|
|
|
|
|
|
|
先说结论:
|
|
|
|
|
|
|
|
> 根据大公司的标准,1Mbps带宽应该设置视频帧率 24fps,分辨率 360p,码率 1Mbps
|
|
|
|
实际操作中,1Mbps带宽可以设置视频帧**率 24fps,分辨率480p或者540p,码率 500Kbps - 700Kbps**
|
|
|
|
都是可以在**保证视频清晰度的前提下,能顺畅地播放**的。
|
|
|
|
|
|
|
|
感兴趣的朋友欢迎仔细阅读(大致耗时 3 分钟)。
|
|
|
|
|
|
|
|
|
|
|
|
## 电脑数据存储单位Bits和Bytes
|
|
|
|
|
|
|
|
电脑存储和互联网中传输的数据通常用**位**(Bits)和**字节**(Bytes)计量。
|
|
|
|
|
|
|
|
> At the smallest scale in the computer, information is stored as bits and bytes.
|
|
|
|
* a "bit" is atomic: the smallest unit of storage
|
|
|
|
* A bit stores just a 0 or 1
|
|
|
|
* Group 8 bits together to make 1 byte
|
|
|
|
|
|
|
|
(参考下面斯坦福大学在线网址原文)
|
|
|
|
|
|
|
|
翻译:
|
|
|
|
> 电脑里的数据以**位(Bits)**和**字节(Bytes)**存储
|
|
|
|
* “位”是最小的存储单元
|
|
|
|
* 一个位只能存储 0 和 1
|
|
|
|
* 8 个位组成一个字节
|
|
|
|
|
|
|
|
|
|
|
|
## 1M 带宽最大下载速度:128KB/s
|
|
|
|
|
|
|
|
通常带宽用的单位是**位(Bits)**,用小写的 **b** 表示,例如 **1M** 带宽完整说法是:**1Mbps**;
|
|
|
|
而网络下载速度通常用的单位是**字节(Bytes)**,用大写的 **B** 表示,例如 **2M/s** 下载速度完整说法是:**2MB/s** 或者 **2MBps**。
|
|
|
|
|
|
|
|
那么按上面字节跟位的关系,可以得出带宽跟下载速度之间的关系如下:
|
|
|
|
|
|
|
|
> 带宽(位) / 8 = 下载速度(字节)
|
|
|
|
|
|
|
|
常见的数据存储单位及其关系如下:
|
|
|
|
|
|
|
|
| 单位 | 数量 |
|
|
|
|
| ---- | ---- |
|
|
|
|
| bit | 1 位 |
|
|
|
|
| byte | 8 位 |
|
|
|
|
| KB | 1024B |
|
|
|
|
| MB | 1024KB |
|
|
|
|
| GB | 1024MB |
|
|
|
|
| TB | 1024GB |
|
|
|
|
|
|
|
|
|
|
|
|
从而得出 **1M** 带宽的最大下载速度为 **128KB/s** ,计算方法:
|
|
|
|
|
|
|
|
> 1Mbps / 8 = 1024Kbps / 8 = 128KBps = **128KB/s**
|
|
|
|
|
|
|
|
|
|
|
|
## 根据下载速度反推视频码率
|
|
|
|
|
|
|
|
如果你对码率和带宽的单位很熟悉,它们都是**位(Bits)**,那么很容易得出 **1Mbps** 的带宽,视频要想很顺畅地播放,码率不能超过 **1Mbps**。
|
|
|
|
|
|
|
|
当然你也可以从下载速度来反推,1Mbps带宽的服务器,视频下载速度如果在 **128KB/s** 以下,就可以顺畅播放,用下载速度乘以8就得出视频的码率不能超过 **1Mbps**。
|
|
|
|
|
|
|
|
|
|
|
|
## 根据码率选择帧率和分辨率
|
|
|
|
|
|
|
|
帧率可以参考谷歌推荐的常用帧率:
|
|
|
|
|
|
|
|
> Common frame rates include: 24, 25, 30, 48, 50, 60 frames per second
|
|
|
|
|
|
|
|
为了减小视频文件大小,可以取最小的 **24帧/s**。
|
|
|
|
|
|
|
|
从谷歌推荐的码率及帧率表格来看(见下面参考资料),**480p** 分辨率的码率就达到 **2.5 Mbps**了,是 **1Mbps** 带宽的2.5倍了,
|
|
|
|
只能选择 **1Mbps** 码率的 **360p** 分辨率了。
|
|
|
|
|
|
|
|
实际操作中,可以**选用24帧/s和480p分辨率情况下适当调小码率**,例如:480p分辨率的视频码率调整到 **500Kbps - 600Kbps**,视频清晰度依然能接受,而且这个码率在 **1Mbps** 的带宽下是可以很顺畅地播放的。
|
|
|
|
|
|
|
|
下面是一个在 **1Mbps** 带宽服务器里存放的能顺畅播放的视频的部分信息:
|
|
|
|
|
|
|
|
> Duration: 00:04:33.07, start: 0.000000, **bitrate: 509 kb/s**
|
|
|
|
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 4:3 DAR 16:9], 374 kb/s, **23.98 fps**, 23.98 tbr, 24k tbn, 47.95 tbc (default)
|
|
|
|
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
|
|
|
|
|
|
|
|
它的分辨率是 **480p**,帧率是 **23.98fps**,码率是 **509kb/s**。
|
|
|
|
|
|
|
|
|
|
|
|
## 名词解释
|
|
|
|
|
|
|
|
* 分辨率 - Resolution,屏幕图像的精密度,通常表示成每英寸像素(Pixel per inch, ppi)和每英寸点(Dot per inch, dpi)
|
|
|
|
* 帧率 - Frame Rate,每一秒播放的画面数量
|
|
|
|
* 码率 - BitRate,每一秒播放的画面的数据大小,单位是位(Bits)
|
|
|
|
* ps - Per second,每秒的缩写
|
|
|
|
|
|
|
|
|
|
|
|
## 16:9推荐分辨率
|
|
|
|
|
|
|
|
For the default 16:9 aspect ratio, encode at these resolutions:
|
|
|
|
|
|
|
|
* 7680p (8K): 7680x4320
|
|
|
|
* 2160p (4K): 3840x2160
|
|
|
|
* 1440p: 2560x1440
|
|
|
|
* 1080p: 1920x1080
|
|
|
|
* 720p: 1280x720
|
|
|
|
* 480p: 854x480
|
|
|
|
* 360p: 640x360
|
|
|
|
* 240p: 426x240
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 参考资料
|
|
|
|
|
|
|
|
* <a href="https://web.stanford.edu/class/cs101/bits-bytes.html" target="_blank">Bits and Bytes web.stanford.edu(斯坦福大学)</a>
|
|
|
|
* <a href="https://support.google.com/youtube/answer/1722171?hl=en#zippy=%2Cframe-rate" target="_blank">YouTube recommended upload encoding settings</a>
|
|
|
|
* <a href="https://support.google.com/youtube/answer/6375112" target="_blank">Video resolution & aspect ratios</a>
|