选择合适的视频质量设置
本文档旨在概述对您的内容所做的处理,以及您可以调整的各项设置,以为您的实例获得最佳输出。
要查看您特定的流的表现,请在管理界面访问 流健康 页面。
概述
- 将您的广播软件配置为向 Owncast 发送一个与您期望提供给观众的流相近的流。 您如何配置广播软件很重要。 如果您只计划在 30fps 下支持 4000k 和 2000k 的码率,就不要让 OBS 以 7000k、60fps 向 Owncast 发送。
- 从一个具有中等设置的单一输出配置开始。 进行测试。 查看您的硬件如何处理。 如果您愿意并且有能力,可以添加另一个并进行测试。 重复此过程,直到达到既能为观众提供的配置又能被您的硬件处理的设置。
- 如果您的硬件无法处理当前配置,则将输出变体数量减少为仅一个,降低您发送到 Owncast 的视频质量、降低您的帧率并减少CPU 使用率。
您的流可以在您网站之外播放。
由于 Owncast 使用 HLS 标准,几乎任何视频播放器都可以播放您的流。 您也可以构建自己的应用来播放它。 常用的视频播放器(例如 Quicktime、VLC 和 mpv)可以仅通过使用其基础 URL https://owncast.mydomain.com 来播放您的流。 或者,您也可以通过在播放器中输入路径 /hls/stream.m3u8 直接从服务器访问您的流。 例如: https://owncast.mydomain.com/hls/stream.m3u8。
Owncast 视频流是如何工作的?
Owncast 将您的源流转换为短小的独立视频片段。 这些片段的列表会提供给观众的播放器,播放器会按顺序读取并播放所有片段。 这使用了名为 HLS 的规范,或称 HTTP Live Streaming。 您可以选择生成多种不同质量的视频,以提供低带宽选项。 这称为 自适应码率流。
在这种情况下,Owncast 扮演媒体编码器、流切片器和分发 Web 服务器的角色。 不过 Owncast 也支持通过第三方存储分发视频,在那种情况下视频片段将从那里进行分发。
注意事项。
- 将视频从一种尺寸、质量或格式转换为另一种所需的工作越多,就会越拖慢其他所有处理。
- 处理越慢,向用户提供流的速度就越慢。
- 如果向用户提供流的速度过慢,他们就会开始看到缓冲和错误。
以下是调整各项参数以确定您要向用户提供的一个或多个质量,同时平衡服务器资源使用量时可调节的选项。
可配置项
码率
码率是您在流媒体传输时发送的数据量。 更高的码率会占用更多可用的互联网带宽并产生更大的视频片段,从而使观众下载所需时间更长。 提高码率可以提升视频质量,但只有到一定程度为止。 You can select bitrates between 400 and 13,000 kbps, in 100 kbps steps.
分辨率
分辨率是指视频在屏幕上的尺寸。 与码率类似,您可以为不同情况提供多个不同的尺寸,但请求调整视频大小会产生额外的工作。
建议在必须更改尺寸时只更改宽度或高度,这样可以保持正确的纵横比。 如果同时更改宽度和高度,可能会改变视频的纵横比,如果未正确设置,最终可能导致画面被压扁。
帧率
帧率是视频每秒的帧数。 Owncast 默认为 24fps,但其他常见的帧率有 30 或 60。 You can select any framerate between 24 and 120. 提高帧率会占用服务器更多的 CPU,并为用户使用更多带宽,因为每秒需要处理并提供更多的帧。
CPU 使用
使用更多 CPU 会得到更好的输出画面,或者在相同质量下输出文件更小。 但是,您需要在可用 CPU 资源与用于处理视频的 CPU 量之间进行平衡。 There are five CPU usage levels to pick from, ranging from lowest to highest.
延迟缓冲
您可以对广播者与观众之间的实时延迟进行一定程度的控制。 虽然希望尽可能降低延迟是可以理解的,但如果遇到问题,您可能需要增加延迟缓冲。 一般来说,延迟越低,可用于应对可能的传输缓慢、网络波动或错误的缓冲就越少。
自动播放
默认情况下,观众需要按播放以开始观看。 如果您希望在有人打开页面时流自动开始,请在同一视频配置页面更改 自动播放 设置。 它不会影响性能,并且适用于您的 Owncast 页面和嵌入播放器。
- 从不:播放器等待观众按下播放。 这是默认设置。
- 始终:页面打开时流会立即开始。 在浏览器允许的情况下会带声音播放,其他情况下会静音开始。 当流静音播放时,播放器会在视频上显示一个大号取消静音按钮,开启声音只需一击。
- 仅当声音可用时:仅当观众的浏览器也允许播放声音时,流才会自动开始。 它绝不会静音开始。 如果浏览器阻止声音,观众需要像往常一样按播放。
每个主流浏览器都会根据其自身规则、设置,以及观众与您网站的交互历史来限制带声音的自动播放。 实际上,始终 通常会对首次访问者静音开始,而 仅当声音可用时 通常完全不会为他们自动播放。
对于启用省流量模式的观众或其系统要求减少运动(无障碍偏好 prefers-reduced-motion)的观众,播放器无论此设置如何也绝不会自动播放。
Video Passthrough
Owncast has an optional setting to turn off re-encoding of your inbound stream, potentially saving substantial hardware utilization and supporting a higher quality stream with less resources. However, because your video will not be re-encoded it’s possible that certain video from certain sources may end up not being playable at all. This is the risk of enabling this.
When passthrough is enabled for a stream output, Owncast copies your inbound video untouched instead of re-encoding it. All the other settings for that output, such as bitrate, resolution, framerate and CPU usage level, are ignored. Because no encoding work happens, passthrough saves nearly all the CPU that output would otherwise use.
The tradeoff is that viewers receive exactly what your broadcasting software sends. If your source uses settings some players or browsers can't handle, the stream can be unplayable for those viewers, and Owncast can't correct it. Long keyframe intervals in your source also increase latency, because Owncast can't optimally segment video it isn't re-encoding. This is why the admin asks you to confirm you understand the risks before enabling it. Test playback on the devices you care about before relying on passthrough.
音频
您从广播软件发送的内容通常是合理的,即使对于低带宽观众也不需要额外转换。 Owncast 不会更改音频流,而是将其直接传递给终端用户,以避免额外的处理工作。
您如何配置广播软件很重要。
您需要将广播软件配置为与您能向观众提供的最高质量相匹配。 这意味着如果您的 Owncast 服务器只能处理 720p@2500k,您就不应该将广播软件配置为发送 1080p@6000k。 您要求 Owncast 执行的转换工作越多,它在服务器上使用的资源就越多,从而更难为观众提供最佳质量。
如果您发现自己试图从 Owncast 中榨取更好的性能,请尝试将广播软件设置为更低的质量,同时降低 Owncast 实例中的质量。
阅读更多关于 配置广播软件 的内容。
硬件加速视频编码
如果您在物理硬件上运行,通过使用硬件及兼容的编解码器,可能能够提高 Owncast 实例的性能,从而将大量负载从 CPU 转移出去。 无法保证所有硬件配置、驱动或操作系统都能工作,您可能需要付出一定努力来安装使其运行所需的所有附加软件。 有关支持内容及操作方法的更多信息,请参阅我们的 硬件加速编码与额外编解码器 文档。
资源和需求示例
访问 资源和需求 页面,查看有关服务器硬件和网络连接可期望的某些示例,以及这些因素如何影响您的观众。
Improve this page
See something missing or incorrect? Edit this page and improve the documentation for everyone.


