Skip to content
Luis Fernandes edited this page Oct 20, 2018 · 13 revisions

Timeshift support (both iOS and Apple TV versions)

I'm sorry to say, but timeshift is not available in tvhclient. This is due to TvhClient using internally VLC, and VLC only supports HTTP streaming from tvheadend. The only way to support timeshift in Tvheadend is to use HTSP, the binary protocol custom made for tvheadend, which VLC does not support.

In order to support timeshift, one of those two options will need to change. Whenever that does, timeshift will come to TvhClient.

More info at https://github.com/zipleen/tvheadend-iphone-client/issues/216

Video Playback

VLCKit 3.0.2 (as of writing, VLC 3.0.2) is built-in as the "Internal Player". TvhClient will try to keep up with the latest stable VLCKit version as soon as it's deemed stable.

You can download the latest version of VLC from the App Store and select it from the pop-up playback menu, if you want to use the latest version instead of the built-in one.

Video Streaming Transcoding Support

TvhClient 3.x supports choosing which streaming profile you want to stream with. Transcoding support for tvheadend versions 3.5.xx is now completely removed (you should have upgraded to tvheadend 4.x by now anyway).

Tvheadend User Permissions

Be sure to use a user which has ALL permissions enabled in Tvheadend!

Because TvhClient uses the web interface to access tvheadend's info, you need to use a user which has "Web Interface" - be sure to have that enabled. In order to see the Status and Log you'll also need "Admin" permissions, and to use recordings you need "Video Recorder" permissions. The only missing is "Streaming" which you also need to view the streams in vlc, thus the requirement of having all the permissions enabled for tvhclient's user.

If you don't want to have admin permissions, you can set the "User is admin" off, in the settings of each server connection.

'XYZ' video player does not show up on the player list

Unfortunately, in the latest iOS releases, apps need to register what url prefixes they're going to call. The custom player prefix is now irrelevant and thus has been removed.

However, if you find a player that you want added to the list, you can add an issue specifying the player name and prefix. If you don't know the prefix, you need to find it first before submitting the issue and test it with "Custom Player Prefix".

What is Auto Start Polling ?

In short, keep this option enabled. If you disable it, you'll loose all refreshing of data, status and log. Although the network activity is always "enabled", there's not much network connectivity going around, expect that there's a connection always established.

If you disable this, you'll loose:

  • refreshing of status screen (subscriptions and adapters, and their data)
  • debug messages
  • refresh of channel / tags when a new channel or tag is added/removed
  • refresh of recordings when a new recording is added or removed

TvhClient uses the web interface that TVHeadend exposes. At the time of making such a web interface, browsers did not have a good technology to open a connection and wait for incoming data indefinitely - they overcome this problem by using something that's called comet polling: a request that waits for incoming data to arrive and that needs to be always active. The way this works is by issuing a standard HTTP request and if tvheadend has something to report, it will send data for this request. Then, a new request must be made to get new data - this means that the requests will never end, although only a small amount of data is being transferred. The notifications that tvheadend sends are essential to update new recordings, update status screen, update log and it's generally around the automatic refreshing of data.

In the Status screen, in the upper right corner there's a button which has a spinning wheel. If that spinning wheel is active, the comet poll is running and you can stop and start it by clicking on that button. The settings screen has an option to auto start this option on program startup, which should be always enabled. If you turn this option off, you'll loose all of this refreshing - but you won't have any additional network activity.

What is Anonymous Statistics

Some statistics are sent to Analytics regarding the usage of the app, if you don't want this enable you can turn this option off. The statistics that are being sent are: generic device information, time taken for getting network data, screens used. No personal data is ever transmitted. You can see what type of statistics are being collected by examining the source code.