Simple EPG information for IPTV M3U playlist in mpv.
EPGTV is simple extended fork of mpvEPG v0.3
EPGTV open M3U file or URL and automatically load/download EPG data to cache.
After save cache, show TV program information for twoo days if available.
If available EPGTV show TV programs descriptions. First start can be slowly
becouse cache not prepared, other starts faster and reuse cache.
- Worked on
mpv 0.38.0 - Worked on
GNU/Linux Debian 12 - Worked on
Windows 7(See Windows specific info in end of README )
mpvThis script work insidempvplayercurlNeed for downloadEPGdatagzipNeed for unpackzip/gziparchives
apt install mpv curl gzip
You need install EPGTV directory inside $HOME/.config/mpv/scripts/
git clone https://github.com/blogdron/EPGTV $HOME/.config/mpv/scripts/EPGTV
cd $HOME/.config/mpv/scripts/EPGTV && git pull
(I recommend use --hwdec, for hardware acceleration)
mpv --hwdec iptv.m3umpv --hwdec https://example.com/iptv.m3u
h- Show TV information (autoclosed after 5 seconds)y- Show TV information likehbut in toggle mode show/hiden- Scroll down of TV information for today and tomorrowu- Upgrade EPG TV data for current playlist (other cache unloaded)g- Preload all EPG TV cache for find TV programs (can be usefull)esc- Close TV information
EPGTV uses a cache for faster operation, it is automatically created
when you first access the playlist, but if after a while you see a message
about the lack of data for the TV channel, then probably the cache is no longer relevant, and
you need to update the cache manually by pressing u if the EPG data source has been updated
then the new cache will be relevant and all data will be displayed, usually EPG data stores
information for several days in advance, but this is not always the case.
In the script directory there is a configuration file conf.lua, configure everything to your taste
EPG TV cache location stored in
$HOME/.cache/EPGTV/
#EXTM3U url-tvg="http://example.com/epg.xml.gz, https://example.com/epg.xml" tvg-shift="+3"
#EXTINF:-1 tvg-id="channel_id" group-title="Group name",channel name
http://example.com/tvstream
For get and find TV information M3U playlist must have
url-tvgtag with link to FILE or URL, with plain XML data or gz/zip archivetvg-idname for find channel from M3U inside EPG
Some IPTV M3U no have tvg-id in this case, an alternative search mechanism
is used by name and/or end of the link
I don't use Windows, but here is a description of where and how I managed to
check the script's functionality for the Windows 7 operating system only once.
- Download
mpvand unpackstatic-mpv.7ziptostatic-mpv - https://github.com/eko5624/mpv-win64/releases/tag/2024-04-01
- Download
EPGTVand unpack tostatic-mpv\portable-config\scripts\EPGTV - https://github.com/blogdron/EPGTV/archive/refs/heads/master.zip
- Download
curland unpack toC:\Program Files\curl - https://curl.se/windows/
- Download
gzipand unpack toC:\Program Files\gzip - https://sourceforge.net/projects/gnuwin32/files/gzip/1.3.12-1/gzip-1.3.12-1-bin.zip/download
- Open file
static-mpv\portable-config\scripts\EPGTV\conf.lua - change values of
curl_pathandgzip_pathto these
curl_path = 'C:\\Program Files\\curl\\bin\\curl.exe', -- set fullpath to you curl installation
gzip_path = 'C:\\Program Files\\gzip\\bin\\gzip.exe', -- set fullpath to you gzip installationThat's it, it should work now, in fact I described everything here in too much detail.
You only need to unzip the EPGTV directory with its contents in the script directory
of your mpv player, it can be in different places depending on your
version on Windows then you need to install curl and gzip and set the full paths
to them in the EPGTV configuration file and that's it. You can take these dependencies
from other places, and they may be needed in other ways, based on your case.
