SVPcast 视频串流

SVPcast 可以把视频转成高帧率,再通过 HLS(HTTP Live Streaming)协议串流播放。它还能控制一些电视盒子,把 HLS 流地址传给它们并自动开始播放,包括:

  • Google Chromecast(注意一代和二代 Chromecast 只能播放 720p/60 fps,参见 Supported Media for Google Cast)
  • 支持 Google Cast 的电视和电视盒子
  • 通过 AirPlay 协议连接的 Apple TV

它与 SVPlayer Android / Android TV / iOS / Apple TV 版 深度集成:了解更多。

你也可以在喜欢的 Android 或 iOS 视频播放器(比如 MX Player)里手动打开 HLS 流地址,在手机上直接享受 60 fps 视频。

安装

SVP 主菜单中的「串流」子菜单
安装后,SVP 主菜单中会出现「串流」(Streaming)子菜单。

要添加 SVPcast,可以在安装 SVP 时勾选它,也可以用 Maintain SVP 4(维护 SVP 4)应用来安装(见附加组件(Additional Components)一节)。在 SVP 4 Mac 中,还需要在主菜单勾选 应用程序设置 → 附加选项 → 扩展 → svpcast(Application settings → Additional options → Extensions → svpcast)。

之后,SVP 主菜单中就会显示串流(Streaming)子菜单。

在 macOS 或 Linux 电脑上,必须预先安装带 Vapoursynth 支持的 mpv。

请注意:SVPcast 要正常工作,必须允许 SVP 穿过系统防火墙(system’s firewall),详见下文防火墙一节。

从 Windows 串流到 Apple TV:请安装 Bonjour Print Services for Windows,并确保 Bonjour 服务(Bonjour Service)正在运行。

SVPcast 使用方法

串流对硬件资源的消耗很大,因为它要同时做运动插值和视频编码,而且都是实时进行的。所以强烈建议启用几乎所有现代硬件都具备的硬件加速视频编码器:Intel CPU(QuickSync 编码器)、NVIDIA 显卡(NVENC 编码器)或较新的 AMD 显卡(AMF 编码器)。可以在串流 → 视频编码器(Streaming → Video encoder)菜单中选择要使用的编码器。

串流一个视频文件的步骤:

  1. 点击主菜单中的串流 → 串流视频文件…(Streaming → Stream a video file…),
  2. 选择一个视频,随后会打开SVP 串流(SVP Streaming)窗口:
SVP Streaming 控制窗口
SVP 串流控制窗口。
  1. 选择各项参数:
  • 串流的目标设备,或者直接选 HTTP Live Stream (HLS)(HTTP 直播流)选项,比如用手机通过网络打开流;
  • 音轨和可选的字幕轨;
  • 用于插帧的视频配置文件(video profile)。
  1. 点击播放(Play)按钮开始串流。

串流过程中可以随时中止,也可以跳转到视频中的指定位置。注意跳转可能非常慢,因为目标设备会做缓冲。例如 Apple TV 可能缓冲长达 1 分钟的视频流,所以你在 SVP 窗口里拖动滑块之后,还得等上那么一分钟。

窗口中显示的时间位置,并不是你在电视上看到的时间!它是编码器的位置,可能比屏幕上看到的画面超前最多 1.5 分钟。

串流到 Apple TV 或 Chromecast 时,还可以用暂停 / 继续(Pause / Resume)按钮暂停串流。音量控制仅在串流到 Chromecast 时可用。

字幕样式

有几个选项可以控制字幕的大小、位置等。要调整字幕,请打开所有设置(All settings)并进入 cast.subs 部分。

  • cast.subs.ass_ignore — 忽略 ASS 样式,ASS 字幕将按普通 SRT 方式渲染。参见 mpv 的 –no-sub-ass 选项。
  • cast.subs.font_size — 相对字体大小(默认值为 55)。参见 mpv 的 –sub-font-size 选项。
  • cast.subs.margin_y — 字幕相对屏幕上、下边缘的边距。参见 mpv 的 –sub-margin-y 选项。

