[Deprecated] tobbenb's Docker Template Repository - WebGrab+Plus


Recommended Posts

@saarg, great stuff. I started the container with

--device=/dev/dvb/adapter2/demux0:/dev/dvb/adapter2/demux0 --device=/dev/dvb/adapter2/dvr0:/dev/dvb/adapter2/dvr0 --device=/dev/dvb/adapter2/frontend0:/dev/dvb/adapter2/frontend0 --device=/dev/dvb/adapter2/net0:/dev/dvb/adapter2/net0 tobbenb/tvheadend-unstable

and by using the Media Build bzimage/bzroot I was able to see my DVB-T USB device as: Afatech AF9013.

 

It completely working - I can watch TV  :D

 

I have to educate myself now in how to use TVHeadend in general.

 

P.S. Don't know if it was important to do but I changed permissions for /dev/dvb/adapter2 towards nobody:users. Additionally by activating TVHeadend in KODI (fka XBMC) I ca watch TV there as well.

Link to comment
  • Replies 772
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

I changed my go file in oder to make my DigitalDevices Cine V6.5 S2 card accessible to unRAID again (I had previously passed it through to a Ubuntu based VM; the VDR is a yaVDR, pretty famous in Germany):

# Setup KVM PCI passthrough
# NVIDIA Video                  0000:01:00.0
# NVIDIA Sound                  0000:01:00.1
# Intel 5 Series/3400 HD Audio  0000:00:1b.0
# DD Cine S2                    0000:05:00.0
# JMB368 IDE controller         0000:06:00.0

# Setup for yaVDR VM
#/usr/local/sbin/vfio-bind 0000:01:00.0 0000:01:00.1 0000:00:1b.0 0000:05:00.0

# Setup for TVHeadend Docker
/usr/local/sbin/vfio-bind 0000:01:00.0 0000:01:00.1 0000:00:1b.0

 

Afterwards I changed the Repository entry:

--device=/dev/dvb/adapter0/demux0:/dev/dvb/adapter0/demux0 --device=/dev/dvb/adapter0/dvr0:/dev/dvb/adapter0/dvr0 --device=/dev/dvb/adapter0/frontend0:/dev/dvb/adapter0/frontend0 --device=/dev/dvb/adapter0/net0:/dev/dvb/adapter0/net0 --device=/dev/dvb/adapter1/demux0:/dev/dvb/adapter1/demux0 --device=/dev/dvb/adapter1/dvr0:/dev/dvb/adapter1/dvr0 --device=/dev/dvb/adapter1/frontend0:/dev/dvb/adapter1/frontend0 --device=/dev/dvb/adapter1/net0:/dev/dvb/adapter1/net0 --device=/dev/dvb/adapter2/demux0:/dev/dvb/adapter2/demux0 --device=/dev/dvb/adapter2/dvr0:/dev/dvb/adapter2/dvr0 --device=/dev/dvb/adapter2/frontend0:/dev/dvb/adapter2/frontend0 --device=/dev/dvb/adapter2/net0:/dev/dvb/adapter2/net0 tobbenb/tvheadend-unstable

 

Result: the container started without any hassle but I wasn't able to see any of the "TV Adapters" (in the HTS TVHeadend menu).

 

Dirty fix: chown -R nobody:users /dev/dvb &

 

That is an issue but I do hope that someone is having a great idea to avoid this moving forward  ;)

 

Btw. why do the "normal" unRAID bzimage/bzroot files not contain the DVB drivers? Maybe jonp can chime in?

Link to comment

I'm going to try this docker later, as I'd like to have tvheadend running, and right now its a little too much to have it on a Pi AND have that Pi watch tv at the same time, etc.

 

But I have a logistical question:

  • Where/how/etc are you all storing your recordings/live tv/time shifting/etc storage for tvheadend?

 

Are you directing it all to your cache drive, or are you dumping it right onto a user share/array drive/etc? I'd like to have scratch space to store stuff, but I also like letting my drives spin down when not in use. I'll be using a hdhomerun, so having a usb device/etc isn't an issue, so running this docker would be great.

Link to comment

Btw. why do the "normal" unRAID bzimage/bzroot files not contain the DVB drivers? Maybe jonp can chime in?

 

Because unRAID is a NAS, first and foremost, so adding in unneeded drivers just mucks things up. But at least you have the ability to edit/change/add things like that, so its not all bad.

 

In other words, 90% of unraid users don't want/need DVB drivers, so no need to add them. Its not a full linux distro install, its specialized for the way unRAID works.

 

My .02 :)

Link to comment

I see your point and on the other hand I think that unRAID had already passed that boundary .... with KVM/XEN/Docker support included I would think that drivers should be included as well. Not only DVB driver btw...

 

 

