forked from Ivasoft/docker-tvheadend
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
59a8633e2a | ||
|
|
8c239ea3e4 | ||
|
|
f768afd1c3 | ||
|
|
12c36b7feb | ||
|
|
0dcb22b4bc | ||
|
|
b256cc55e0 | ||
|
|
4c754e3fa7 | ||
|
|
f04613e139 | ||
|
|
9fb879c301 | ||
|
|
8600fdc8ef | ||
|
|
a015422c01 | ||
|
|
9dea4039aa | ||
|
|
fc3b1f10b5 | ||
|
|
87a5b0261d | ||
|
|
8cbc8bdd87 | ||
|
|
a7f761319d | ||
|
|
52db267a59 |
6
.dockerignore
Normal file
6
.dockerignore
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.github
|
||||||
|
.gitattributes
|
||||||
|
READMETEMPLATE.md
|
||||||
|
README.md
|
||||||
17
.gitattributes
vendored
Normal file
17
.gitattributes
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
# Custom for Visual Studio
|
||||||
|
*.cs diff=csharp
|
||||||
|
|
||||||
|
# Standard to msysgit
|
||||||
|
*.doc diff=astextplain
|
||||||
|
*.DOC diff=astextplain
|
||||||
|
*.docx diff=astextplain
|
||||||
|
*.DOCX diff=astextplain
|
||||||
|
*.dot diff=astextplain
|
||||||
|
*.DOT diff=astextplain
|
||||||
|
*.pdf diff=astextplain
|
||||||
|
*.PDF diff=astextplain
|
||||||
|
*.rtf diff=astextplain
|
||||||
|
*.RTF diff=astextplain
|
||||||
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<!--- Provide a general summary of the issue in the Title above -->
|
||||||
|
|
||||||
|
[linuxserverurl]: https://linuxserver.io
|
||||||
|
[][linuxserverurl]
|
||||||
|
|
||||||
|
|
||||||
|
<!--- If you have an issue with the project, please provide us with the following information -->
|
||||||
|
|
||||||
|
<!--- Host OS -->
|
||||||
|
<!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
|
||||||
|
<!--- Docker log output, docker log <container-name> -->
|
||||||
|
<!--- Mention if you're using symlinks on any of the volume mounts. -->
|
||||||
|
|
||||||
|
|
||||||
|
<!--- If you have a suggestion or fix for the project, please provide us with the following information -->
|
||||||
|
|
||||||
|
<!--- What you think your suggestion brings to the project, or fixes with the project -->
|
||||||
|
<!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->
|
||||||
|
|
||||||
|
## Thanks, team linuxserver.io
|
||||||
|
|
||||||
15
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
15
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<!--- Provide a general summary of your changes in the Title above -->
|
||||||
|
|
||||||
|
[linuxserverurl]: https://linuxserver.io
|
||||||
|
[][linuxserverurl]
|
||||||
|
|
||||||
|
|
||||||
|
<!--- Before submitting a pull request please check the following -->
|
||||||
|
|
||||||
|
<!--- That you have made a branch in your fork, we'd rather not merge from your master -->
|
||||||
|
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
|
||||||
|
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
|
||||||
|
<!--- -->
|
||||||
|
|
||||||
|
## Thanks, team linuxserver.io
|
||||||
|
|
||||||
43
.gitignore
vendored
Normal file
43
.gitignore
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# Windows image file caches
|
||||||
|
Thumbs.db
|
||||||
|
ehthumbs.db
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
Desktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Windows Installer files
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# Windows shortcuts
|
||||||
|
*.lnk
|
||||||
|
|
||||||
|
# =========================
|
||||||
|
# Operating System Files
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
# OSX
|
||||||
|
# =========================
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
|
||||||
|
# Thumbnails
|
||||||
|
._*
|
||||||
|
|
||||||
|
# Files that might appear on external disk
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
|
||||||
|
# Directories potentially created on remote AFP share
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
||||||
20
Dockerfile
20
Dockerfile
@@ -4,7 +4,7 @@ MAINTAINER saarg
|
|||||||
# package version
|
# package version
|
||||||
ARG ARGTABLE_VER="2.13"
|
ARG ARGTABLE_VER="2.13"
|
||||||
ARG UNICODE_VER="2.09"
|
ARG UNICODE_VER="2.09"
|
||||||
ARG XMLTV_VER="0.5.67"
|
ARG XMLTV_VER="0.5.68"
|
||||||
|
|
||||||
# Environment settings
|
# Environment settings
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
@@ -27,8 +27,10 @@ RUN \
|
|||||||
gettext-dev \
|
gettext-dev \
|
||||||
git \
|
git \
|
||||||
libhdhomerun-dev \
|
libhdhomerun-dev \
|
||||||
|
libgcrypt-dev \
|
||||||
libtool \
|
libtool \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
|
libxslt-dev \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
mercurial \
|
||||||
openssl-dev \
|
openssl-dev \
|
||||||
@@ -59,7 +61,10 @@ RUN \
|
|||||||
perl-compress-raw-zlib \
|
perl-compress-raw-zlib \
|
||||||
perl-date-manip \
|
perl-date-manip \
|
||||||
perl-datetime \
|
perl-datetime \
|
||||||
|
perl-digest-sha1 \
|
||||||
perl-file-slurp \
|
perl-file-slurp \
|
||||||
|
perl-file-temp \
|
||||||
|
perl-getopt-long \
|
||||||
perl-html-parser \
|
perl-html-parser \
|
||||||
perl-html-tree \
|
perl-html-tree \
|
||||||
perl-http-cookies \
|
perl-http-cookies \
|
||||||
@@ -77,6 +82,7 @@ RUN \
|
|||||||
perl-term-readkey \
|
perl-term-readkey \
|
||||||
perl-test-exception \
|
perl-test-exception \
|
||||||
perl-test-requires \
|
perl-test-requires \
|
||||||
|
perl-try-tiny \
|
||||||
perl-xml-parser \
|
perl-xml-parser \
|
||||||
perl-xml-sax \
|
perl-xml-sax \
|
||||||
python \
|
python \
|
||||||
@@ -104,20 +110,32 @@ RUN \
|
|||||||
|
|
||||||
# install perl modules
|
# install perl modules
|
||||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
||||||
|
cpanm Date::Language && \
|
||||||
|
cpanm DateTime::Format::ISO8601 && \
|
||||||
|
cpanm DateTime::Format::Strptime && \
|
||||||
|
cpanm HTML::Entities && \
|
||||||
cpanm HTML::TableExtract && \
|
cpanm HTML::TableExtract && \
|
||||||
|
cpanm HTML::TreeBuilder && \
|
||||||
cpanm HTTP::Cache::Transparent && \
|
cpanm HTTP::Cache::Transparent && \
|
||||||
cpanm inc && \
|
cpanm inc && \
|
||||||
cpanm IO::Scalar && \
|
cpanm IO::Scalar && \
|
||||||
cpanm IO::Socket::SSL && \
|
cpanm IO::Socket::SSL && \
|
||||||
|
cpanm JSON::PP && \
|
||||||
cpanm Lingua::EN::Numbers::Ordinate && \
|
cpanm Lingua::EN::Numbers::Ordinate && \
|
||||||
cpanm Lingua::Preferred && \
|
cpanm Lingua::Preferred && \
|
||||||
|
cpanm List::MoreUtils && \
|
||||||
|
cpanm LWP::Simple && \
|
||||||
|
cpanm LWP::UserAgent && \
|
||||||
cpanm PerlIO::gzip && \
|
cpanm PerlIO::gzip && \
|
||||||
cpanm SOAP::Lite && \
|
cpanm SOAP::Lite && \
|
||||||
|
cpanm Storable && \
|
||||||
cpanm Term::ProgressBar && \
|
cpanm Term::ProgressBar && \
|
||||||
cpanm Unicode::UTF8simple && \
|
cpanm Unicode::UTF8simple && \
|
||||||
cpanm version && \
|
cpanm version && \
|
||||||
cpanm WWW::Mechanize && \
|
cpanm WWW::Mechanize && \
|
||||||
|
cpanm XML::DOM && \
|
||||||
cpanm XML::LibXML && \
|
cpanm XML::LibXML && \
|
||||||
|
cpanm XML::LibXSLT && \
|
||||||
cpanm XML::TreePP && \
|
cpanm XML::TreePP && \
|
||||||
cpanm XML::Twig && \
|
cpanm XML::Twig && \
|
||||||
cpanm XML::Writer && \
|
cpanm XML::Writer && \
|
||||||
|
|||||||
51
README.md
51
README.md
@@ -1,22 +1,32 @@
|
|||||||

