forked from Ivasoft/docker-tvheadend
Compare commits
86 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb7c4bbefa | ||
|
|
c2250aa33f | ||
|
|
80fea09e66 | ||
|
|
bd7ef42e33 | ||
|
|
c92cf86b86 | ||
|
|
01c0439c90 | ||
|
|
17ff5fcca4 | ||
|
|
0ddbdd0c08 | ||
|
|
df6da18c15 | ||
|
|
83f2893d22 | ||
|
|
b41cde8174 | ||
|
|
a306c49d7a | ||
|
|
4af60c604c | ||
|
|
4288628824 | ||
|
|
5d372c0e19 | ||
|
|
6746a3fbf6 | ||
|
|
0f99b9a0d5 | ||
|
|
aa9724fdc2 | ||
|
|
de493babb9 | ||
|
|
0321b4d01a | ||
|
|
c0fe17d93e | ||
|
|
b1a069a702 | ||
|
|
a68b5c32a4 | ||
|
|
880d45e6fe | ||
|
|
a6a8e1b6d4 | ||
|
|
4d7daed6fc | ||
|
|
c15493ddbe | ||
|
|
3dbea6d9a5 | ||
|
|
d18eb4297c | ||
|
|
53ba6baa56 | ||
|
|
0d9c4b8394 | ||
|
|
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 | ||
|
|
6011e4a322 | ||
|
|
f7d763f73f | ||
|
|
c45f84aa27 | ||
|
|
dc1d442d96 | ||
|
|
a7c57ecc35 | ||
|
|
ec5307ef63 | ||
|
|
abfafbb52e | ||
|
|
5a7a4d31f0 | ||
|
|
f8731afa97 | ||
|
|
d9bde53d3d | ||
|
|
62dc7d0d26 | ||
|
|
ced7dc0842 | ||
|
|
0605182ffc |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -41,3 +41,6 @@ $RECYCLE.BIN/
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
# Picons file
|
||||
picons.tar.bz2
|
||||
|
||||
346
Dockerfile
346
Dockerfile
@@ -1,29 +1,26 @@
|
||||
FROM lsiobase/alpine
|
||||
MAINTAINER saarg
|
||||
FROM lsiobase/alpine:3.8 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
# package version
|
||||
# package versions
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG UNICODE_VER="2.09"
|
||||
ARG XMLTV_VER="0.5.68"
|
||||
ARG XMLTV_VER="0.5.69"
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Build-date:- ${BUILD_DATE}"
|
||||
|
||||
# Environment settings
|
||||
# environment settings
|
||||
ARG TZ="Europe/Oslo"
|
||||
ENV HOME="/config"
|
||||
|
||||
# copy patches
|
||||
# copy patches
|
||||
COPY patches/ /tmp/patches/
|
||||
|
||||
# install build packages
|
||||
RUN \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache \
|
||||
autoconf \
|
||||
automake \
|
||||
bsd-compat-headers \
|
||||
bzip2 \
|
||||
cmake \
|
||||
coreutils \
|
||||
curl \
|
||||
ffmpeg-dev \
|
||||
file \
|
||||
findutils \
|
||||
@@ -31,44 +28,40 @@ RUN \
|
||||
gcc \
|
||||
gettext-dev \
|
||||
git \
|
||||
libhdhomerun-dev \
|
||||
gzip \
|
||||
libcurl \
|
||||
libdvbcsa-dev \
|
||||
libgcrypt-dev \
|
||||
libhdhomerun-dev \
|
||||
libtool \
|
||||
libva-dev \
|
||||
libvpx-dev \
|
||||
libxml2-dev \
|
||||
libxslt-dev \
|
||||
make \
|
||||
mercurial \
|
||||
openssl-dev \
|
||||
patch \
|
||||
perl-dev \
|
||||
pkgconf \
|
||||
sdl-dev \
|
||||
uriparser-dev \
|
||||
wget \
|
||||
zlib-dev && \
|
||||
|
||||
# add runtime dependencies required in build stage
|
||||
apk add --no-cache \
|
||||
bsd-compat-headers \
|
||||
bzip2 \
|
||||
curl \
|
||||
gzip \
|
||||
libcrypto1.0 \
|
||||
libcurl \
|
||||
libssl1.0 \
|
||||
linux-headers \
|
||||
openssl \
|
||||
perl \
|
||||
make \
|
||||
openssl-dev \
|
||||
opus-dev \
|
||||
patch \
|
||||
pcre2-dev \
|
||||
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-dev \
|
||||
perl-digest-sha1 \
|
||||
perl-doc \
|
||||
perl-file-slurp \
|
||||
perl-file-temp \
|
||||
perl-file-which \
|
||||
perl-getopt-long \
|
||||
perl-html-parser \
|
||||
perl-html-tree \
|
||||
@@ -76,148 +69,141 @@ 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 \
|
||||
pkgconf \
|
||||
pngquant \
|
||||
python \
|
||||
sdl-dev \
|
||||
tar \
|
||||
uriparser \
|
||||
uriparser-dev \
|
||||
wget \
|
||||
zlib && \
|
||||
x264-dev \
|
||||
x265-dev \
|
||||
zlib-dev && \
|
||||
apk add --no-cache \
|
||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||
gnu-libiconv-dev
|
||||
|
||||
# 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 && \
|
||||
RUN \
|
||||
echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \
|
||||
rm -rf /usr/include/iconv.h && \
|
||||
cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h
|
||||
|
||||
# install perl modules
|
||||
RUN \
|
||||
echo "**** 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 && \
|
||||
cpanm --installdeps /tmp/patches
|
||||
|
||||
# patch and build perl-unicode-string
|
||||
mkdir -p \
|
||||
/tmp/unicode && \
|
||||
RUN \
|
||||
echo "**** compile XMLTV ****" && \
|
||||
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 && \
|
||||
/tmp/xmtltv-src.tar.bz2 -L \
|
||||
"https://sourceforge.net/projects/xmltv/files/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
||||
tar xf \
|
||||
/tmp/xmtltv-src.tar.bz2 -C \
|
||||
/tmp --strip-components=1 && \
|
||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||
sed "s/\(lib\/set_share_dir.pl';\)/.\/\1/" -i grab/it/tv_grab_it.PL && \
|
||||
sed "s/\(filter\/Grep.pm';\)/.\/\1/" -i filter/tv_grep.PL && \
|
||||
sed "s/\(lib\/XMLTV.pm.in';\)/.\/\1/" -i lib/XMLTV.pm.PL && \
|
||||
sed "s/\(lib\/Ask\/Term.pm';\)/.\/\1/" -i Makefile.PL && \
|
||||
PERL5LIB=`pwd` && \
|
||||
echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
||||
make && \
|
||||
make test && \
|
||||
make install && \
|
||||
make DESTDIR=/tmp/xmltv-build install
|
||||
|
||||
# build dvb-apps
|
||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
||||
cd /tmp/dvb-apps && \
|
||||
make && \
|
||||
make install && \
|
||||
|
||||
# build tvheadend
|
||||
RUN \
|
||||
echo "**** compile tvheadend ****" && \
|
||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||
cd /tmp/tvheadend && \
|
||||
./configure \
|
||||
`#Encoding` \
|
||||
--disable-ffmpeg_static \
|
||||
--disable-hdhomerun_static \
|
||||
--disable-libfdkaac_static \
|
||||
--disable-libmfx_static \
|
||||
--disable-libtheora_static \
|
||||
--disable-libopus_static \
|
||||
--disable-libvorbis_static \
|
||||
--disable-libvpx_static \
|
||||
--disable-libx264_static \
|
||||
--disable-libx265_static \
|
||||
--disable-libfdkaac \
|
||||
--enable-libopus \
|
||||
--enable-libvorbis \
|
||||
--enable-libvpx \
|
||||
--enable-libx264 \
|
||||
--enable-libx265 \
|
||||
\
|
||||
`#Options` \
|
||||
--disable-avahi \
|
||||
--disable-dbus_1 \
|
||||
--disable-bintray_cache \
|
||||
--disable-hdhomerun_static \
|
||||
--enable-hdhomerun_client \
|
||||
--enable-libav \
|
||||
--enable-pngquant \
|
||||
--enable-trace \
|
||||
--enable-vaapi \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/config && \
|
||||
make && \
|
||||
make install && \
|
||||
make DESTDIR=/tmp/tvheadend-build install
|
||||
|
||||
# build XMLTV
|
||||
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 \
|
||||
/tmp --strip-components=1 && \
|
||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||
/bin/echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
||||
make && \
|
||||
make test && \
|
||||
make install && \
|
||||
|
||||
# build argtable2
|
||||
RUN \
|
||||
echo "**** compile 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 && \
|
||||
make && \
|
||||
make check && \
|
||||
make install && \
|
||||
make DESTDIR=/tmp/argtable-build install && \
|
||||
echo "**** copy to /usr for comskip dependency ****" && \
|
||||
cp -pr /tmp/argtable-build/usr/* /usr/
|
||||
|
||||
# build comskip
|
||||
RUN \
|
||||
echo "***** compile comskip ****" && \
|
||||
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
||||
cd /tmp/comskip && \
|
||||
./autogen.sh && \
|
||||
@@ -225,26 +211,118 @@ RUN \
|
||||
--bindir=/usr/bin \
|
||||
--sysconfdir=/config/comskip && \
|
||||
make && \
|
||||
make install && \
|
||||
make DESTDIR=/tmp/comskip-build install
|
||||
|
||||
# install runtime packages
|
||||
############## runtime stage ##############
|
||||
FROM lsiobase/alpine:3.8
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="saarg"
|
||||
|
||||
# environment settings
|
||||
ENV HOME="/config"
|
||||
|
||||
RUN \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
bsd-compat-headers \
|
||||
bzip2 \
|
||||
curl \
|
||||
ffmpeg \
|
||||
ffmpeg-libs \
|
||||
gzip \
|
||||
libcrypto1.0 \
|
||||
libcurl \
|
||||
libdvbcsa \
|
||||
libhdhomerun-libs \
|
||||
libssl1.0 \
|
||||
libva \
|
||||
libva-intel-driver \
|
||||
libvpx \
|
||||
libxml2 \
|
||||
libxslt && \
|
||||
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 \
|
||||
perl-http-cookies \
|
||||
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
|
||||
|
||||
# cleanup
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/config/.cpanm \
|
||||
/tmp/*
|
||||
|
||||
# copy local files
|
||||
# copy local files and buildstage artifacts
|
||||
COPY --from=buildstage /tmp/argtable-build/usr/ /usr/
|
||||
COPY --from=buildstage /tmp/comskip-build/usr/ /usr/
|
||||
COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
||||
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
||||
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
||||
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
|
||||
COPY root/ /
|
||||
|
||||
# add picons
|
||||
ADD picons.tar.bz2 /picons
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9981 9982
|
||||
VOLUME /config /recordings
|
||||
|
||||
79
README.md
79
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,15 +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
|
||||
[](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
|
||||
|
||||
@@ -28,22 +28,27 @@ docker create \
|
||||
--name=tvheadend \
|
||||
--net=bridge \
|
||||
-v <path to data>:/config \
|
||||
-v <path to recordings>:/recordings \
|
||||
-e PGID=<gid> -e PUID=<uid> \
|
||||
-e RUN_OPTS=<parameter> \
|
||||
-p 9981:9981 \
|
||||
-p 9982:9982 \
|
||||
--device=/dev/dvb
|
||||
--device=/dev/dvb \
|
||||
--device=/dev/dri
|
||||
linuxserver/tvheadend
|
||||
```
|
||||
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/dri is only needed if you want to use your AMD/Intel GPU for hardware accelerated video encoding (vaapi).
|
||||
|
||||
You can choose between ,using tags, latest (default, and no tag required or a specific release branch 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: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
|
||||
|
||||
@@ -58,10 +63,13 @@ http://192.168.x.x:8080 would show you what's running INSIDE the container on po
|
||||
|
||||
|
||||
* `-p 1234` - the port(s)
|
||||
* `-v /config` - explain what lives here
|
||||
* `-v /config` - Where TVHeadend show store it's config files
|
||||
* `-v /recordings` - Where you want the PVR to store recordings
|
||||
* `-e PGID` for GroupID - see below for explanation
|
||||
* `-e PUID` for UserID - see below for explanation
|
||||
* `-e RUN_OPTS` additional runtime parameters - see below for explanation
|
||||
* `--device=/dev/dvb` - for passing through DVB-cards
|
||||
* `--device=/dev/dri` - for passing through GPU
|
||||
* `--net=host` - for IPTV, SAT>IP and HDHomeRun
|
||||
* `-e TZ` - for timezone information *eg Europe/London, etc*
|
||||
|
||||
@@ -78,6 +86,11 @@ In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as bel
|
||||
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
|
||||
```
|
||||
|
||||
## Additional runtime parameters
|
||||
|
||||
In some cases it might be necessary to start tvheadend with additional parameters, for example to enable debugging or specify webroot for reverse proxy. Be sure to have the right parameters set, as adding the wrong once might lead to the container not starting correctly.
|
||||
|
||||
|
||||
## Setting up the application
|
||||
|
||||
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.
|
||||
@@ -111,7 +124,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.
|
||||
@@ -127,16 +140,50 @@ 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**
|
||||
|
||||
We have added all the picons from [picons.xyz](https://picons.xyz/) in the folder /picons. To enable the use of these picons, add the path to the Channel icon path in Configuration --> General --> Base.
|
||||
You need to enable minimum advanced view level to see the picons options.
|
||||
|
||||
## Info
|
||||
|
||||
* 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
|
||||
|
||||
+ **22.09.2016:** Fix broken tv_grab_wg, libs for xmltv 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.
|
||||
+ **12.09.18:** Rebase to alpine 3.8 and use buildstage type build.
|
||||
+ **21.04.18:** Add JSON::XS Perl package for grab_tv_huro.
|
||||
+ **24.03.18:** Add dvbcsa package.
|
||||
+ **04.03.18:** Use sourceforge master rather than mirror for xmltv.
|
||||
+ **22.02.18:** Add lost libva-intel-driver.
|
||||
+ **21.02.18:** Fix wrong version of iconv used.
|
||||
+ **18.02.18:** Add vaapi support, some cleanup and dropping of deprecated options.
|
||||
+ **04.01.18:** Deprecate cpu_core routine lack of scaling.
|
||||
+ **11.12.17:** Rebase to alpine 3.7, linting fixes.
|
||||
+ **02.09.17:** Add codec dependencies.
|
||||
+ **13.07.17:** Increase uniformity across all archs.
|
||||
+ **08.07.17:** Update README with full path for comskip.
|
||||
+ **02.07.17:** Move to one branch for all 4.2 releases.
|
||||
+ **27.05.17:** Rebase to alpine 3.6.
|
||||
+ **01.05.17:** Update to tvheadend 4.2.1 stable.
|
||||
+ **18.04.17:** Use repo version of gnu-libiconv rather than compiling.
|
||||
+ **09.04.17:** Chain cpanm installs in one block and use --installdeps.
|
||||
+ **09.02.17:** Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
||||
+ **07.02.17:** Add variable to add additional runtime paramters.
|
||||
+ **05.02.17:** Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
||||
+ **14.11.16:** Add picons from picons.xyz to /picons folder and add info to README.
|
||||
+ **22.09.16:** Fix broken tv_grab_wg, libs for xmltv and update README.
|
||||
+ **18.09.16:** Update XMLTV to 0.5.68 and update README.
|
||||
+ **10.09.16:** Add layer badges to README.
|
||||
+ **05.09.16:** Initial release.
|
||||
|
||||
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
23
patches/cpanfile
Normal file
23
patches/cpanfile
Normal file
@@ -0,0 +1,23 @@
|
||||
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 'JSON::XS' ;
|
||||
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,46 +0,0 @@
|
||||
This file is part of MXE.
|
||||
See index.html for further information.
|
||||
|
||||
Contains ad hoc patches for cross building.
|
||||
|
||||
From 47345f5dcfb91da8afed7c4e6c29faa2056db447 Mon Sep 17 00:00:00 2001
|
||||
From: MXE
|
||||
Date: Fri, 7 Jun 2013 17:44:24 +1000
|
||||
Subject: [PATCH] remove gets since c++11 removed it
|
||||
https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00186.html
|
||||
|
||||
|
||||
diff --git a/srclib/stdio.in.h b/srclib/stdio.in.h
|
||||
index 473c84c..dfb59eb 100644
|
||||
--- a/srclib/stdio.in.h
|
||||
+++ b/srclib/stdio.in.h
|
||||
@@ -679,22 +679,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
|
||||
# endif
|
||||
#endif
|
||||
|
||||
-#if @GNULIB_GETS@
|
||||
-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
|
||||
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
-# undef gets
|
||||
-# define gets rpl_gets
|
||||
-# endif
|
||||
-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
|
||||
-_GL_CXXALIAS_RPL (gets, char *, (char *s));
|
||||
-# else
|
||||
-_GL_CXXALIAS_SYS (gets, char *, (char *s));
|
||||
-# undef gets
|
||||
-# endif
|
||||
-_GL_CXXALIASWARN (gets);
|
||||
/* It is very rare that the developer ever has full control of stdin,
|
||||
- so any use of gets warrants an unconditional warning. Assume it is
|
||||
- always declared, since it is required by C89. */
|
||||
+ so any use of gets warrants an unconditional warning; besides, C11
|
||||
+ removed it. */
|
||||
+#undef gets
|
||||
+#if HAVE_RAW_DECL_GETS
|
||||
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
#endif
|
||||
|
||||
--
|
||||
1.8.2.3
|
||||
|
||||
@@ -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)}
|
||||
}
|
||||
|
||||
@@ -12,4 +12,5 @@ mkdir -p \
|
||||
|
||||
# permissions
|
||||
chown -R abc:abc \
|
||||
/config
|
||||
/config \
|
||||
/picons
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
IFS=" " read -r -a RUN_ARRAY <<< "$RUN_OPTS"
|
||||
|
||||
exec \
|
||||
s6-setuidgid abc /usr/bin/tvheadend -C -c /config
|
||||
s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}"
|
||||
|
||||
Reference in New Issue
Block a user