i think there is an inherent danger of feature bloat with this statement though.

 

a line has to be drawn somewhere as to what gets added and what doesn't, you can't be all things to all people.

Link to comment

i have a separate hp n54l for tvheadend duties, but i was thinking about having a docker of it for IPTV.

 

anybody have a good link for setting that up ?

 

That shouldn't be so hard.

You have to copy the content of /home/hts/.hts/tvheadend (If you are running it as the hts user) to the appdata folder for the /config volume mapping, install tvheadend container and that should be it.

If I remember correctly, you can't use a config for 3.4 in the 3.9 version, so be careful to choose the right container.

Link to comment

I see your point and on the other hand I think that unRAID had already passed that boundary .... with KVM/XEN/Docker support included I would think that drivers should be included as well. Not only DVB driver btw...

 

 

i think there is an inherent danger of feature bloat with this statement though.

 

a line has to be drawn somewhere as to what gets added and what doesn't, you can't be all things to all people.

 

Compile them as modules during build time, but provide them as an optional extra modules package that referenced if the user wants them.

Link to comment

I see your point and on the other hand I think that unRAID had already passed that boundary .... with KVM/XEN/Docker support included I would think that drivers should be included as well. Not only DVB driver btw...

 

 

i think there is an inherent danger of feature bloat with this statement though.

 

a line has to be drawn somewhere as to what gets added and what doesn't, you can't be all things to all people.

 

Compile them as modules during build time, but provide them as an optional extra modules package that referenced if the user wants them.

 

I agree with this option.

Link to comment

I'm having a crack at setting up WebGrabberPlusPlus with TVHeadEnd and a couple of HDHomeRuns.

 

TVHeadEnd is recognising my HDHR and scanning the channels (Major win! - Woohoo!)

 

However, I'm a little lost as far as configuring WebGrabberPlusPlus goes.

 

Has the WebGrab++.config.xml file been pre-configured in some way, or do I need to modify that myself? 

 

EG. The "Filename" attribute is currently set to "C:\ProgramData\ServerCare\WebGrab\guide.xml", should I change this to reflect the path I entered on the docker config? (like "/data/config.xml")  Or is this automagically managed some other way?

 

I can also see that the package includes the SiteINI pack... do I need to do anything special to configure this for an AU grabber?

Link to comment

I'm having a crack at setting up WebGrabberPlusPlus with TVHeadEnd and a couple of HDHomeRuns.

 

TVHeadEnd is recognising my HDHR and scanning the channels (Major win! - Woohoo!)

 

However, I'm a little lost as far as configuring WebGrabberPlusPlus goes.

 

Has the WebGrab++.config.xml file been pre-configured in some way, or do I need to modify that myself? 

 

EG. The "Filename" attribute is currently set to "C:\ProgramData\ServerCare\WebGrab\guide.xml", should I change this to reflect the path I entered on the docker config? (like "/data/config.xml")  Or is this automagically managed some other way?

 

I can also see that the package includes the SiteINI pack... do I need to do anything special to configure this for an AU grabber?

 

Hurray! :)

Regarding the path and ini, it's explained in the first post ;)

 

The ini files for each site available for grabbing is created in you config folder on first run. You will then have to copy the ini for your site to the root folder of the config folder. In the WebGrab+Plus configuration file you will have to set the correct path for the guide.xml to /data/guide.xml or else Tvheadend will not find it, as explained earlier.

 

If you need to use cookies set up to do the grabbing, you have to follow what is said in the info file specific for your site in the ini folder. I saw that there is one site in the AU section that uses cookies.

Copy the ini file to the same folder as the webgrab+plus config file and add the channels you want in the config file.

You can safely remove all of the pre-configured <channel></channel> tags.

If you want tvheadend to automatically map the channels to the right epg channel you can edit the name so it has the exact same name as in tvheadend.

 

Let's take an example. I'll use Fox Sports 2.

This is the line you put in webgrab+ config file:

<channel update="i" site="foxtel.com.au" site_id="239" xmltv_id="[color=red]Fox Sports 2 HD[/color]">[color=red]Fox Sports 2 HD[/color]</channel>

 

The name in red is the name that have to match the name in tvheadend. So if the channel is called Fox Sports 2 in tvheadend you have to change the line to:

<channel update="i" site="foxtel.com.au" site_id="239" xmltv_id="[color=red]Fox Sports 2[/color]">[color=red]Fox Sports 2[/color]</channel>

 

It might be a lot of work to do this for every channel, so you can try to leave it at default and see which channels you have to map manually in tvheadend and just change those :)

 

Remember that the /data folder in both tvheadend and Webgrab+Plus have to point to the same folder in your appdata.

You also have to choose the wg++ grabber in the tvheadend --> configuration --> channel/epg --> EPG grabber under internal grabber. There should only be one option.