|
[linuxserverurl]: https://linuxserver.io
|
||||||
|
[forumurl]: https://forum.linuxserver.io
|
||||||
|
[ircurl]: https://www.linuxserver.io/index.php/irc/
|
||||||
|
[podcasturl]: https://www.linuxserver.io/index.php/category/podcast/
|
||||||
|
|
||||||
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring easy user mapping and community support. Find us for support at:
|
[][linuxserverurl]
|
||||||
* [forum.linuxserver.io](https://forum.linuxserver.io)
|
|
||||||
* [IRC](https://www.linuxserver.io/index.php/irc/) on freenode at `#linuxserver.io`
|
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
|
||||||
* [Podcast](https://www.linuxserver.io/index.php/category/podcast/) covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
* [forum.linuxserver.io][forumurl]
|
||||||
|
* [IRC][ircurl] on freenode at `#linuxserver.io`
|
||||||
|
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
||||||
|
|
||||||
# linuxserver/tvheadend
|
# linuxserver/tvheadend
|
||||||
|
[](http://microbadger.com/images/linuxserver/tvheadend "Get your own image badge on microbadger.com")[][hub][][hub][](http://jenkins.linuxserver.io:8080/job/Dockers/job/LinuxServer.io/job/linuxserver-tvheadend/)
|
||||||
|
[hub]: https://hub.docker.com/r/linuxserver/tvheadend/
|
||||||
|
|
||||||
[Tvheadend] (https://www.tvheadend.org/) is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources.
|
[Tvheadend](https://www.tvheadend.org/) is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources.
|
||||||
Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming.
|
Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming.
|
||||||
Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML).
|
Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML).
|
||||||
|
|
||||||
|
[][tvheadendurl]
|
||||||
|
[tvheadendurl]: https://www.tvheadend.org/
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```
|
```
|
||||||
docker create \
|
docker create \
|
||||||
--name=tvheadend \
|
--name=tvheadend \
|
||||||
|
--net=bridge \
|
||||||
-v <path to data>:/config \
|
-v <path to data>:/config \
|
||||||
-e PGID=<gid> -e PUID=<uid> \
|
-e PGID=<gid> -e PUID=<uid> \
|
||||||
-p 9981:9981 \
|
-p 9981:9981 \
|
||||||
@@ -27,14 +37,17 @@ docker create \
|
|||||||
The --device=/dev/dvb is only needed if you want to pass through a DVB card to the container. If you use IPTV or HDHomeRun you can leave it out.
|
The --device=/dev/dvb is only needed if you want to pass through a DVB card to the container. If you use IPTV or HDHomeRun you can leave it out.
|
||||||
|
|
||||||
|
|
||||||
You can choose between ,using tags, stable or master version of tvheadend.
|
You can choose between ,using tags, latest (default, and no tag required or a specific stable version of tvheadend.
|
||||||
|
|
||||||
Add one of the tags, if required, to the linuxserver/tvheadend line of the run/create command in the following format, linuxserver/tvheadend:master
|
Add one of the tags, if required, to the linuxserver/tvheadend line of the run/create command in the following format, linuxserver/tvheadend:stable-4.0.9
|
||||||
|
|
||||||
#### Tags
|
#### Tags
|
||||||
+ **master** : latest development from tvheadend git, with updates once a week.
|
|
||||||
+ **stable** : latest stable version.
|
|
||||||
|
|
||||||
|
+ **stable-4.0.9** : latest stable version.
|
||||||
|
|
||||||
|
#### Host vs. Bridge
|
||||||
|
|
||||||
|
If you use IPTV, SAT>IP or HDHomeRun, you need to create the container with --net=host and remove the -p flags. This is because of a limitation in docker and multicast.
|
||||||
|
|
||||||
**Parameters**
|
**Parameters**
|
||||||
|
|
||||||
@@ -42,9 +55,11 @@ Add one of the tags, if required, to the linuxserver/tvheadend line of the run
|
|||||||
* `-v /config` - explain what lives here
|
* `-v /config` - explain what lives here
|
||||||
* `-e PGID` for GroupID - see below for explanation
|
* `-e PGID` for GroupID - see below for explanation
|
||||||
* `-e PUID` for UserID - see below for explanation
|
* `-e PUID` for UserID - see below for explanation
|
||||||
|
* `--device=/dev/dvb` - for passing through DVB-cards
|
||||||
|
* `--net=host` - for IPTV, SAT>IP and HDHomeRun
|
||||||
* `-e TZ` - for timezone information *eg Europe/London, etc*
|
* `-e TZ` - for timezone information *eg Europe/London, etc*
|
||||||
|
|
||||||
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it tvheadend-unstable /bin/bash`.
|
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it tvheadend /bin/bash`.
|
||||||
|
|
||||||
### User / Group Identifiers
|
### User / Group Identifiers
|
||||||
|
|
||||||
@@ -59,7 +74,7 @@ In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as bel
|
|||||||
|
|
||||||
## Setting up the application
|
## Setting up the application
|
||||||
|
|
||||||
The setup depends if you run the master or stable tag. Running the master is the easiest as it has a setup wizard.
|
The setup depends if you run the one of the stable tags or use latest. Running latest is the easiest as it has a setup wizard.
|
||||||
|
|
||||||
**Stable**
|
**Stable**
|
||||||
|
|
||||||
@@ -68,7 +83,7 @@ Go back to the TV adapters tab and add the newly created network under universal
|
|||||||
|
|
||||||
After the scan is done, head to the Services tab and find the services you want as channels, mark them, and press map services. They should now appear under Configuration --> Channel/EPG.
|
After the scan is done, head to the Services tab and find the services you want as channels, mark them, and press map services. They should now appear under Configuration --> Channel/EPG.
|
||||||
|
|
||||||
**Master**
|
**Latest**
|
||||||
|
|
||||||
The first thing to do is to run the setup wizard. If it doesn't pop up at first login, you can find it in Configuration --> General --> Base and click Start Wizard. This will guide you to set up the basic parts of tvheadend.
|
The first thing to do is to run the setup wizard. If it doesn't pop up at first login, you can find it in Configuration --> General --> Base and click Start Wizard. This will guide you to set up the basic parts of tvheadend.
|
||||||
|
|
||||||
@@ -93,7 +108,7 @@ Go to Configuration --> Recording. Change the view level to advanced in the top
|
|||||||
comskip --ini=/config/comskip/comskip.ini "%f"
|
comskip --ini=/config/comskip/comskip.ini "%f"
|
||||||
```
|
```
|
||||||
|
|
||||||
Now comskip will run after each recording is finished. You will find comskip.ini in the comskip folder of your /config volume mapping. See the [Comskip] (http://www.kaashoek.com/comskip/) homepage for tuning of the ini file.
|
Now comskip will run after each recording is finished. You will find comskip.ini in the comskip folder of your /config volume mapping. See the [Comskip](http://www.kaashoek.com/comskip/) homepage for tuning of the ini file.
|
||||||
|
|
||||||
|
|
||||||
**FFmpeg**
|
**FFmpeg**
|
||||||
@@ -102,10 +117,11 @@ FFmpeg is installed in /usr/bin/ in case you need to use it with pipe.
|
|||||||
|
|
||||||
**EPG XML file**
|
**EPG XML file**
|
||||||
|
|
||||||
If you have EPG data in XML format from a supplier, you can drop it in the data folder of your your /config volume mapping. Then choose the XML file grabber in Configuration --> Channel/EPG --> EPG Grabber Modules.
|
If you have EPG data in XML format from a supplier, you can drop it in the data folder of your /config volume mapping. If it doesn't exist, create it. Then choose the XML file grabber in Configuration --> Channel/EPG --> EPG Grabber Modules.
|
||||||
If you use WebGrab+Plus, choose the WebGrab+Plus XML file grabber. The XML file goes in the same path as above.
|
If you use WebGrab+Plus, choose the WebGrab+Plus XML file grabber. The XML file goes in the same path as above.
|
||||||
|
The xml file has to be named guide.xml.
|
||||||
|
|
||||||
For advanced setup of tvheadend, go to [tvheadend.org] (https://www.tvheadend.org)
|
For advanced setup of tvheadend, go to [Tvheadend][tvheadendurl]
|
||||||
|
|
||||||
## Info
|
## Info
|
||||||
|
|
||||||
@@ -114,4 +130,7 @@ For advanced setup of tvheadend, go to [tvheadend.org] (https://www.tvheadend.or
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
+ **22.09.2016:** Fix broken tv_grab_wg and update README.
|
||||||
|
+ **18.09.2016:** Update XMLTV to 0.5.68 and update README.
|
||||||
|
+ **10.09.2016:** Add layer badges to README.
|
||||||
+ **05.09.2016:** Initial release.
|
+ **05.09.2016:** Initial release.
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
xmltv_file_location=/config/data/*.xml
|
|
||||||
dflag=
|
dflag=
|
||||||
vflag=
|
vflag=
|
||||||
cflag=
|
cflag=
|
||||||
qflag=
|
qflag=
|
||||||
if (( $# < 1 ))
|
if (( $# < 1 ))
|
||||||
then
|
then
|
||||||
cat "$xmltv_file_location"
|
cat /config/data/*.xml
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user