This may not be very interesting to most of you but it sure made my day yesterday when I got it working.
Quick background: I have a dual-ATSC tuner device on one of my servers, fed by combined antennas and available on TVheadend 4.2.8. I primarily use Kodi on a Raspberry Pi to watch those TV channels and manage its DVR functionality. I haven't had much interest in adding a DVB-S/S2/S2X/etc. tuner to that system.
Since the Octagon SF8008 (and probably any Enigma2 receiver) provides .ts streams over HTTP, I figured I'd try TVheadend's "pipe" support for IPTV muxes, and got it working quite well. The process that feeds the stream into TVheadend needs to be wrapped into a shell script. Here's one I have for WVGN-LD (caribbean mux on 99W), using my receiver I've named "sf8008-2.iot" on my network, and using its service reference identifier as reported on my receiver:
Make sure the script is executable and accessible to the tvheadend process.
In TVheadend, add a new "IPTV Network" in the "Networks" configuration, then add a new mux within that network for each satellite channel. In the "URL" field, enter the path to the script prepended with "pipe://". In my case, it's "pipe:///home/hts/WVGN-LD.sh".
Then you also get to pick the reported channel number and name shown in the EPG (e.g. on Kodi). For that channel I used its numbering and PSIP name as set in the virgin islands, "19.1" and "WVGN".
I've done the steps above for the other two channels in that mux, WSJP and WVXF. They look great alongside the ATSC stations in my EPG on Kodi. There is a brief delay when one is selected to watch, but it's nothing I can't live with.
It's worth pointing out that transcoding is not necessary, at least with the hardware decoding capabilities of my client systems. Thus, with "-c copy" in the ffmpeg command, the CPU utilization is a nice 0% on my tvheadend server. It's basically acting as a pass-through for the stream.
I would like to figure out what it takes to write a custom EPG grabber for those channels, but I'll save that for another day. At the very least I'd like to populate the EPG with mostly-correct static info (of things that generally don't change from week to week).
Since I just got this working, I'm sure there are simplifications or improvements that can be made.
Quick background: I have a dual-ATSC tuner device on one of my servers, fed by combined antennas and available on TVheadend 4.2.8. I primarily use Kodi on a Raspberry Pi to watch those TV channels and manage its DVR functionality. I haven't had much interest in adding a DVB-S/S2/S2X/etc. tuner to that system.
Since the Octagon SF8008 (and probably any Enigma2 receiver) provides .ts streams over HTTP, I figured I'd try TVheadend's "pipe" support for IPTV muxes, and got it working quite well. The process that feeds the stream into TVheadend needs to be wrapped into a shell script. Here's one I have for WVGN-LD (caribbean mux on 99W), using my receiver I've named "sf8008-2.iot" on my network, and using its service reference identifier as reported on my receiver:
#!/bin/bash
ffmpeg \
-loglevel fatal \
-i 'http://sf8008-2.iot:8001/1:0:1:2:1:0:A2F103D:0:0:0:' \
-f mpegts \
-c copy \
-mpegts_service_type digital_tv \
-metadata service_provider=WVGN-LD \
-metadata service_name=WVGN-LD \
pipe:1
Make sure the script is executable and accessible to the tvheadend process.
In TVheadend, add a new "IPTV Network" in the "Networks" configuration, then add a new mux within that network for each satellite channel. In the "URL" field, enter the path to the script prepended with "pipe://". In my case, it's "pipe:///home/hts/WVGN-LD.sh".
Then you also get to pick the reported channel number and name shown in the EPG (e.g. on Kodi). For that channel I used its numbering and PSIP name as set in the virgin islands, "19.1" and "WVGN".
I've done the steps above for the other two channels in that mux, WSJP and WVXF. They look great alongside the ATSC stations in my EPG on Kodi. There is a brief delay when one is selected to watch, but it's nothing I can't live with.
It's worth pointing out that transcoding is not necessary, at least with the hardware decoding capabilities of my client systems. Thus, with "-c copy" in the ffmpeg command, the CPU utilization is a nice 0% on my tvheadend server. It's basically acting as a pass-through for the stream.
I would like to figure out what it takes to write a custom EPG grabber for those channels, but I'll save that for another day. At the very least I'd like to populate the EPG with mostly-correct static info (of things that generally don't change from week to week).
Since I just got this working, I'm sure there are simplifications or improvements that can be made.
Category: Computer and USB Satellite Receivers and Recording