This is a modified version of https://code.google.com/p/tv-grab-file/ for use on Synology NAS devices.
This project has been abandoned and no further support will be given.
tv_grab_file can be used to pull any XMLTV source and feed your XMLTV enabled PVR backend (e.g. Tvheadend) with EPG data.
Quoting the original Google Code repository:
Simple XMLTV grabber to "grab" a xmltv formatted file
This XMLTV "grabber" is used to provide a way of loading a valid XMTV file into any application that supports the various XMLTV grabbers.
It will respond to a small number of XMLTV options, just enough to pass as a valid XMLTV grabber, and it will just pass a valid XMLTV file to the requesting program.
The original source was written for Bash, but Synology's operating system (DSM) is an embedded Linux based on BusyBox and the built-in shell (ash) differs in terms of syntax and functions.
This version behaves exactly like the original one: It reads a local XML file (e.g. output from mc2xml) and returns the EPG data.
This versions downloads a remote XML file (e.g. http://example.com/remote.xml) and returns the EPG data.
This version downloads a remote XML file from TimeFor.TV (paid service), strips the www.timefor.tv/tv/
part from id
- and channel
-attributes and then returns the EPG data. The last step is necessary because TVheadend contains a bug in its lastest release (3.4.27), which causes the EPG grabber to loose the association between XMLTV and PVR channels.
-
Download the latest tv_grab_file that fits you best (don't forget to modify the TimeFor.TV / remote URL or local XML file location with a editor)
-
Copy the file to a share on your Synology NAS (e.g.
public
) -
Enable SSH (DSM → Control panel → Terminal → Enable SSH)
-
SSH into your NAS
ssh [email protected]
-
Create a symlink
ln -s /volume1/public/tv_grab_file /usr/bin/tv_grab_file
-
Make the file executable
chmod +x /usr/bin/tv_grab_file
-
Restart your PVR backend (e.g. Tvheadend) and update the configuration to use tv_grab_file
-
Assign the XMLTV EPG sources to your channel listing