You can disable all of the over the air grabbers.

 

Hopefully that will get you up and running :)

 

Link to comment

So I've configured all the above in WebGrabPlusPlus....

 

But I don't seem to get any file generated in the data folder.

 

I have logging set to "on" in WGPP, but it's not generating any logs (there is only one log from last night when it wasn't configured correctly).

 

How do I force WGPP to do it's thing so I can check the log output?

Link to comment

So I've configured all the above in WebGrabPlusPlus....

 

But I don't seem to get any file generated in the data folder.

 

I have logging set to "on" in WGPP, but it's not generating any logs (there is only one log from last night when it wasn't configured correctly).

 

How do I force WGPP to do it's thing so I can check the log output?

 

This program confused the hell out of me, so i went with installing it in win7 and trying to get it "working", then recycling the files over to the docker. I never got it working in win7, since the choices for OTA in the USA either don't work, or require a subscription. It looks like one (tvguide) does in fact work, but unless you are in the thick of following all the sites forums posts, I have no idea what I'm supposed to be editing/etc.

 

On the bright side, this ver of tvheadend (3.9+) automatically figures out channel names/numbers, which made getting it working (without EPG) in xbmc/kodi 10x easier (once you figure out where you tell it to map channels that is). I also am using a hdhomerun. I get most of the channels listed, but they often freeze up/etc, so I'm not really sure why its not working "as well", but it could easily be the fact its the unstable version. I'll redo it again once the stable one is released.

Link to comment

So I've configured all the above in WebGrabPlusPlus....

 

But I don't seem to get any file generated in the data folder.

 

I have logging set to "on" in WGPP, but it's not generating any logs (there is only one log from last night when it wasn't configured correctly).

 

How do I force WGPP to do it's thing so I can check the log output?

 

This program confused the hell out of me, so i went with installing it in win7 and trying to get it "working", then recycling the files over to the docker. I never got it working in win7, since the choices for OTA in the USA either don't work, or require a subscription. It looks like one (tvguide) does in fact work, but unless you are in the thick of following all the sites forums posts, I have no idea what I'm supposed to be editing/etc.

 

On the bright side, this ver of tvheadend (3.9+) automatically figures out channel names/numbers, which made getting it working (without EPG) in xbmc/kodi 10x easier (once you figure out where you tell it to map channels that is). I also am using a hdhomerun. I get most of the channels listed, but they often freeze up/etc, so I'm not really sure why its not working "as well", but it could easily be the fact its the unstable version. I'll redo it again once the stable one is released.

 

WebGrab+ is a pain in the a... to set up the first times. But when you find a page that works and you have learned how the software works it's all good.

Did you check the information on the EPG channels page for the site you want to grab from? If you hoover the mouse pointer over the ! it should show you info about the site.

 

For me the 3.9 version have been very stable. I have used it for over a year now. But I do not use the HDHomerun.

Have you checked if others have reported the problem on the Tvheadend page?

Link to comment
  • 4 weeks later...

I assumed that since I wasn't able to find ffmpeg anywhere (for eg /usr/bin/ffmpeg) that its simply not there, hence can't be used for pipe. (integrated in tvheadend, but isn't accessible?)

 

I did however try many variations, here's one:

pipe:///usr/bin/ffmpeg -loglevel fatal -i "http://abclive.abcnews.com/i/abc_live4@136330/index_1200_av-b.m3u8?sd=10&b=1200&rebase=on" -acodec copy -vcodec copy -bsf h264_mp4toannexb -f mpegts pipe:1

Result:

2015-02-14 23:19:22.215 subscription: 0011: "scan" subscribing to mux, weight: 5, adapter: "IPTV", network: "IPTV", mux: "pipe:///usr/bin/ffmpeg -loglevel fatal -i "http://abclive.abcnews.com/i/abc_live4@136330/index_1200_av-b.m3u8?sd=10&b=1200&rebase=on" -acodec copy -vcodec copy -bsf h264_mp4toannexb -f mpegts pipe:1", hostname: "", username: "", client: ""

2015-02-14 23:19:22.224 iptv: stdin pipe unexpectedly closed: No data

 

FYI if anyone wondered how to get a shell for a docker container:

docker exec -ti Tvheadend-Unstable /bin/bash

Link to comment

It's compiled into the tvheadend binary, so it's most likely not going to work.

As of now I'm not going to add it to the container.

What you can do is to add the ffmpeg ppa and install ffmpeg that way. You can find the instructions to add it on this page http://www.noobslab.com/2014/12/ffmpeg-returns-to-ubuntu-1410.html

You will have to do this every time you (more correctly I) update the container.

 

Do you have to use the pipe command every time you want to watch the channel or just for tvheadend to scna it as a mux?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.