Streaming in high frame rate with SVPcast

From SmoothVideo Project
Jump to navigation Jump to search

CN.png 中文
JP.png 日本語
RU.png Русский
How it worksCompatible video playersInstallation and UpgradeLicense and ActivationIncreasing the Frame Rate and ProfilesResizing an ImageBlack Bars LightingOnline Video Playback (SVPtube)Video re-encoding (SVPcode)Streaming (SVPcast)Ambient LED Lighting (SVPlight)Miscellaneous functionAdvanced SettingsTroubleshootingFAQ

SVPcast converts a video into high frame rate and then streams it via HLS (HTTP Live Streaming) protocol. It can also control some TV boxes in order to pass them a HLS stream URL and start playback automatically, including:

  • Google Chromecast (note that Chromecast 1st and 2nd Gen. can only play 720p/60 fps. See Supported Media for Google Cast)
  • Google Cast-enabled TVs and TV boxes
  • Apple TV via AirPlay protocol

Also you can manually open a HLS stream URL in your favorite Android or iOS video player (a good example is MX Player) and enjoy 60 fps video right on your mobile.

Installation

Cast-menu.png

To add SVPcast, select it during the installation of SVP, or install it using the Maintain SVP 4 application (see the Additional Components section). In SVP 4 Mac, it is necessary to mark the Main menu option Application settings → Additional options → Extensions → svpcast.

After that, the Streaming sub-menu is displayed in the SVP Main menu.

You must pre-install mpv with Vapoursynth support on computers running macOS or Linux.

Please note that you must allow SVP to go through system's firewall for SVPcast to work. See the Firewall section below for details.

Streaming to AppleTV from Windows: install Bonjour Print Services for Windows and ensure the Bonjour Service is running.

SVPcast Usage

Streaming requires a lot of hardware resources because it needs to do both motion interpolation and video encoding at the same time, and do it in real time. This's why it's highly recommended to use a hardware-accelerated video encoder available in almost any modern hardware: Intel CPUs (QuickSync encoder), NVIDIA video cards (NVENC encoder) or latest AMD video cards (AMF encoder). You can choose an encoder to use from the Streaming → Video encoder menu.


To stream a video file:

  1. Click Streaming → Stream a video file... in the main menu,
  2. Choose a video, then a SVP Streaming window will open:
    Cast-control.png
  3. Select some options:
    • a device to stream to, or just a HTTP Live Stream (HLS) option to open a stream via network from a mobile phone, for example.
    • an audio track and an optional subtitles track,
    • a video profile to use for the frame interpolation.
  4. Click the Play button to start streaming.

While streaming, you can abort it or seek to the desired position in the video. Note that seeking can be very slow due to the buffering on the target device. For example, Apple TV can buffer up to 1 minute of the video stream so you will wait that minute after you move the slider in SVP's window.

The time position shown in the window is NOT the time you see on the TV! It's the encoder's position that can be up to 1.5 minute ahead of what you see on the screen.

When streaming to Apple TV or Chromecast you can additionally pause streaming with the Pause / Resume button. Volume controls are only available when streaming to Chromecast.

Subtitles styles

There're a few options to control subtitles size, position, etc. To adjust subtitles, open All settings and navigate to the cast.subs section.

  • cast.subs.ass_ignore - ignore ASS styles, ASS subtitles will be rendered as the usual SRT. See --no-sub-ass mpv's option.
  • cast.subs.font_size - relative font size (default value is 55). See --sub-font-size mpv's option.
  • cast.subs.margin_y - relative top and bottom screen margin for the subs. See --sub-margin-y mpv's option.

You can specify any other mpv options, space-separated, in cast.mpv_args value.

Tips and tricks

  • Move mouse over the QR-code image to show a larger QR code containing URL of the current stream.
  • If you want to define a specific video profile for streaming, add a Video player = cast condition to the profile.
  • You can re-stream a web stream from SVPtube without downloading it: see Video player -> Stream via SVPcast option in SVPtube's menu.

Web UI

A mobile-optimized Web UI is available via the web-server running on TCP port 9900. You can change the port number in SVP's All settings: see cast.server.port value.

Svpcast-webui.png

To use Web UI:

  1. Turn on Streaming → Web UI → Enabled.
  2. Choose a folder containing your videos, it will act like a "home folder" in the Web UI: Streaming → Web UI → Choose video folder.... The Web UI will only be allowed to list and select videos from this folder.
  3. Open [1] shortcut address with your mobile phone's browser, it will redirect the browser to the local IP address of your computer. The mobile phone must be connected to the same network as the computer!

"Dynamic DNS" service

Consider your computer running SVP has a local network address, something like "192.168.3.154". You can open a Web UI using the following address - "http://192.168.3.154:9900" - but it isn't always easy to remember. Moreover it can easily change on next reboot. Using the "Dynamic DNS" service you can just put https://www.svp-team.com/cast to bookmarks.

How it works?

  1. No information about your videos is sent to our server and nobody can access them from the outside world! This is only a redirection service.
  2. SVP periodically sends requests to the svp-team.com server containing only your external and local IPs network addresses. No other information is sent!
  3. When you open the shortcut URL, server-side script takes the local IP address associated with the current external IP, end redirects your browser or video player to that address.

If you have more than one computer running SVPcast and need access to both of them, specify unique computer names via cast.server.ddns.name in All settings. Then open https://www.svp-team.com/cast/name1 or https://www.svp-team.com/cast/name2 and so on.

Firewall

You must allow SVP to go through system's firewall for SVPcast to work. To check that firewall settings are correct:

  • From SVP main menu launch Streaming → Web UI → Open in web browser.
  • Try to open the URL shown in the address bar (e.g. "http://192.168.1.15:9900") on your smartphone connected to the same home network.
  • If the page doesn't open then you must alter your firewall settings.

If you're using only built-in Windows Defender Firewall:

  1. In Search window type "firewall" and launch Allow an app through Windows Firewall
  2. Click Change settings
  3. Find SVP 4 Pro and ensure that both the leftmost checkbox and the private checkbox are checked, then click OK.

Svp-firewall-enable.png

Issues

  • Chromecast suddenly hangs on video buffering: ensure you have no more than 12M set under Bandwidth limit. If it hangs with 12M selected, try 10M instead.
  • AppleTV won't appear in the "Stream to" list:
    • ensure you have Bonjour service installed;
    • if you have Oracle VirtualBox installed: you may need to disable the "VirtualBox NDIS6 Bridged Networking Driver" in the network adapter's properties for Bonjour discovery to work correctly.