forked from Ivasoft/docker-tvheadend
Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
122
Dockerfile
122
Dockerfile
@@ -1,15 +1,15 @@
|
|||||||
FROM lsiobase/alpine:3.6
|
FROM lsiobase/alpine:3.7
|
||||||
MAINTAINER saarg
|
|
||||||
|
|
||||||
# package version
|
|
||||||
ARG ARGTABLE_VER="2.13"
|
|
||||||
ARG TZ="Europe/Oslo"
|
|
||||||
ARG XMLTV_VER="0.5.69"
|
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
LABEL build_version="Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
|
LABEL maintainer="saarg"
|
||||||
|
|
||||||
|
# package versions
|
||||||
|
ARG ARGTABLE_VER="2.13"
|
||||||
|
ARG TZ="Europe/Oslo"
|
||||||
|
ARG XMLTV_VER="0.5.69"
|
||||||
|
|
||||||
# environment settings
|
# environment settings
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
@@ -17,13 +17,12 @@ ENV HOME="/config"
|
|||||||
# copy patches
|
# copy patches
|
||||||
COPY patches/ /tmp/patches/
|
COPY patches/ /tmp/patches/
|
||||||
|
|
||||||
# install build packages
|
|
||||||
RUN \
|
RUN \
|
||||||
|
echo "**** install build packages ****" && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
cmake \
|
cmake \
|
||||||
coreutils \
|
|
||||||
ffmpeg-dev \
|
ffmpeg-dev \
|
||||||
file \
|
file \
|
||||||
findutils \
|
findutils \
|
||||||
@@ -31,37 +30,49 @@ RUN \
|
|||||||
gcc \
|
gcc \
|
||||||
gettext-dev \
|
gettext-dev \
|
||||||
git \
|
git \
|
||||||
libhdhomerun-dev \
|
|
||||||
libgcrypt-dev \
|
libgcrypt-dev \
|
||||||
|
libhdhomerun-dev \
|
||||||
libtool \
|
libtool \
|
||||||
|
libva-dev \
|
||||||
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
openssl-dev \
|
||||||
libressl-dev \
|
opus-dev \
|
||||||
patch \
|
patch \
|
||||||
pcre2-dev \
|
pcre2-dev \
|
||||||
perl-dev \
|
perl-dev \
|
||||||
|
pngquant \
|
||||||
pkgconf \
|
pkgconf \
|
||||||
sdl-dev \
|
sdl-dev \
|
||||||
uriparser-dev \
|
uriparser-dev \
|
||||||
wget \
|
wget \
|
||||||
|
x264-dev \
|
||||||
|
x265-dev \
|
||||||
zlib-dev && \
|
zlib-dev && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||||
gnu-libiconv-dev && \
|
gnu-libiconv-dev && \
|
||||||
|
echo "**** install runtime packages ****" && \
|
||||||
# add runtime dependencies required in build stage
|
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
bsd-compat-headers \
|
bsd-compat-headers \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
curl \
|
curl \
|
||||||
|
ffmpeg \
|
||||||
|
ffmpeg-libs \
|
||||||
gzip \
|
gzip \
|
||||||
libcrypto1.0 \
|
libcrypto1.0 \
|
||||||
libcurl \
|
libcurl \
|
||||||
libressl \
|
libhdhomerun-libs \
|
||||||
libssl1.0 \
|
libssl1.0 \
|
||||||
|
libva \
|
||||||
|
libvpx \
|
||||||
|
libxml2 \
|
||||||
|
libxslt \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
|
openssl \
|
||||||
|
opus \
|
||||||
pcre2 \
|
pcre2 \
|
||||||
perl \
|
perl \
|
||||||
perl-archive-zip \
|
perl-archive-zip \
|
||||||
@@ -119,33 +130,45 @@ RUN \
|
|||||||
tar \
|
tar \
|
||||||
uriparser \
|
uriparser \
|
||||||
wget \
|
wget \
|
||||||
|
x264 \
|
||||||
|
x265 \
|
||||||
zlib && \
|
zlib && \
|
||||||
|
apk add --no-cache \
|
||||||
# install perl modules for xmltv
|
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||||
|
gnu-libiconv && \
|
||||||
|
echo "**** install perl modules for xmltv ****" && \
|
||||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
||||||
cpanm --installdeps /tmp/patches && \
|
cpanm --installdeps /tmp/patches && \
|
||||||
|
echo "**** build tvheadend ****" && \
|
||||||
# build dvb-apps
|
|
||||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
|
||||||
cd /tmp/dvb-apps && \
|
|
||||||
make -C lib && \
|
|
||||||
make -C lib install && \
|
|
||||||
|
|
||||||
# build tvheadend
|
|
||||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||||
cd /tmp/tvheadend && \
|
cd /tmp/tvheadend && \
|
||||||
./configure \
|
./configure \
|
||||||
|
`#Encoding` \
|
||||||
--disable-ffmpeg_static \
|
--disable-ffmpeg_static \
|
||||||
--disable-hdhomerun_static \
|
|
||||||
--disable-libfdkaac_static \
|
--disable-libfdkaac_static \
|
||||||
--disable-libmfx_static \
|
|
||||||
--disable-libtheora_static \
|
--disable-libtheora_static \
|
||||||
|
--disable-libopus_static \
|
||||||
--disable-libvorbis_static \
|
--disable-libvorbis_static \
|
||||||
--disable-libvpx_static \
|
--disable-libvpx_static \
|
||||||
--disable-libx264_static \
|
--disable-libx264_static \
|
||||||
--disable-libx265_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-hdhomerun_client \
|
||||||
--enable-libav \
|
--enable-libav \
|
||||||
|
--enable-pngquant \
|
||||||
|
--enable-trace \
|
||||||
|
--enable-vaapi \
|
||||||
--infodir=/usr/share/info \
|
--infodir=/usr/share/info \
|
||||||
--localstatedir=/var \
|
--localstatedir=/var \
|
||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
@@ -153,35 +176,44 @@ RUN \
|
|||||||
--sysconfdir=/config && \
|
--sysconfdir=/config && \
|
||||||
make && \
|
make && \
|
||||||
make install && \
|
make install && \
|
||||||
|
echo "**** build XMLTV ****" && \
|
||||||
# build XMLTV
|
curl -o \
|
||||||
curl -o /tmp/xmtltv-src.tar.bz2 -L \
|
/tmp/xmtltv-src.tar.bz2 -L \
|
||||||
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
"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 && \
|
/tmp --strip-components=1 && \
|
||||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||||
/bin/echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
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 && \
|
||||||
make test && \
|
make test && \
|
||||||
make install && \
|
make install && \
|
||||||
|
echo "**** build argtable2 ****" && \
|
||||||
# build argtable2
|
|
||||||
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/tmp/argtable && \
|
/tmp/argtable && \
|
||||||
curl -o \
|
curl -o \
|
||||||
/tmp/argtable-src.tar.gz -L \
|
/tmp/argtable-src.tar.gz -L \
|
||||||
"https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \
|
"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 && \
|
/tmp/argtable --strip-components=1 && \
|
||||||
|
cp /tmp/patches/config.* /tmp/argtable && \
|
||||||
cd /tmp/argtable && \
|
cd /tmp/argtable && \
|
||||||
./configure \
|
./configure \
|
||||||
--prefix=/usr && \
|
--prefix=/usr && \
|
||||||
make && \
|
make && \
|
||||||
make check && \
|
make check && \
|
||||||
make install && \
|
make install && \
|
||||||
|
echo "***** build comskip ****" && \
|
||||||
# build comskip
|
|
||||||
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
||||||
cd /tmp/comskip && \
|
cd /tmp/comskip && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
@@ -190,19 +222,7 @@ RUN \
|
|||||||
--sysconfdir=/config/comskip && \
|
--sysconfdir=/config/comskip && \
|
||||||
make && \
|
make && \
|
||||||
make install && \
|
make install && \
|
||||||
|
echo "***** cleanup ****" && \
|
||||||
# install runtime packages
|
|
||||||
apk add --no-cache \
|
|
||||||
ffmpeg \
|
|
||||||
ffmpeg-libs \
|
|
||||||
libhdhomerun-libs \
|
|
||||||
libxml2 \
|
|
||||||
libxslt && \
|
|
||||||
apk add --no-cache \
|
|
||||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
|
||||||
gnu-libiconv && \
|
|
||||||
|
|
||||||
# cleanup
|
|
||||||
apk del --purge \
|
apk del --purge \
|
||||||
build-dependencies && \
|
build-dependencies && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
|
|||||||
48
README.md
48
README.md
@@ -13,8 +13,7 @@ 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!
|
* [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
|
||||||
[](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/)
|
[](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](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.
|
||||||
@@ -34,19 +33,21 @@ docker create \
|
|||||||
-e RUN_OPTS=<parameter> \
|
-e RUN_OPTS=<parameter> \
|
||||||
-p 9981:9981 \
|
-p 9981:9981 \
|
||||||
-p 9982:9982 \
|
-p 9982:9982 \
|
||||||
--device=/dev/dvb
|
--device=/dev/dvb \
|
||||||
|
--device=/dev/dri
|
||||||
linuxserver/tvheadend
|
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/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:release-4.2
|
||||||
|
|
||||||
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.2.1
|
|
||||||
|
|
||||||
#### Tags
|
#### Tags
|
||||||
|
|
||||||
+ **stable-4.2.1** : 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!
|
+ **stable-4.0.9** : old stable version. Will not be updated anymore!
|
||||||
|
|
||||||
#### Host vs. Bridge
|
#### Host vs. Bridge
|
||||||
@@ -68,6 +69,7 @@ http://192.168.x.x:8080 would show you what's running INSIDE the container on po
|
|||||||
* `-e PUID` for UserID - see below for explanation
|
* `-e PUID` for UserID - see below for explanation
|
||||||
* `-e RUN_OPTS` additional runtime parameters - see below for explanation
|
* `-e RUN_OPTS` additional runtime parameters - see below for explanation
|
||||||
* `--device=/dev/dvb` - for passing through DVB-cards
|
* `--device=/dev/dvb` - for passing through DVB-cards
|
||||||
|
* `--device=/dev/dri` - for passing through GPU
|
||||||
* `--net=host` - for IPTV, SAT>IP and HDHomeRun
|
* `--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*
|
||||||
|
|
||||||
@@ -122,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.
|
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.
|
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.
|
||||||
@@ -160,15 +162,21 @@ You need to enable minimum advanced view level to see the picons options.
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
+ **27.05.2017:** Rebase to alpine 3.6.
|
+ **04.01.18:** Deprecate cpu_core routine lack of scaling.
|
||||||
+ **01.05.2017:** Update to tvheadend 4.2.1 stable.
|
+ **11.12.17:** Rebase to alpine 3.7, linting fixes.
|
||||||
+ **18.04.2017:** Use repo version of gnu-libiconv rather than compiling.
|
+ **02.09.17:** Add codec dependencies.
|
||||||
+ **09.04.2017:** Chain cpanm installs in one block and use --installdeps.
|
+ **13.07.17:** Increase uniformity across all archs.
|
||||||
+ **09.02.2017:** Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
+ **08.07.17:** Update README with full path for comskip.
|
||||||
+ **07.02.2017:** Add variable to add additional runtime paramters.
|
+ **02.07.17:** Move to one branch for all 4.2 releases.
|
||||||
+ **05.02.2017:** Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
+ **27.05.17:** Rebase to alpine 3.6.
|
||||||
+ **14.11.2016:** Add picons from picons.xyz to /picons folder and add info to README.
|
+ **01.05.17:** Update to tvheadend 4.2.1 stable.
|
||||||
+ **22.09.2016:** Fix broken tv_grab_wg, libs for xmltv and update README.
|
+ **18.04.17:** Use repo version of gnu-libiconv rather than compiling.
|
||||||
+ **18.09.2016:** Update XMLTV to 0.5.68 and update README.
|
+ **09.04.17:** Chain cpanm installs in one block and use --installdeps.
|
||||||
+ **10.09.2016:** Add layer badges to README.
|
+ **09.02.17:** Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
||||||
+ **05.09.2016:** Initial release.
|
+ **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
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
RUN_ARRAY=(${RUN_OPTS})
|
IFS=" " read -r -a RUN_ARRAY <<< "$RUN_OPTS"
|
||||||
|
|
||||||
exec \
|
exec \
|
||||||
s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}"
|
s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}"
|
||||||
|
|||||||
Reference in New Issue
Block a user