forked from Ivasoft/docker-tvheadend
Compare commits
42 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a054b8a57 | ||
|
|
6d486e90d0 | ||
|
|
4aeef6554b | ||
|
|
2e0e6d028c | ||
|
|
d4fb416e62 | ||
|
|
51f45f4d30 | ||
|
|
6a4d853235 | ||
|
|
0b1069a088 | ||
|
|
c9181d7131 | ||
|
|
9a3b13ad27 | ||
|
|
bdc1f87ac6 | ||
|
|
e4e07121af | ||
|
|
0e8ea6063c | ||
|
|
9b161c87f9 | ||
|
|
ec6ff1a886 | ||
|
|
87d4b9c811 | ||
|
|
0d53fe87a0 | ||
|
|
314f59a89f | ||
|
|
4e44306b81 | ||
|
|
68a5beb2ce | ||
|
|
9ce7af875d | ||
|
|
51e21fbae9 | ||
|
|
97ed2af733 | ||
|
|
bac8634898 | ||
|
|
ad949ef08c | ||
|
|
310b4e4fc2 | ||
|
|
342e1f8627 | ||
|
|
82c9a350ac | ||
|
|
82ae97760e | ||
|
|
b0d9b54c45 | ||
|
|
8fbc5fdec8 | ||
|
|
abf4ff8bd9 | ||
|
|
cf3b5da9a3 | ||
|
|
81abf8bc9b | ||
|
|
bc66f48037 | ||
|
|
82b4aa4778 | ||
|
|
131e9994ad | ||
|
|
452c471a56 | ||
|
|
41876bfedc | ||
|
|
b995fe1041 | ||
|
|
3a6ae839ba | ||
|
|
872f6945dd |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -41,3 +41,6 @@ $RECYCLE.BIN/
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
# Picons file
|
||||
picons.tar.bz2
|
||||
|
||||
155
Dockerfile
155
Dockerfile
@@ -1,20 +1,20 @@
|
||||
FROM lsiobase/alpine:3.5
|
||||
FROM lsiobase/alpine:3.6
|
||||
MAINTAINER saarg
|
||||
|
||||
# package version
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG UNICODE_VER="2.09"
|
||||
ARG XMLTV_VER="0.5.68"
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Build-date:- ${BUILD_DATE}"
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
|
||||
# package version
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG TZ="Europe/Oslo"
|
||||
ARG XMLTV_VER="0.5.69"
|
||||
|
||||
# Environment settings
|
||||
ENV HOME="/config"
|
||||
|
||||
# copy patches
|
||||
# copy patches
|
||||
COPY patches/ /tmp/patches/
|
||||
|
||||
# install build packages
|
||||
@@ -23,7 +23,6 @@ RUN \
|
||||
autoconf \
|
||||
automake \
|
||||
cmake \
|
||||
coreutils \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
findutils \
|
||||
@@ -31,44 +30,67 @@ RUN \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
git \
|
||||
libhdhomerun-dev \
|
||||
libgcrypt-dev \
|
||||
libhdhomerun-dev \
|
||||
libressl-dev \
|
||||
libtool \
|
||||
libvpx-dev \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
make \
|
||||
mercurial \
|
||||
openssl-dev \
|
||||
opus-dev \
|
||||
patch \
|
||||
pcre2-dev \
|
||||
perl-dev \
|
||||
pkgconf \
|
||||
sdl-dev \
|
||||
uriparser-dev \
|
||||
wget \
|
||||
x264-dev \
|
||||
x265-dev \
|
||||
zlib-dev && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
gnu-libiconv-dev && \
|
||||
|
||||
# add runtime dependencies required in build stage
|
||||
# install runtime packages
|
||||
apk add --no-cache \
|
||||
bsd-compat-headers \
|
||||
bzip2 \
|
||||
curl \
|
||||
ffmpeg \
|
||||
ffmpeg-libs \
|
||||
gzip \
|
||||
libcrypto1.0 \
|
||||
libcurl \
|
||||
libhdhomerun-libs \
|
||||
libressl \
|
||||
libssl1.0 \
|
||||
libvpx \
|
||||
libxml2 \
|
||||
libxslt \
|
||||
linux-headers \
|
||||
openssl \
|
||||
opus \
|
||||
pcre2 \
|
||||
perl \
|
||||
perl-archive-zip \
|
||||
perl-boolean \
|
||||
perl-capture-tiny \
|
||||
perl-cgi \
|
||||
perl-compress-raw-zlib \
|
||||
perl-data-dumper \
|
||||
perl-date-manip \
|
||||
perl-datetime \
|
||||
perl-datetime-format-strptime \
|
||||
perl-datetime-timezone \
|
||||
perl-dbd-sqlite \
|
||||
perl-dbi \
|
||||
perl-digest-sha1 \
|
||||
perl-doc \
|
||||
perl-file-slurp \
|
||||
perl-file-temp \
|
||||
perl-file-which \
|
||||
perl-getopt-long \
|
||||
perl-html-parser \
|
||||
perl-html-tree \
|
||||
@@ -76,90 +98,47 @@ RUN \
|
||||
perl-io \
|
||||
perl-io-compress \
|
||||
perl-io-html \
|
||||
perl-io-socket-ssl \
|
||||
perl-io-stringy \
|
||||
perl-json \
|
||||
perl-libwww \
|
||||
perl-lingua-en-numbers-ordinate \
|
||||
perl-lingua-preferred \
|
||||
perl-list-moreutils \
|
||||
perl-module-build \
|
||||
perl-module-pluggable \
|
||||
perl-net-ssleay \
|
||||
perl-parse-recdescent \
|
||||
perl-path-class \
|
||||
perl-scalar-list-utils \
|
||||
perl-term-progressbar \
|
||||
perl-term-readkey \
|
||||
perl-test-exception \
|
||||
perl-test-requires \
|
||||
perl-timedate \
|
||||
perl-try-tiny \
|
||||
perl-unicode-string \
|
||||
perl-xml-libxml \
|
||||
perl-xml-libxslt \
|
||||
perl-xml-parser \
|
||||
perl-xml-sax \
|
||||
perl-xml-treepp \
|
||||
perl-xml-twig \
|
||||
perl-xml-writer \
|
||||
python \
|
||||
tar \
|
||||
uriparser \
|
||||
wget \
|
||||
x264 \
|
||||
x265 \
|
||||
zlib && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
gnu-libiconv && \
|
||||
|
||||
# build libiconv
|
||||
mkdir -p \
|
||||
/tmp/iconv-src && \
|
||||
curl -o \
|
||||
/tmp/iconv.tar.gz -L \
|
||||
ftp://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz && \
|
||||
tar xf /tmp/iconv.tar.gz -C \
|
||||
/tmp/iconv-src --strip-components=1 && \
|
||||
cd /tmp/iconv-src && \
|
||||
./configure \
|
||||
--prefix=/usr/local && \
|
||||
patch -p1 -i \
|
||||
/tmp/patches/libiconv-1-fixes.patch && \
|
||||
make && \
|
||||
make install && \
|
||||
libtool --finish /usr/local/lib && \
|
||||
|
||||
# install perl modules
|
||||
# install perl modules for xmltv
|
||||
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::TreeBuilder && \
|
||||
cpanm HTTP::Cache::Transparent && \
|
||||
cpanm inc && \
|
||||
cpanm IO::Scalar && \
|
||||
cpanm IO::Socket::SSL && \
|
||||
cpanm JSON::PP && \
|
||||
cpanm Lingua::EN::Numbers::Ordinate && \
|
||||
cpanm Lingua::Preferred && \
|
||||
cpanm List::MoreUtils && \
|
||||
cpanm LWP::Simple && \
|
||||
cpanm LWP::UserAgent && \
|
||||
cpanm PerlIO::gzip && \
|
||||
cpanm SOAP::Lite && \
|
||||
cpanm Storable && \
|
||||
cpanm Term::ProgressBar && \
|
||||
cpanm Unicode::UTF8simple && \
|
||||
cpanm version && \
|
||||
cpanm WWW::Mechanize && \
|
||||
cpanm XML::DOM && \
|
||||
cpanm XML::LibXML && \
|
||||
cpanm XML::LibXSLT && \
|
||||
cpanm XML::TreePP && \
|
||||
cpanm XML::Twig && \
|
||||
cpanm XML::Writer && \
|
||||
|
||||
# patch and build perl-unicode-string
|
||||
mkdir -p \
|
||||
/tmp/unicode && \
|
||||
curl -o \
|
||||
/tmp/unicode-src.tar.gz -L \
|
||||
"http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Unicode-String-${UNICODE_VER}.tar.gz" && \
|
||||
tar xzf /tmp/unicode-src.tar.gz -C \
|
||||
/tmp/unicode --strip-components=1 && \
|
||||
cd /tmp/unicode/lib/Unicode && \
|
||||
patch -i /tmp/patches/perl-unicode.patch && \
|
||||
cd /tmp/unicode && \
|
||||
perl Makefile.PL && \
|
||||
make && \
|
||||
make test && \
|
||||
make install && \
|
||||
cpanm --installdeps /tmp/patches && \
|
||||
|
||||
# build dvb-apps
|
||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
||||
@@ -191,25 +170,29 @@ RUN \
|
||||
make install && \
|
||||
|
||||
# build XMLTV
|
||||
curl -o /tmp/xmtltv-src.tar.bz2 -L \
|
||||
curl -o \
|
||||
/tmp/xmtltv-src.tar.bz2 -L \
|
||||
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
||||
tar xf /tmp/xmtltv-src.tar.bz2 -C \
|
||||
tar xf \
|
||||
/tmp/xmtltv-src.tar.bz2 -C \
|
||||
/tmp --strip-components=1 && \
|
||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||
/bin/echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
||||
echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
||||
make && \
|
||||
make test && \
|
||||
make install && \
|
||||
|
||||
# build argtable2
|
||||
# build argtable2
|
||||
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
||||
mkdir -p \
|
||||
/tmp/argtable && \
|
||||
curl -o \
|
||||
/tmp/argtable-src.tar.gz -L \
|
||||
"https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \
|
||||
tar xf /tmp/argtable-src.tar.gz -C \
|
||||
tar xf \
|
||||
/tmp/argtable-src.tar.gz -C \
|
||||
/tmp/argtable --strip-components=1 && \
|
||||
cp /tmp/patches/config.* /tmp/argtable && \
|
||||
cd /tmp/argtable && \
|
||||
./configure \
|
||||
--prefix=/usr && \
|
||||
@@ -217,7 +200,7 @@ RUN \
|
||||
make check && \
|
||||
make install && \
|
||||
|
||||
# build comskip
|
||||
# build comskip
|
||||
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
||||
cd /tmp/comskip && \
|
||||
./autogen.sh && \
|
||||
@@ -227,14 +210,6 @@ RUN \
|
||||
make && \
|
||||
make install && \
|
||||
|
||||
# install runtime packages
|
||||
apk add --no-cache \
|
||||
ffmpeg \
|
||||
ffmpeg-libs \
|
||||
libhdhomerun-libs \
|
||||
libxml2 \
|
||||
libxslt && \
|
||||
|
||||
# cleanup
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
|
||||
38
README.md
38
README.md
@@ -2,6 +2,8 @@
|
||||
[forumurl]: https://forum.linuxserver.io
|
||||
[ircurl]: https://www.linuxserver.io/irc/
|
||||
[podcasturl]: https://www.linuxserver.io/podcast/
|
||||
[appurl]: https://www.tvheadend.org/
|
||||
[hub]: https://hub.docker.com/r/linuxserver/tvheadend/
|
||||
|
||||
[][linuxserverurl]
|
||||
|
||||
@@ -11,16 +13,13 @@ The [LinuxServer.io][linuxserverurl] team brings you another container release f
|
||||
* [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
|
||||
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")[](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/
|
||||
|
||||
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")[](https://microbadger.com/images/linuxserver/tvheadend "Get your own image badge on microbadger.com")[][hub][][hub][](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-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 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).
|
||||
|
||||
[][tvheadendurl]
|
||||
[tvheadendurl]: https://www.tvheadend.org/
|
||||
[][appurl]
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -40,13 +39,15 @@ 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.
|
||||
|
||||
|
||||
You can choose between ,using tags, latest (default, and no tag required or a specific stable version of tvheadend.
|
||||
You can choose between ,using tags, latest (default, and no tag required or a specific release branch 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:stable-4.0.9
|
||||
Add one of the tags, if required, to the linuxserver/tvheadend line of the run/create command in the following format, linuxserver/tvheadend:release-4.2
|
||||
|
||||
#### Tags
|
||||
|
||||
+ **stable-4.0.9** : latest stable version.
|
||||
+ **release-4.2** : latest release from 4.2 branch. Freshly built every friday night uk time.
|
||||
+ **stable-4.2.1** : old stable version. Will not be updated anymore!
|
||||
+ **stable-4.0.9** : old stable version. Will not be updated anymore!
|
||||
|
||||
#### Host vs. Bridge
|
||||
|
||||
@@ -121,7 +122,7 @@ This container comes with Comskip for commercial flagging of recordings. This yo
|
||||
Go to Configuration --> Recording. Change the view level to advanced in the top right corner, and add the below in the Post-processor command field.
|
||||
|
||||
```
|
||||
comskip --ini=/config/comskip/comskip.ini "%f"
|
||||
/usr/bin/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.
|
||||
@@ -137,7 +138,7 @@ If you have EPG data in XML format from a supplier, you can drop it in the data
|
||||
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][tvheadendurl]
|
||||
For advanced setup of tvheadend, go to [Tvheadend][appurl]
|
||||
|
||||
**Picons**
|
||||
|
||||
@@ -149,8 +150,25 @@ You need to enable minimum advanced view level to see the picons options.
|
||||
* Shell access whilst the container is running: `docker exec -it tvheadend /bin/bash`
|
||||
* To monitor the logs of the container in realtime: `docker logs -f tvheadend`
|
||||
|
||||
* container version number
|
||||
|
||||
`docker inspect -f '{{ index .Config.Labels "build_version" }}' tvheadend`
|
||||
|
||||
* image version number
|
||||
|
||||
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/tvheadend`
|
||||
|
||||
## Versions
|
||||
|
||||
+ **02.09.2017:** Add codec dependencies.
|
||||
+ **13.07.2017:** Increase uniformity across all archs.
|
||||
+ **08.07.2017:** Update README with full path for comskip.
|
||||
+ **02.07.2017:** Move to one branch for all 4.2 releases.
|
||||
+ **27.05.2017:** Rebase to alpine 3.6.
|
||||
+ **01.05.2017:** Update to tvheadend 4.2.1 stable.
|
||||
+ **18.04.2017:** Use repo version of gnu-libiconv rather than compiling.
|
||||
+ **09.04.2017:** Chain cpanm installs in one block and use --installdeps.
|
||||
+ **09.02.2017:** Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
||||
+ **07.02.2017:** Add variable to add additional runtime paramters.
|
||||
+ **05.02.2017:** Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
||||
+ **14.11.2016:** Add picons from picons.xyz to /picons folder and add info to README.
|
||||
|
||||
1466
patches/config.guess
vendored
Normal file
1466
patches/config.guess
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1836
patches/config.sub
vendored
Normal file
1836
patches/config.sub
vendored
Normal file
File diff suppressed because it is too large
Load Diff
22
patches/cpanfile
Normal file
22
patches/cpanfile
Normal file
@@ -0,0 +1,22 @@
|
||||
requires 'perl' => '5.24.0';
|
||||
|
||||
# perl packages for tvheadend x86
|
||||
requires 'DateTime::Format::ISO8601' ;
|
||||
requires 'DateTime::Format::SQLite' ;
|
||||
requires 'Encode' ;
|
||||
requires 'File::HomeDir' ;
|
||||
requires 'File::Path' ;
|
||||
requires 'HTML::Entities' ;
|
||||
requires 'HTML::TableExtract' ;
|
||||
requires 'HTTP::Cache::Transparent' => ">= 1.3, != 1.4" ;
|
||||
requires 'inc' ;
|
||||
requires 'JSON::PP' ;
|
||||
requires 'LWP::Simple' ;
|
||||
requires 'LWP::UserAgent' ;
|
||||
requires 'PerlIO::gzip' ;
|
||||
requires 'SOAP::Lite' ;
|
||||
requires 'Storable' ;
|
||||
requires 'Unicode::UTF8simple' ;
|
||||
requires 'version' ;
|
||||
requires 'WWW::Mechanize' ;
|
||||
requires 'XML::DOM' ;
|
||||
@@ -1,11 +0,0 @@
|
||||
--- CharName.pm 2005-10-25 20:11:00.000000000 +0200
|
||||
+++ CharName.pm.mod 2016-08-12 23:25:51.752348000 +0200
|
||||
@@ -77,7 +77,7 @@
|
||||
return join("", "HANGUL SYLLABLE ", @s)
|
||||
}
|
||||
}
|
||||
- _init_names() unless defined %NAMES;
|
||||
+ _init_names() unless %NAMES;
|
||||
$NAMES{sprintf("%04X",$code)}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user