你还可以在 cast.mpv_args 的值中以空格分隔指定任何其他 mpv 选项。

小技巧

  • 把鼠标移到二维码图片上,会显示一个更大的二维码,其中包含当前流的 URL。
  • 如果想为串流单独指定一个视频配置文件,只需给该配置文件加上「视频播放器 = cast」(Video player = cast)条件。
  • 不下载就可以把 SVPtube 播放的网络流转串流出去:见 SVPtube 菜单中的「视频播放器 → 通过 SVPcast 串流」(Video player -> Stream via SVPcast)选项。

Web UI

通过运行在 TCP 端口 9900 上的 Web 服务器,可以访问为移动端优化的 Web UI。端口号可以在 SVP 的所有设置(All settings)里修改:见 cast.server.port 的值。

SVPcast Web UI
为移动端优化的 SVPcast Web UI。

使用 Web UI 的方法:

  1. 打开串流 → Web UI → 已启用(Streaming → Web UI → Enabled)。
  2. 选择一个存放视频的文件夹,它在 Web UI 中相当于”主文件夹”:串流 → Web UI → 选择视频文件夹…(Streaming → Web UI → Choose video folder…)。Web UI 只能列出并选择这个文件夹里的视频。
  3. 用手机浏览器打开快捷地址 https://www.svp-team.com/cast,它会把浏览器重定向到你电脑的本地 IP 地址。手机必须和电脑连接在同一个网络!

「动态 DNS」服务

假设运行 SVP 的电脑在局域网中的地址是 “192.168.3.154” 这样的形式。你可以用 “http://192.168.3.154:9900” 打开 Web UI,但这个地址不太好记,而且下次重启后还可能变。有了「动态 DNS」(Dynamic DNS)服务,你只要把 https://www.svp-team.com/cast 放进书签就行。

它是怎么工作的?

  1. 关于你的视频的任何信息都不会发送到我们的服务器,外人也无法从外部访问它们!这只是一个重定向服务。
  2. SVP 会定期向 svp-team.com 服务器发送请求,其中只包含你的外部和本地 IP 网络地址。不发送任何其他信息!
  3. 当你打开快捷 URL 时,服务端脚本会取出与当前外部 IP 关联的本地 IP 地址,再把你的浏览器或视频播放器重定向到那个地址。

如果你有多台电脑运行 SVPcast,而且都需要访问,请在所有设置中通过 cast.server.ddns.name 为每台电脑指定不同的名称。然后打开 https://www.svp-team.com/cast/name1 或 https://www.svp-team.com/cast/name2,以此类推。

防火墙

SVPcast 要正常工作,必须允许 SVP 穿过系统防火墙。检查防火墙设置是否正确:

  • 从 SVP 主菜单启动串流 → Web UI → 在 Web 浏览器中打开(Streaming → Web UI → Open in web browser)。
  • 用连接到同一家用网络的智能手机,尝试打开地址栏中显示的 URL(例如 “http://192.168.1.15:9900“)。
  • 如果页面打不开,就需要修改防火墙设置。

如果你只使用内置的 Windows Defender 防火墙(Windows Defender Firewall):

  1. 在搜索框中输入 “firewall”,启动允许应用通过 Windows 防火墙(Allow an app through Windows Firewall),
  2. 点击更改设置(Change settings),
  3. 找到 SVP 4 Pro,确保最左边的复选框和「专用」(private)复选框都已勾选,然后点击确定(OK)。
在 Windows Defender 防火墙中允许 SVP 4 Pro
在 Windows Defender 防火墙中允许 SVP 4 Pro。

已知问题

  • Chromecast 在视频缓冲时突然卡住:确认带宽限制(Bandwidth limit)的值不超过 12M。如果设为 12M 还是卡,请试试 10M。
  • Apple TV 不出现在「串流到」(Stream to)列表中:
    • 确认已安装 Bonjour 服务;
    • 如果你安装了 Oracle VirtualBox:可能需要在网络适配器属性中禁用 “VirtualBox NDIS6 Bridged Networking Driver”,Bonjour 的设备发现才能正常工作。