FAQ - zipleen/tvheadend-iphone-client GitHub Wiki

Privacy Policy

Timeshift support (both iOS and Apple TV versions)

Supported as of iOS version 5.0.0 and tvOS 2.0.0

Video Playback

TvhClient ships with MPV and VLCKit as supported engines. Switch between them in the settings. MPV seems to be the most reliable one though.

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

Note: you don't need to use admin, but it's best if you use one as you will be able to use all tvhclient features.

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.

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

Update: TvhClient uses the websocket instead of polling, if it's available.

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.