Compare commits
86 commits
master
...
release/3.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
faee94bcb3 | ||
![]() |
661124c7a3 | ||
![]() |
e09a52f2c6 | ||
![]() |
72b4cd2a2a | ||
![]() |
98f5e898fd | ||
![]() |
165e3d4cb0 | ||
![]() |
c9e438e148 | ||
![]() |
b6862fe94a | ||
![]() |
e444d80a23 | ||
![]() |
897d243dbc | ||
![]() |
3aae092860 | ||
![]() |
4f9f348503 | ||
![]() |
0e589a3a43 | ||
![]() |
90236176ed | ||
![]() |
e8b55993af | ||
![]() |
4a67395ccc | ||
![]() |
40a8920a2a | ||
![]() |
ca5f880027 | ||
![]() |
10f7cb6f5c | ||
![]() |
4380a8051d | ||
![]() |
29dff2d94f | ||
![]() |
699d0464fc | ||
![]() |
c109026800 | ||
![]() |
144ec7dd14 | ||
![]() |
2aa067c73a | ||
![]() |
72e369a839 | ||
![]() |
74e73a98e9 | ||
![]() |
959d727be8 | ||
![]() |
e9fe361907 | ||
![]() |
b4c0cfe108 | ||
![]() |
940bc46014 | ||
![]() |
82dc9c035d | ||
![]() |
008b7058ac | ||
![]() |
8a29f8baf8 | ||
![]() |
97e0d05070 | ||
![]() |
90f4cdef23 | ||
![]() |
5ebb86fbf1 | ||
![]() |
e3231ec004 | ||
![]() |
af060cb70d | ||
![]() |
9b447c8ed7 | ||
![]() |
c74b0cf130 | ||
![]() |
6fe1bb5e7c | ||
![]() |
4bd0c355b4 | ||
![]() |
304a6ce26e | ||
![]() |
4303374f77 | ||
![]() |
89071bf55f | ||
![]() |
5bc5d30c66 | ||
![]() |
2ad41d959f | ||
![]() |
aa42a1c4af | ||
![]() |
091a4d608b | ||
![]() |
3e3c54100a | ||
![]() |
8a7db81088 | ||
![]() |
2dc947c5dc | ||
![]() |
1bc2dd9a25 | ||
![]() |
4e2ed9f406 | ||
![]() |
4daa250749 | ||
![]() |
6d3874c262 | ||
![]() |
9ee800a572 | ||
![]() |
78605b4a81 | ||
![]() |
b80fdefe16 | ||
![]() |
bf9b74be15 | ||
![]() |
274dd64c2c | ||
![]() |
c4ec5aae9e | ||
![]() |
af291917ae | ||
![]() |
7fc4b013c8 | ||
![]() |
4dce901813 | ||
![]() |
713d8cf511 | ||
![]() |
a652cbe541 | ||
![]() |
7771a7d7ef | ||
![]() |
fca3d93575 | ||
![]() |
7687dd4ecd | ||
![]() |
a0bf0d1d8f | ||
![]() |
9c44621116 | ||
![]() |
91cdb11c0d | ||
![]() |
da7869ebe8 | ||
![]() |
c8d4befefa | ||
![]() |
1b357d7040 | ||
![]() |
eee0a98600 | ||
![]() |
de85fef7c2 | ||
![]() |
48bc79843a | ||
![]() |
391f5912fe | ||
![]() |
329c7566aa | ||
![]() |
1c2dcd94bf | ||
![]() |
4e57ef651b | ||
![]() |
34c1fcb0bc | ||
![]() |
4ef346bda0 |
90
.doozer.json
|
@ -1,90 +0,0 @@
|
|||
{
|
||||
"targets": {
|
||||
|
||||
"precise-amd64": {
|
||||
"buildenv": "precise-amd64",
|
||||
"builddeps": [
|
||||
"git",
|
||||
"build-essential",
|
||||
"pkg-config",
|
||||
"libavahi-client-dev",
|
||||
"libssl-dev",
|
||||
"zlib1g-dev",
|
||||
"wget",
|
||||
"bzip2",
|
||||
"git-core",
|
||||
"liburiparser-dev"
|
||||
],
|
||||
|
||||
"buildcmd": [
|
||||
"./configure --disable-dvbscan --enable-libffmpeg_static --enable-hdhomerun_static",
|
||||
"make -j ${PARALLEL}"
|
||||
]
|
||||
},
|
||||
|
||||
"precise-i386": {
|
||||
"buildenv": "precise-i386",
|
||||
"builddeps": [
|
||||
"git",
|
||||
"build-essential",
|
||||
"pkg-config",
|
||||
"libavahi-client-dev",
|
||||
"libssl-dev",
|
||||
"zlib1g-dev",
|
||||
"wget",
|
||||
"bzip2",
|
||||
"git-core",
|
||||
"liburiparser-dev",
|
||||
"libx264-dev"
|
||||
],
|
||||
|
||||
"buildcmd": [
|
||||
"./configure --disable-dvbscan --enable-libffmpeg_static --disable-libffmpeg_static_x264 --enable-hdhomerun_static",
|
||||
"make -j ${PARALLEL}"
|
||||
]
|
||||
},
|
||||
|
||||
"trusty-amd64": {
|
||||
"buildenv": "trusty-amd64",
|
||||
"builddeps": [
|
||||
"git",
|
||||
"build-essential",
|
||||
"pkg-config",
|
||||
"libavahi-client-dev",
|
||||
"libssl-dev",
|
||||
"zlib1g-dev",
|
||||
"wget",
|
||||
"bzip2",
|
||||
"git-core",
|
||||
"liburiparser-dev"
|
||||
],
|
||||
|
||||
"buildcmd": [
|
||||
"./configure --disable-dvbscan --enable-libffmpeg_static --enable-hdhomerun_static",
|
||||
"make -j ${PARALLEL}"
|
||||
]
|
||||
},
|
||||
|
||||
"trusty-i386": {
|
||||
"buildenv": "trusty-i386",
|
||||
"builddeps": [
|
||||
"git",
|
||||
"build-essential",
|
||||
"pkg-config",
|
||||
"libavahi-client-dev",
|
||||
"libssl-dev",
|
||||
"zlib1g-dev",
|
||||
"wget",
|
||||
"bzip2",
|
||||
"git-core",
|
||||
"liburiparser-dev",
|
||||
"libx264-dev"
|
||||
],
|
||||
|
||||
"buildcmd": [
|
||||
"./configure --disable-dvbscan --enable-libffmpeg_static --disable-libffmpeg_static_x264 --enable-hdhomerun_static",
|
||||
"make -j ${PARALLEL}"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
20
.gitignore
vendored
|
@ -3,34 +3,16 @@ build.*
|
|||
|
||||
src/version.c
|
||||
|
||||
data/dvb-scan
|
||||
|
||||
libav_static
|
||||
|
||||
.cproject
|
||||
.project
|
||||
nbproject
|
||||
.settings
|
||||
data/dvb-scan
|
||||
|
||||
*.pyc
|
||||
.*.sw[op]
|
||||
*.bak
|
||||
|
||||
debian/changelog
|
||||
debian/files
|
||||
debian/tvheadend
|
||||
debian/tvheadend-dbg
|
||||
debian/tvheadend*substvars
|
||||
debian/tvheadend*.debhelper*
|
||||
|
||||
rpm/tvheadend.spec
|
||||
rpm/test.patch
|
||||
|
||||
#############
|
||||
###Windows###
|
||||
#############
|
||||
|
||||
#windows image file cache
|
||||
Thumbs.db
|
||||
#Folder config file
|
||||
Desktop.ini
|
||||
|
|
0
.gitmodules
vendored
|
@ -12,7 +12,7 @@ BUILD_API_VERSION=3
|
|||
EXTRA_BUILD_NAME=""
|
||||
JARGS=""
|
||||
JOBSARGS=""
|
||||
TARGET="debian"
|
||||
TARGET=""
|
||||
RELEASE="--release"
|
||||
WORKINGDIR="/var/tmp/showtime-autobuild"
|
||||
OP="build"
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
# How to Contribute
|
||||
|
||||
The Tvheadend project welcomes all submissions from the community. Without them the project couldn't hope to thrive.
|
||||
|
||||
We want to ensure that the process of submitting code is as simple as possible whilst ensuring that the project has the necessary provisions to fully utilise and handle all submissions. Therefore some short guidelines are provided here for reference.
|
||||
|
||||
For further info, please see https://tvheadend.org/projects/tvheadend/wiki/Contributors.
|
||||
|
||||
## Before you start
|
||||
|
||||
* Make sure you have a [GitHub account](https://github.com/signup/free)
|
||||
* Make sure you have a [Redmine account](https://tvheadend.org)
|
||||
* Log on to the IRC channel (#hts on freenode), this is the best place to discussion development work.
|
||||
* Sign the [Contributor License Agreement](https://www.clahub.com/agreements/tvheadend/tvheadend)
|
||||
* Fork the repository on Github
|
||||
|
||||
## Making Changes
|
||||
|
||||
* If unsure, discuss any potential work on IRC channel to avoid duplicate work.
|
||||
* Create a branch to put your changes. Use a sensible name, i.e. feature/whizzbanger, or bugfix/redmine-1234.
|
||||
* It's strongly recommend you create one branch per feature/bugfix/etc..
|
||||
* Make commits, try and keep commits to sensible units.
|
||||
* Use sensible commit messages, prefix with subsystem, summary on first line, more detail on following lines and include reference to any related issue numbers in redmine.
|
||||
|
||||
````
|
||||
mpegts dvb: Add foo feature to the DVB system.
|
||||
|
||||
Some more detail description of what has been done.
|
||||
|
||||
This fixes #1234.
|
||||
````
|
||||
* Submit a Pull Request on Github.
|
||||
|
||||
# Additional Resources
|
||||
|
||||
* [More information on contributing](https://tvheadend.org/projects/tvheadend/wiki/Contributors)
|
||||
* [Bug tracker (Redmine)](https://tvheadend.org)
|
||||
* [Contributor License Agreement](https://tvheadend.org/projects/tvheadend/wiki/Contributors)
|
||||
* [General GitHub documentation](http://help.github.com/)
|
||||
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
|
||||
* #hts IRC channel on freenode.org
|
||||
|
36
LICENSE.md
|
@ -1,36 +0,0 @@
|
|||
Licensing
|
||||
=========
|
||||
|
||||
The project is currently licensed using GPLv3. For full text see:
|
||||
|
||||
> http://www.gnu.org/licenses/gpl-3.0.txt
|
||||
> [GPLv3](licenses/gpl-3.0.txt)
|
||||
|
||||
However we are currently in the process of seeking CLAs from all contributors. This will provide the project with the potential to re-license under any OSI approved license.
|
||||
|
||||
The intention is that once agreements have been received from all members we will begin to re-license the code under GPLv2.
|
||||
|
||||
Should you be interested in using Tvheadend and wish to use another OSI license, then please contact admin at tvheadend dot org.
|
||||
|
||||
Code not Covered
|
||||
----------------
|
||||
|
||||
Code in the "vendor" directory is not covered by our license, it is 3rd party
|
||||
provided code and as such is governed by individual licenses.
|
||||
|
||||
Code that is not yet covered by the CLAs will retain the original copyright header and GPLv3 license. However as things are migrated the headers and in-line license details will be updated.
|
||||
|
||||
Contributor License Agreement (CLA)
|
||||
-----------------------------------
|
||||
|
||||
All contributors to Tvheadend are required to sign a CLA, which gives the
|
||||
project a perpetual license to use the contribution as the project deems best
|
||||
(within the terms of the agreement).
|
||||
|
||||
Further Information
|
||||
-------------------
|
||||
|
||||
For more information regarding licensing and contributions, please see:
|
||||
|
||||
> https://tvheadend.org/projects/tvheadend/wiki/Contributors
|
||||
> https://tvheadend.org/projects/tvheadend/wiki/CLA
|
430
Makefile
|
@ -20,57 +20,19 @@
|
|||
# Configuration
|
||||
#
|
||||
|
||||
include $(dir $(lastword $(MAKEFILE_LIST))).config.mk
|
||||
PROG := $(BUILDDIR)/tvheadend
|
||||
include ${CURDIR}/.config.mk
|
||||
PROG = ${BUILDDIR}/tvheadend
|
||||
|
||||
#
|
||||
# Common compiler flags
|
||||
#
|
||||
|
||||
CFLAGS += -g -O2 -Wunused-result
|
||||
CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
|
||||
CFLAGS += -Wmissing-prototypes
|
||||
CFLAGS += -fms-extensions -funsigned-char -fno-strict-aliasing
|
||||
CFLAGS += -Wmissing-prototypes -fms-extensions
|
||||
CFLAGS += -g -funsigned-char -O2
|
||||
CFLAGS += -D_FILE_OFFSET_BITS=64
|
||||
CFLAGS += -I${BUILDDIR} -I${ROOTDIR}/src -I${ROOTDIR}
|
||||
ifeq ($(CONFIG_ANDROID),yes)
|
||||
LDFLAGS += -ldl -lm
|
||||
else
|
||||
LDFLAGS += -ldl -lpthread -lm
|
||||
endif
|
||||
ifeq ($(CONFIG_LIBICONV),yes)
|
||||
LDFLAGS += -liconv
|
||||
endif
|
||||
ifeq ($(PLATFORM), darwin)
|
||||
LDFLAGS += -framework CoreServices
|
||||
else
|
||||
ifeq ($(CONFIG_ANDROID),no)
|
||||
LDFLAGS += -lrt
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILER), clang)
|
||||
CFLAGS += -Wno-microsoft -Qunused-arguments -Wno-unused-function
|
||||
CFLAGS += -Wno-unused-value -Wno-tautological-constant-out-of-range-compare
|
||||
CFLAGS += -Wno-parentheses-equality -Wno-incompatible-pointer-types
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes)
|
||||
CFLAGS += -I${ROOTDIR}/libav_static/build/ffmpeg/include
|
||||
LDFLAGS += -L${ROOTDIR}/libav_static/build/ffmpeg/lib -Wl,-Bstatic \
|
||||
-lavresample -lswresample -lswscale \
|
||||
-lavutil -lavformat -lavcodec -lavutil \
|
||||
-lvorbisenc -lvorbis -logg -lx264 -lvpx \
|
||||
-Wl,-Bdynamic -ldl
|
||||
endif
|
||||
ifeq ($(CONFIG_HDHOMERUN_STATIC),yes)
|
||||
CFLAGS += -I${ROOTDIR}/libhdhomerun_static
|
||||
LDFLAGS += -L${ROOTDIR}/libhdhomerun_static/libhdhomerun \
|
||||
-Wl,-Bstatic -lhdhomerun -Wl,-Bdynamic
|
||||
endif
|
||||
|
||||
vpath %.c $(ROOTDIR)
|
||||
vpath %.h $(ROOTDIR)
|
||||
CFLAGS += -I${BUILDDIR} -I${CURDIR}/src -I${CURDIR}
|
||||
LDFLAGS += -lrt -ldl -lpthread
|
||||
|
||||
#
|
||||
# Other config
|
||||
|
@ -83,35 +45,30 @@ BUNDLE_FLAGS = ${BUNDLE_FLAGS-yes}
|
|||
# Binaries/Scripts
|
||||
#
|
||||
|
||||
MKBUNDLE = $(PYTHON) $(ROOTDIR)/support/mkbundle
|
||||
MKBUNDLE = $(PYTHON) $(CURDIR)/support/mkbundle
|
||||
|
||||
#
|
||||
# Debug/Output
|
||||
#
|
||||
|
||||
ifndef V
|
||||
ECHO = printf "%-16s%s\n" $(1) $(2)
|
||||
ECHO = printf "$(1)\t\t%s\n" $(2)
|
||||
BRIEF = CC MKBUNDLE CXX
|
||||
MSG = $(subst $(BUILDDIR)/,,$@)
|
||||
MSG = $@
|
||||
$(foreach VAR,$(BRIEF), \
|
||||
$(eval $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
|
||||
$(eval $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
|
||||
endif
|
||||
|
||||
#
|
||||
# Core
|
||||
#
|
||||
SRCS = src/version.c \
|
||||
src/uuid.c \
|
||||
src/main.c \
|
||||
src/tvhlog.c \
|
||||
src/idnode.c \
|
||||
src/prop.c \
|
||||
SRCS = src/main.c \
|
||||
src/utils.c \
|
||||
src/wrappers.c \
|
||||
src/version.c \
|
||||
src/access.c \
|
||||
src/dtable.c \
|
||||
src/tcp.c \
|
||||
src/udp.c \
|
||||
src/url.c \
|
||||
src/http.c \
|
||||
src/notify.c \
|
||||
src/file.c \
|
||||
|
@ -121,91 +78,54 @@ SRCS = src/version.c \
|
|||
src/spawn.c \
|
||||
src/packet.c \
|
||||
src/streaming.c \
|
||||
src/teletext.c \
|
||||
src/channels.c \
|
||||
src/subscriptions.c \
|
||||
src/service.c \
|
||||
src/htsp_server.c \
|
||||
src/psi.c \
|
||||
src/parsers.c \
|
||||
src/parser_h264.c \
|
||||
src/parser_latm.c \
|
||||
src/tsdemux.c \
|
||||
src/bitstream.c \
|
||||
src/htsp.c \
|
||||
src/serviceprobe.c \
|
||||
src/htsmsg.c \
|
||||
src/htsmsg_binary.c \
|
||||
src/htsmsg_json.c \
|
||||
src/htsmsg_xml.c \
|
||||
src/misc/dbl.c \
|
||||
src/misc/json.c \
|
||||
src/settings.c \
|
||||
src/htsbuf.c \
|
||||
src/trap.c \
|
||||
src/avg.c \
|
||||
src/htsstr.c \
|
||||
src/tvhpoll.c \
|
||||
src/huffman.c \
|
||||
src/filebundle.c \
|
||||
src/config.c \
|
||||
src/lang_codes.c \
|
||||
src/lang_str.c \
|
||||
src/imagecache.c \
|
||||
src/tvhtime.c \
|
||||
src/service_mapper.c \
|
||||
src/input.c \
|
||||
src/httpc.c \
|
||||
src/rtsp.c \
|
||||
src/fsmonitor.c \
|
||||
src/cron.c \
|
||||
src/esfilter.c \
|
||||
src/intlconv.c \
|
||||
src/profile.c \
|
||||
src/bouquet.c \
|
||||
src/lock.c
|
||||
|
||||
SRCS-${CONFIG_UPNP} += \
|
||||
src/upnp.c
|
||||
|
||||
# SATIP Server
|
||||
SRCS-${CONFIG_SATIP_SERVER} += \
|
||||
src/satip/server.c \
|
||||
src/satip/rtsp.c \
|
||||
src/satip/rtp.c
|
||||
|
||||
SRCS += \
|
||||
src/api.c \
|
||||
src/api/api_status.c \
|
||||
src/api/api_idnode.c \
|
||||
src/api/api_input.c \
|
||||
src/api/api_channel.c \
|
||||
src/api/api_service.c \
|
||||
src/api/api_mpegts.c \
|
||||
src/api/api_epg.c \
|
||||
src/api/api_epggrab.c \
|
||||
src/api/api_imagecache.c \
|
||||
src/api/api_esfilter.c \
|
||||
src/api/api_intlconv.c \
|
||||
src/api/api_access.c \
|
||||
src/api/api_dvr.c \
|
||||
src/api/api_caclient.c \
|
||||
src/api/api_profile.c \
|
||||
src/api/api_bouquet.c
|
||||
|
||||
SRCS += \
|
||||
src/parsers/parsers.c \
|
||||
src/parsers/bitstream.c \
|
||||
src/parsers/parser_h264.c \
|
||||
src/parsers/parser_latm.c \
|
||||
src/parsers/parser_avc.c \
|
||||
src/parsers/parser_teletext.c \
|
||||
src/rawtsinput.c \
|
||||
src/iptv_input.c \
|
||||
src/avc.c \
|
||||
src/huffman.c \
|
||||
src/filebundle.c \
|
||||
src/muxes.c \
|
||||
src/config2.c \
|
||||
src/lang_codes.c \
|
||||
src/lang_str.c \
|
||||
|
||||
SRCS += src/epggrab/module.c\
|
||||
src/epggrab/channel.c\
|
||||
src/epggrab/module/pyepg.c\
|
||||
src/epggrab/module/xmltv.c\
|
||||
src/epggrab/channel.c\
|
||||
src/epggrab/otamux.c\
|
||||
src/epggrab/module/pyepg.c\
|
||||
src/epggrab/module/xmltv.c\
|
||||
src/epggrab/module/eit.c \
|
||||
src/epggrab/module/opentv.c \
|
||||
src/epggrab/support/freesat_huffman.c \
|
||||
|
||||
SRCS += src/plumbing/tsfix.c \
|
||||
src/plumbing/globalheaders.c
|
||||
src/plumbing/globalheaders.c \
|
||||
|
||||
SRCS += src/dvr/dvr_db.c \
|
||||
src/dvr/dvr_rec.c \
|
||||
src/dvr/dvr_autorec.c \
|
||||
src/dvr/dvr_timerec.c \
|
||||
src/dvr/dvr_config.c \
|
||||
src/dvr/dvr_cutpoints.c \
|
||||
src/dvr/ebml.c \
|
||||
src/dvr/mkmux.c \
|
||||
|
||||
SRCS += src/webui/webui.c \
|
||||
src/webui/comet.c \
|
||||
|
@ -213,161 +133,49 @@ SRCS += src/webui/webui.c \
|
|||
src/webui/simpleui.c \
|
||||
src/webui/statedump.c \
|
||||
src/webui/html.c\
|
||||
src/webui/webui_api.c\
|
||||
|
||||
SRCS += src/muxer.c \
|
||||
src/muxer/muxer_pass.c \
|
||||
src/muxer/muxer_tvh.c \
|
||||
src/muxer/tvh/ebml.c \
|
||||
src/muxer/tvh/mkmux.c \
|
||||
src/muxer_pass.c \
|
||||
src/muxer_tvh.c \
|
||||
|
||||
#
|
||||
# Optional code
|
||||
#
|
||||
|
||||
# MPEGTS core, order by usage (psi lib, tsdemux)
|
||||
SRCS-$(CONFIG_MPEGTS) += \
|
||||
src/descrambler/descrambler.c \
|
||||
src/descrambler/caclient.c \
|
||||
src/input/mpegts.c \
|
||||
src/input/mpegts/mpegts_pid.c \
|
||||
src/input/mpegts/mpegts_input.c \
|
||||
src/input/mpegts/tsdemux.c \
|
||||
src/input/mpegts/dvb_psi_lib.c \
|
||||
src/input/mpegts/mpegts_network.c \
|
||||
src/input/mpegts/mpegts_mux.c \
|
||||
src/input/mpegts/mpegts_service.c \
|
||||
src/input/mpegts/mpegts_table.c \
|
||||
src/input/mpegts/dvb_support.c \
|
||||
src/input/mpegts/dvb_charset.c \
|
||||
src/input/mpegts/dvb_psi.c \
|
||||
src/input/mpegts/fastscan.c \
|
||||
src/input/mpegts/mpegts_mux_sched.c \
|
||||
src/input/mpegts/mpegts_network_scan.c
|
||||
|
||||
# MPEGTS DVB
|
||||
SRCS-${CONFIG_MPEGTS_DVB} += \
|
||||
src/input/mpegts/mpegts_network_dvb.c \
|
||||
src/input/mpegts/mpegts_mux_dvb.c \
|
||||
src/input/mpegts/scanfile.c
|
||||
|
||||
# MPEGTS EPG
|
||||
SRCS-$(CONFIG_MPEGTS) += \
|
||||
src/epggrab/otamux.c\
|
||||
src/epggrab/module/eit.c \
|
||||
src/epggrab/support/freesat_huffman.c \
|
||||
src/epggrab/module/opentv.c \
|
||||
|
||||
# LINUX DVB
|
||||
# DVB
|
||||
SRCS-${CONFIG_LINUXDVB} += \
|
||||
src/input/mpegts/linuxdvb/linuxdvb.c \
|
||||
src/input/mpegts/linuxdvb/linuxdvb_adapter.c \
|
||||
src/input/mpegts/linuxdvb/linuxdvb_frontend.c \
|
||||
src/input/mpegts/linuxdvb/linuxdvb_satconf.c \
|
||||
src/input/mpegts/linuxdvb/linuxdvb_lnb.c \
|
||||
src/input/mpegts/linuxdvb/linuxdvb_switch.c \
|
||||
src/input/mpegts/linuxdvb/linuxdvb_rotor.c \
|
||||
src/input/mpegts/linuxdvb/linuxdvb_en50494.c
|
||||
src/dvb/dvb.c \
|
||||
src/dvb/dvb_support.c \
|
||||
src/dvb/dvb_charset.c \
|
||||
src/dvb/dvb_fe.c \
|
||||
src/dvb/dvb_tables.c \
|
||||
src/dvb/diseqc.c \
|
||||
src/dvb/dvb_adapter.c \
|
||||
src/dvb/dvb_multiplex.c \
|
||||
src/dvb/dvb_transport.c \
|
||||
src/dvb/dvb_preconf.c \
|
||||
src/dvb/dvb_satconf.c \
|
||||
src/webui/extjs_dvb.c \
|
||||
|
||||
# SATIP Client
|
||||
SRCS-${CONFIG_SATIP_CLIENT} += \
|
||||
src/input/mpegts/satip/satip.c \
|
||||
src/input/mpegts/satip/satip_frontend.c \
|
||||
src/input/mpegts/satip/satip_satconf.c \
|
||||
src/input/mpegts/satip/satip_rtsp.c
|
||||
# V4L
|
||||
SRCS-${CONFIG_V4L} += \
|
||||
src/v4l.c \
|
||||
src/webui/extjs_v4l.c \
|
||||
|
||||
# HDHOMERUN
|
||||
SRCS_HDHOMERUN = \
|
||||
src/input/mpegts/tvhdhomerun/tvhdhomerun.c \
|
||||
src/input/mpegts/tvhdhomerun/tvhdhomerun_frontend.c
|
||||
SRCS-${CONFIG_HDHOMERUN_CLIENT} += $(SRCS_HDHOMERUN)
|
||||
|
||||
# IPTV
|
||||
SRCS-${CONFIG_IPTV} += \
|
||||
src/input/mpegts/iptv/iptv.c \
|
||||
src/input/mpegts/iptv/iptv_mux.c \
|
||||
src/input/mpegts/iptv/iptv_service.c \
|
||||
src/input/mpegts/iptv/iptv_http.c \
|
||||
src/input/mpegts/iptv/iptv_udp.c \
|
||||
src/input/mpegts/iptv/iptv_rtsp.c \
|
||||
src/input/mpegts/iptv/iptv_pipe.c
|
||||
|
||||
# TSfile
|
||||
SRCS-$(CONFIG_TSFILE) += \
|
||||
src/input/mpegts/tsfile/tsfile.c \
|
||||
src/input/mpegts/tsfile/tsfile_input.c \
|
||||
src/input/mpegts/tsfile/tsfile_mux.c \
|
||||
|
||||
# Timeshift
|
||||
SRCS-${CONFIG_TIMESHIFT} += \
|
||||
src/timeshift.c \
|
||||
src/timeshift/timeshift_filemgr.c \
|
||||
src/timeshift/timeshift_writer.c \
|
||||
src/timeshift/timeshift_reader.c \
|
||||
|
||||
# Inotify
|
||||
SRCS-${CONFIG_INOTIFY} += \
|
||||
src/dvr/dvr_inotify.c \
|
||||
# CWC
|
||||
SRCS-${CONFIG_CWC} += src/cwc.c \
|
||||
src/capmt.c \
|
||||
src/ffdecsa/ffdecsa_interface.c \
|
||||
src/ffdecsa/ffdecsa_int.c
|
||||
|
||||
# Avahi
|
||||
SRCS-$(CONFIG_AVAHI) += src/avahi.c
|
||||
|
||||
# Bonjour
|
||||
SRCS-$(CONFIG_BONJOUR) += src/bonjour.c
|
||||
|
||||
# libav
|
||||
SRCS_LIBAV = \
|
||||
src/libav.c \
|
||||
src/muxer/muxer_libav.c \
|
||||
src/plumbing/transcoding.c
|
||||
SRCS-$(CONFIG_LIBAV) += $(SRCS_LIBAV)
|
||||
|
||||
# Tvhcsa
|
||||
SRCS-${CONFIG_TVHCSA} += \
|
||||
src/descrambler/tvhcsa.c
|
||||
|
||||
# CWC
|
||||
SRCS-${CONFIG_CWC} += \
|
||||
src/descrambler/cwc.c \
|
||||
|
||||
# CAPMT
|
||||
SRCS-${CONFIG_CAPMT} += \
|
||||
src/descrambler/capmt.c
|
||||
|
||||
# CONSTCW
|
||||
SRCS-${CONFIG_CONSTCW} += \
|
||||
src/descrambler/constcw.c
|
||||
|
||||
# DVB CAM
|
||||
SRCS-${CONFIG_LINUXDVB_CA} += \
|
||||
src/input/mpegts/linuxdvb/linuxdvb_ca.c \
|
||||
src/descrambler/dvbcam.c
|
||||
|
||||
# TSDEBUGCW
|
||||
SRCS-${CONFIG_TSDEBUG} += \
|
||||
src/descrambler/tsdebugcw.c
|
||||
|
||||
# FFdecsa
|
||||
ifneq ($(CONFIG_DVBCSA),yes)
|
||||
FFDECSA-$(CONFIG_CAPMT) = yes
|
||||
FFDECSA-$(CONFIG_CWC) = yes
|
||||
FFDECSA-$(CONFIG_CONSTCW) = yes
|
||||
endif
|
||||
|
||||
ifeq ($(FFDECSA-yes),yes)
|
||||
SRCS-yes += src/descrambler/ffdecsa/ffdecsa_interface.c \
|
||||
src/descrambler/ffdecsa/ffdecsa_int.c
|
||||
SRCS-${CONFIG_MMX} += src/descrambler/ffdecsa/ffdecsa_mmx.c
|
||||
SRCS-${CONFIG_SSE2} += src/descrambler/ffdecsa/ffdecsa_sse2.c
|
||||
${BUILDDIR}/src/descrambler/ffdecsa/ffdecsa_mmx.o : CFLAGS += -mmmx
|
||||
${BUILDDIR}/src/descrambler/ffdecsa/ffdecsa_sse2.o : CFLAGS += -msse2
|
||||
endif
|
||||
|
||||
# libaesdec
|
||||
SRCS-${CONFIG_SSL} += src/descrambler/libaesdec/libaesdec.c
|
||||
|
||||
# DBUS
|
||||
SRCS-${CONFIG_DBUS_1} += src/dbus.c
|
||||
# Optimised code
|
||||
SRCS-${CONFIG_MMX} += src/ffdecsa/ffdecsa_mmx.c
|
||||
SRCS-${CONFIG_SSE2} += src/ffdecsa/ffdecsa_sse2.c
|
||||
${BUILDDIR}/src/ffdecsa/ffdecsa_mmx.o : CFLAGS += -mmmx
|
||||
${BUILDDIR}/src/ffdecsa/ffdecsa_sse2.o : CFLAGS += -msse2
|
||||
|
||||
# File bundles
|
||||
SRCS-${CONFIG_BUNDLE} += bundle.c
|
||||
|
@ -375,7 +183,6 @@ BUNDLES-yes += docs/html docs/docresources src/webui/static
|
|||
BUNDLES-yes += data/conf
|
||||
BUNDLES-${CONFIG_DVBSCAN} += data/dvb-scan
|
||||
BUNDLES = $(BUNDLES-yes)
|
||||
ALL-$(CONFIG_DVBSCAN) += check_dvb_scan
|
||||
|
||||
#
|
||||
# Add-on modules
|
||||
|
@ -392,41 +199,24 @@ OBJS = $(SRCS:%.c=$(BUILDDIR)/%.o)
|
|||
OBJS_EXTRA = $(SRCS_EXTRA:%.c=$(BUILDDIR)/%.so)
|
||||
DEPS = ${OBJS:%.o=%.d}
|
||||
|
||||
ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes)
|
||||
DEPS += ${BUILDDIR}/libffmpeg_stamp
|
||||
endif
|
||||
ifeq ($(CONFIG_HDHOMERUN_STATIC),yes)
|
||||
DEPS += ${BUILDDIR}/libhdhomerun_stamp
|
||||
endif
|
||||
|
||||
#
|
||||
# Build Rules
|
||||
#
|
||||
|
||||
# Default
|
||||
all: $(ALL-yes) ${PROG}
|
||||
all: ${PROG}
|
||||
|
||||
# Special
|
||||
.PHONY: clean distclean check_config reconfigure
|
||||
|
||||
# Check configure output is valid
|
||||
check_config:
|
||||
@test $(ROOTDIR)/.config.mk -nt $(ROOTDIR)/configure\
|
||||
|| echo "./configure output is old, please re-run"
|
||||
@test $(ROOTDIR)/.config.mk -nt $(ROOTDIR)/configure
|
||||
|
||||
# Recreate configuration
|
||||
reconfigure:
|
||||
$(ROOTDIR)/configure $(CONFIGURE_ARGS)
|
||||
.PHONY: clean distclean
|
||||
|
||||
# Binary
|
||||
${PROG}: check_config $(OBJS) $(ALLDEPS)
|
||||
${PROG}: $(OBJS) $(ALLDEPS)
|
||||
$(CC) -o $@ $(OBJS) $(CFLAGS) $(LDFLAGS)
|
||||
|
||||
# Object
|
||||
${BUILDDIR}/%.o: %.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) -MD -MP $(CFLAGS) -c -o $@ $<
|
||||
$(CC) -MD -MP $(CFLAGS) -c -o $@ $(CURDIR)/$<
|
||||
|
||||
# Add-on
|
||||
${BUILDDIR}/%.so: ${SRCS_EXTRA}
|
||||
|
@ -439,79 +229,25 @@ clean:
|
|||
find . -name "*~" | xargs rm -f
|
||||
|
||||
distclean: clean
|
||||
rm -rf ${ROOTDIR}/libav_static
|
||||
rm -rf ${ROOTDIR}/libhdhomerun_static
|
||||
rm -rf ${ROOTDIR}/build.*
|
||||
rm -f ${ROOTDIR}/.config.mk
|
||||
rm -rf ${CURDIR}/build.*
|
||||
rm -f ${CURDIR}/.config.mk
|
||||
|
||||
# Create version
|
||||
$(BUILDDIR)/src/version.o: $(ROOTDIR)/src/version.c
|
||||
$(ROOTDIR)/src/version.c: FORCE
|
||||
@$(ROOTDIR)/support/version $@ > /dev/null
|
||||
# Create buildversion.h
|
||||
src/version.c: FORCE
|
||||
@$(CURDIR)/support/version $@ > /dev/null
|
||||
FORCE:
|
||||
|
||||
# Include dependency files if they exist.
|
||||
-include $(DEPS)
|
||||
|
||||
# Include OS specific targets
|
||||
include ${ROOTDIR}/support/${OSENV}.mk
|
||||
include support/${OSENV}.mk
|
||||
|
||||
# Bundle files
|
||||
$(BUILDDIR)/bundle.o: $(BUILDDIR)/bundle.c
|
||||
@mkdir -p $(dir $@)
|
||||
$(CC) -I${ROOTDIR}/src -c -o $@ $<
|
||||
$(CC) -I${CURDIR}/src -c -o $@ $<
|
||||
|
||||
$(BUILDDIR)/bundle.c: check_dvb_scan
|
||||
$(BUILDDIR)/bundle.c:
|
||||
@mkdir -p $(dir $@)
|
||||
$(MKBUNDLE) -o $@ -d ${BUILDDIR}/bundle.d $(BUNDLE_FLAGS) $(BUNDLES:%=$(ROOTDIR)/%)
|
||||
|
||||
# Static FFMPEG
|
||||
|
||||
ifeq ($(CONFIG_LIBFFMPEG_STATIC),yes)
|
||||
${ROOTDIR}/src/libav.h: ${BUILDDIR}/libffmpeg_stamp
|
||||
${SRCS_LIBAV}: ${BUILDDIR}/libffmpeg_stamp
|
||||
endif
|
||||
|
||||
${BUILDDIR}/libffmpeg_stamp: ${ROOTDIR}/libav_static/build/ffmpeg/lib/libavcodec.a
|
||||
@touch $@
|
||||
|
||||
${ROOTDIR}/libav_static/build/ffmpeg/lib/libavcodec.a:
|
||||
CONFIG_LIBFFMPEG_STATIC_X264=$(CONFIG_LIBFFMPEG_STATIC_X264) \
|
||||
$(MAKE) -f Makefile.ffmpeg build
|
||||
|
||||
# Static HDHOMERUN library
|
||||
|
||||
ifeq ($(CONFIG_LIBHDHOMERUN_STATIC),yes)
|
||||
${ROOTDIR}/src/input/mpegts/tvhdhomerun/tvhdhomerun_private.h: ${BUILDDIR}/libhdhomerun_stamp
|
||||
${SRCS_HDHOMERUN}: ${BUILDDIR}/libhdhomerun_stamp
|
||||
endif
|
||||
|
||||
${BUILDDIR}/libhdhomerun_stamp: ${ROOTDIR}/libhdhomerun_static/libhdhomerun/libhdhomerun.a
|
||||
@touch $@
|
||||
|
||||
${ROOTDIR}/libhdhomerun_static/libhdhomerun/libhdhomerun.a:
|
||||
$(MAKE) -f Makefile.hdhomerun build
|
||||
|
||||
# linuxdvb git tree
|
||||
$(ROOTDIR)/data/dvb-scan/.stamp:
|
||||
@echo "Receiving data/dvb-scan/dvb-t from http://linuxtv.org/git/dtv-scan-tables.git"
|
||||
@rm -rf $(ROOTDIR)/data/dvb-scan/*
|
||||
@$(ROOTDIR)/support/getmuxlist $(ROOTDIR)/data/dvb-scan
|
||||
@touch $@
|
||||
|
||||
.PHONY: check_dvb_scan
|
||||
check_dvb_scan: $(ROOTDIR)/data/dvb-scan/.stamp
|
||||
|
||||
# dvb-s / enigma2 / satellites.xml
|
||||
$(ROOTDIR)/data/dvb-scan/dvb-s/.stamp: $(ROOTDIR)/data/satellites.xml \
|
||||
$(ROOTDIR)/data/dvb-scan/.stamp
|
||||
@echo "Generating data/dvb-scan/dvb-s from data/satellites.xml"
|
||||
@if ! test -s $(ROOTDIR)/data/satellites.xml ; then echo "Put your satellites.xml file to $(ROOTDIR)/data/satellites.xml"; exit 1; fi
|
||||
@if ! test -d $(ROOTDIR)/data/dvb-scan/dvb-s ; then mkdir $(ROOTDIR)/data/dvb-scan/dvb-s ; fi
|
||||
@rm -rf $(ROOTDIR)/data/dvb-scan/dvb-s/*
|
||||
@$(ROOTDIR)/support/sat_xml_scan.py \
|
||||
$(ROOTDIR)/data/satellites.xml $(ROOTDIR)/data/dvb-scan/dvb-s
|
||||
@touch $(ROOTDIR)/data/dvb-scan/dvb-s/.stamp
|
||||
|
||||
.PHONY: satellites_xml
|
||||
satellites_xml: $(ROOTDIR)/data/dvb-scan/dvb-s/.stamp
|
||||
$(MKBUNDLE) -o $@ -d ${BUILDDIR}/bundle.d $(BUNDLE_FLAGS) $(BUNDLES)
|
||||
|
|
248
Makefile.ffmpeg
|
@ -1,248 +0,0 @@
|
|||
#
|
||||
# Static Audio/Video libs (ffmpeg version) build
|
||||
# Copyright (C) 2014 Jaroslav Kysela
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
include $(dir $(lastword $(MAKEFILE_LIST))).config.mk
|
||||
|
||||
unexport CFLAGS
|
||||
unexport LDFLAGS
|
||||
|
||||
define DOWNLOAD
|
||||
@mkdir -p $(LIBAVDIR)/build
|
||||
if test -z "$${TVHEADEND_FILE_CACHE}"; then \
|
||||
wget --no-verbose -O $(2) $(1); \
|
||||
else \
|
||||
file=$$(basename $(2)); \
|
||||
cp "$$TVHEADEND_FILE_CACHE/$$(file)" $(2); \
|
||||
fi
|
||||
@{ \
|
||||
sum=$$(sha1sum $(2) | cut -d ' ' -f 1); \
|
||||
printf "SHA1SUM test '$${sum}' == '$(3)': "; \
|
||||
test "y$${sum}" = "y$(3)"; \
|
||||
}
|
||||
@echo "OK"
|
||||
endef
|
||||
|
||||
define UNTAR
|
||||
tar x -C $(LIBAVDIR) -$(2)f $(LIBAVDIR)/$(1)
|
||||
endef
|
||||
|
||||
LIBAVDIR = $(ROOTDIR)/libav_static
|
||||
|
||||
export PATH := $(LIBAVDIR)/build/ffmpeg/bin:$(PATH)
|
||||
|
||||
ECFLAGS = -I$(LIBAVDIR)/build/ffmpeg/include
|
||||
ELIBS = -L$(LIBAVDIR)/build/ffmpeg/lib -ldl
|
||||
|
||||
CONFIGURE = PKG_CONFIG=/tmp/nobin/pkg-config ./configure
|
||||
|
||||
FFMPEG = ffmpeg-2.6.2
|
||||
FFMPEG_TB = $(FFMPEG).tar.bz2
|
||||
FFMPEG_URL = http://ffmpeg.org/releases/$(FFMPEG_TB)
|
||||
FFMPEG_SHA1 = 65470c9b967485f72f81758a7bad44cf7a1763db
|
||||
|
||||
EXTLIBS = libx264 libvorbis libvpx
|
||||
COMPONENTS = avutil avformat avcodec swresample swscale avresample
|
||||
DECODERS = mpeg2video mp2 ac3 eac3 h264 h264_vdpau aac aac_latm vorbis libvorbis
|
||||
ENCODERS = mpeg2video mp2 libx264 libvpx_vp8 libvpx_vp9 aac libaacplus vorbis libvorbis
|
||||
MUXERS = mpegts mpeg2dvd matroska webm
|
||||
BSFS = h264_mp4toannexb
|
||||
|
||||
LIBOGG = libogg-1.3.2
|
||||
LIBOGG_TB = $(LIBOGG).tar.gz
|
||||
LIBOGG_URL = http://downloads.xiph.org/releases/ogg/$(LIBOGG_TB)
|
||||
LIBOGG_SHA1 = df7f3977bbeda67306bc2a427257dd7375319d7d
|
||||
|
||||
LIBVORBIS = libvorbis-1.3.4
|
||||
LIBVORBIS_TB = $(LIBVORBIS).tar.gz
|
||||
LIBVORBIS_URL = http://downloads.xiph.org/releases/vorbis/$(LIBVORBIS_TB)
|
||||
LIBVORBIS_SHA1 = 1602716c187593ffe4302124535240cec2079df3
|
||||
|
||||
LIBX264 = x264-snapshot-20141218-2245
|
||||
LIBX264_TB = $(LIBX264).tar.bz2
|
||||
LIBX264_URL = http://ftp.via.ecp.fr/pub/videolan/x264/snapshots/$(LIBX264_TB)
|
||||
LIBX264_SHA1 = 24a3b20e2c49a112e40df9f64885cbd81250298a
|
||||
|
||||
LIBVPX = libvpx-v1.3.0
|
||||
LIBVPX_TB = $(LIBVPX).tar.bz2
|
||||
LIBVPX_URL = https://webm.googlecode.com/files/$(LIBVPX_TB)
|
||||
LIBVPX_SHA1 = 191b95817aede8c136cc3f3745fb1b8c50e6d5dc
|
||||
|
||||
YASM = yasm-1.3.0
|
||||
YASM_TB = $(YASM).tar.gz
|
||||
YASM_URL = http://www.tortall.net/projects/yasm/releases/$(YASM_TB)
|
||||
YASM_SHA1 = b7574e9f0826bedef975d64d3825f75fbaeef55e
|
||||
|
||||
.PHONY: build
|
||||
build: $(LIBAVDIR)/$(FFMPEG)/.tvh_build
|
||||
|
||||
#
|
||||
# YASM
|
||||
#
|
||||
|
||||
$(LIBAVDIR)/$(YASM)/.tvh_download:
|
||||
$(call DOWNLOAD,$(YASM_URL),$(LIBAVDIR)/$(YASM_TB),$(YASM_SHA1))
|
||||
$(call UNTAR,$(YASM_TB),z)
|
||||
@touch $@
|
||||
|
||||
$(LIBAVDIR)/$(YASM)/.tvh_build: \
|
||||
$(LIBAVDIR)/$(YASM)/.tvh_download
|
||||
cd $(LIBAVDIR)/$(YASM) && $(CONFIGURE) \
|
||||
--prefix=/ffmpeg
|
||||
DESTDIR=$(LIBAVDIR)/build \
|
||||
$(MAKE) -C $(LIBAVDIR)/$(YASM) install
|
||||
@touch $@
|
||||
|
||||
#
|
||||
# libogg & libvorbis
|
||||
#
|
||||
|
||||
$(LIBAVDIR)/$(LIBOGG)/.tvh_download:
|
||||
$(call DOWNLOAD,$(LIBOGG_URL),$(LIBAVDIR)/$(LIBOGG_TB),$(LIBOGG_SHA1))
|
||||
$(call UNTAR,$(LIBOGG_TB),z)
|
||||
@touch $@
|
||||
|
||||
$(LIBAVDIR)/$(LIBOGG)/.tvh_build: \
|
||||
$(LIBAVDIR)/$(YASM)/.tvh_build \
|
||||
$(LIBAVDIR)/$(LIBOGG)/.tvh_download
|
||||
cd $(LIBAVDIR)/$(LIBOGG) && $(CONFIGURE) \
|
||||
--prefix=/ffmpeg \
|
||||
--enable-static \
|
||||
--disable-shared
|
||||
DESTDIR=$(LIBAVDIR)/build \
|
||||
$(MAKE) -C $(LIBAVDIR)/$(LIBOGG) install
|
||||
@touch $@
|
||||
|
||||
$(LIBAVDIR)/$(LIBVORBIS)/.tvh_download: \
|
||||
$(LIBAVDIR)/$(LIBOGG)/.tvh_download
|
||||
$(call DOWNLOAD,$(LIBVORBIS_URL),$(LIBAVDIR)/$(LIBVORBIS_TB),$(LIBVORBIS_SHA1))
|
||||
$(call UNTAR,$(LIBVORBIS_TB),z)
|
||||
@touch $@
|
||||
|
||||
$(LIBAVDIR)/$(LIBVORBIS)/.tvh_build: \
|
||||
$(LIBAVDIR)/$(LIBVORBIS)/.tvh_download \
|
||||
$(LIBAVDIR)/$(YASM)/.tvh_build \
|
||||
$(LIBAVDIR)/$(LIBOGG)/.tvh_build
|
||||
cd $(LIBAVDIR)/$(LIBVORBIS) && $(CONFIGURE) \
|
||||
--prefix=/ffmpeg \
|
||||
--enable-static \
|
||||
--disable-shared \
|
||||
--with-ogg=$(LIBAVDIR)/build/ffmpeg
|
||||
DESTDIR=$(LIBAVDIR)/build \
|
||||
$(MAKE) -C $(LIBAVDIR)/$(LIBVORBIS) install
|
||||
@touch $@
|
||||
|
||||
#
|
||||
# libx264
|
||||
#
|
||||
|
||||
ifneq (yes,$(CONFIG_LIBFFMPEG_STATIC_X264))
|
||||
|
||||
$(LIBAVDIR)/$(LIBX264)/.tvh_download:
|
||||
@echo "***** LIBX264 STATIC BUILD IS DISABLED, USING INSTALLED PACKAGE *****"
|
||||
@mkdir -p $(LIBAVDIR)/$(LIBX264)
|
||||
@touch $@
|
||||
|
||||
$(LIBAVDIR)/$(LIBX264)/.tvh_build: $(LIBAVDIR)/$(LIBX264)/.tvh_download
|
||||
@touch $@
|
||||
|
||||
else
|
||||
|
||||
$(LIBAVDIR)/$(LIBX264)/.tvh_download:
|
||||
$(call DOWNLOAD,$(LIBX264_URL),$(LIBAVDIR)/$(LIBX264_TB),$(LIBX264_SHA1))
|
||||
#rm -rf $(LIBAVDIR)/x264-snapshot-*
|
||||
$(call UNTAR,$(LIBX264_TB),j)
|
||||
#{ ln -sf $$(basename $(LIBAVDIR)/x264-snapshot-*) $(LIBAVDIR)/$(LIBX264); }
|
||||
@touch $@
|
||||
|
||||
$(LIBAVDIR)/$(LIBX264)/.tvh_build: \
|
||||
$(LIBAVDIR)/$(LIBX264)/.tvh_download \
|
||||
$(LIBAVDIR)/$(YASM)/.tvh_build
|
||||
cd $(LIBAVDIR)/$(LIBX264) && $(CONFIGURE) \
|
||||
--prefix=/ffmpeg \
|
||||
--enable-static \
|
||||
--disable-shared \
|
||||
--disable-avs \
|
||||
--disable-swscale \
|
||||
--disable-lavf \
|
||||
--disable-ffms \
|
||||
--disable-gpac \
|
||||
--disable-lsmash
|
||||
DESTDIR=$(LIBAVDIR)/build \
|
||||
$(MAKE) -C $(LIBAVDIR)/$(LIBX264) install
|
||||
@touch $@
|
||||
|
||||
endif
|
||||
|
||||
#
|
||||
# libvpx (VP8)
|
||||
#
|
||||
|
||||
$(LIBAVDIR)/$(LIBVPX)/.tvh_download:
|
||||
@mkdir -p $(LIBAVDIR)
|
||||
$(call DOWNLOAD,$(LIBVPX_URL),$(LIBAVDIR)/$(LIBVPX_TB),$(LIBVPX_SHA1))
|
||||
$(call UNTAR,$(LIBVPX_TB),j)
|
||||
@touch $@
|
||||
|
||||
$(LIBAVDIR)/$(LIBVPX)/.tvh_build: \
|
||||
$(LIBAVDIR)/$(LIBVPX)/.tvh_download \
|
||||
$(LIBAVDIR)/$(YASM)/.tvh_build
|
||||
cd $(LIBAVDIR)/$(LIBVPX) && $(CONFIGURE) \
|
||||
--prefix=/ffmpeg \
|
||||
--enable-static \
|
||||
--disable-shared
|
||||
DIST_DIR=$(LIBAVDIR)/build/ffmpeg \
|
||||
$(MAKE) -C $(LIBAVDIR)/$(LIBVPX) install
|
||||
@touch $@
|
||||
|
||||
#
|
||||
# FFMPEG
|
||||
#
|
||||
|
||||
$(LIBAVDIR)/$(FFMPEG)/.tvh_download:
|
||||
@mkdir -p $(LIBAVDIR)/build
|
||||
$(call DOWNLOAD,$(FFMPEG_URL),$(LIBAVDIR)/$(FFMPEG_TB),$(FFMPEG_SHA1))
|
||||
$(call UNTAR,$(FFMPEG_TB),j)
|
||||
@touch $@
|
||||
|
||||
$(LIBAVDIR)/$(FFMPEG)/.tvh_build: \
|
||||
$(LIBAVDIR)/$(YASM)/.tvh_build \
|
||||
$(LIBAVDIR)/$(LIBVORBIS)/.tvh_build \
|
||||
$(LIBAVDIR)/$(LIBX264)/.tvh_build \
|
||||
$(LIBAVDIR)/$(LIBVPX)/.tvh_build \
|
||||
$(LIBAVDIR)/$(FFMPEG)/.tvh_download
|
||||
cd $(LIBAVDIR)/$(FFMPEG) && $(CONFIGURE) \
|
||||
--prefix=/ffmpeg \
|
||||
--disable-all \
|
||||
--enable-static \
|
||||
--disable-shared \
|
||||
--enable-gpl \
|
||||
--extra-cflags="$(ECFLAGS)" \
|
||||
--extra-libs="$(ELIBS)" \
|
||||
$(foreach extlib,$(EXTLIBS),--enable-$(extlib)) \
|
||||
$(foreach component,$(COMPONENTS),--enable-$(component)) \
|
||||
$(foreach decoder,$(DECODERS),--enable-decoder=$(decoder)) \
|
||||
$(foreach encoder,$(ENCODERS),--enable-encoder=$(encoder)) \
|
||||
$(foreach muxer,$(MUXERS),--enable-muxer=$(muxer)) \
|
||||
$(foreach bsf,$(BSFS),--enable-bsf=$(bsf))
|
||||
DESTDIR=$(LIBAVDIR)/build \
|
||||
$(MAKE) -C $(LIBAVDIR)/$(FFMPEG) install
|
||||
@touch $@
|
||||
|
||||
.PHONY: static_libav_clean
|
||||
static_libav_clean:
|
||||
@rm -rf $(LIBAVDIR)
|
|
@ -1,83 +0,0 @@
|
|||
#
|
||||
# HDhomerun library build
|
||||
# Copyright (C) 2014 Jaroslav Kysela
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
include $(dir $(lastword $(MAKEFILE_LIST))).config.mk
|
||||
|
||||
unexport CFLAGS
|
||||
unexport LDFLAGS
|
||||
|
||||
define DOWNLOAD
|
||||
@mkdir -p $(LIBHDHRDIR)/build
|
||||
if test -z "$${TVHEADEND_FILE_CACHE}"; then \
|
||||
wget --no-verbose -O $(2) $(1); \
|
||||
else \
|
||||
file=$$(basename $(2)); \
|
||||
cp "$$TVHEADEND_FILE_CACHE/$$(file)" $(2); \
|
||||
fi
|
||||
@{ \
|
||||
sum=$$(sha1sum $(2) | cut -d ' ' -f 1); \
|
||||
printf "SHA1SUM test '$${sum}' == '$(3)': "; \
|
||||
test "y$${sum}" = "y$(3)"; \
|
||||
}
|
||||
@echo "OK"
|
||||
endef
|
||||
|
||||
define UNTAR
|
||||
tar x -C $(LIBHDHRDIR) -$(2)f $(LIBHDHRDIR)/$(1)
|
||||
endef
|
||||
|
||||
LIBHDHRDIR = $(ROOTDIR)/libhdhomerun_static
|
||||
|
||||
export PATH := $(LIBHDHRDIR)/build/bin:$(PATH)
|
||||
|
||||
LIBHDHR = libhdhomerun_20150406
|
||||
LIBHDHR_TB = $(LIBHDHR).tgz
|
||||
LIBHDHR_URL = http://download.silicondust.com/hdhomerun/$(LIBHDHR_TB)
|
||||
LIBHDHR_SHA1 = f0d5da744d981a80becea6cc862b5e2519e1c3c6
|
||||
|
||||
.PHONY: build
|
||||
build: $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build
|
||||
|
||||
#
|
||||
# libhdhomerun
|
||||
#
|
||||
|
||||
-include $(LIBHDHRDIR)/$(LIBHDHR)/Makefile
|
||||
|
||||
OBJS = $(foreach file,$(LIBSRCS),$(LIBHDHRDIR)/$(LIBHDHR)/$(basename $(file)).o)
|
||||
|
||||
$(LIBHDHRDIR)/$(LIBHDHR)/%.o: $(LIBHDHRDIR)/$(LIBHDHR)/%.c
|
||||
$(CC) -MD -MP $(CFLAGS) -c -o $@ $<
|
||||
|
||||
$(LIBHDHRDIR)/$(LIBHDHR)/libhdhomerun.a: $(OBJS)
|
||||
$(AR) rcs $@ $^
|
||||
|
||||
$(LIBHDHRDIR)/$(LIBHDHR)/.tvh_download:
|
||||
$(call DOWNLOAD,$(LIBHDHR_URL),$(LIBHDHRDIR)/$(LIBHDHR_TB),$(LIBHDHR_SHA1))
|
||||
$(call UNTAR,$(LIBHDHR_TB),z)
|
||||
ln -sf libhdhomerun $(LIBHDHRDIR)/$(LIBHDHR)
|
||||
@touch $@
|
||||
|
||||
$(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build: \
|
||||
$(LIBHDHRDIR)/$(LIBHDHR)/.tvh_download
|
||||
$(MAKE) -f Makefile.hdhomerun $(LIBHDHRDIR)/$(LIBHDHR)/libhdhomerun.a
|
||||
@touch $@
|
||||
|
||||
.PHONY: static_libhdhr_clean
|
||||
static_libhdhr_clean:
|
||||
@rm -rf $(LIBHDHRDIR)
|
30
README
Normal file
|
@ -0,0 +1,30 @@
|
|||
Tvheadend TV streaming server
|
||||
=============================
|
||||
|
||||
(c) 2006 - 2012 Andreas Öman, et al.
|
||||
|
||||
|
||||
How to build for Linux
|
||||
======================
|
||||
|
||||
First you need to configure:
|
||||
|
||||
$ ./configure
|
||||
|
||||
If any dependencies are missing the configure script will complain or attempt
|
||||
to disable optional features.
|
||||
|
||||
$ make
|
||||
|
||||
Build the binary, after build the binary resides in 'build.linux/'.
|
||||
Thus, to start it, just type:
|
||||
|
||||
$ ./build.linux/tvheadend
|
||||
|
||||
Settings are stored in $HOME/.hts/tvheadend
|
||||
|
||||
Further information
|
||||
===================
|
||||
|
||||
For more information about building, including generating packages please
|
||||
visit https://www.lonelycoder.com/redmine/projects/tvheadend/wiki/Building
|
67
README.md
|
@ -1,67 +0,0 @@
|
|||
Tvheadend
|
||||
========================================
|
||||
(c) 2006 - 2015 Tvheadend Foundation CIC
|
||||
|
||||
|
||||
What it is
|
||||
----------
|
||||
|
||||
Tvheadend is a TV streaming server and digital video recorder.
|
||||
|
||||
It supports the following inputs:
|
||||
|
||||
* DVB-C(2)
|
||||
* DVB-T(2)
|
||||
* DVB-S(2)
|
||||
* ATSC
|
||||
* SAT>IP
|
||||
* HDHomeRun
|
||||
* IPTV
|
||||
* UDP
|
||||
* HTTP
|
||||
|
||||
It support the following outputs:
|
||||
|
||||
* HTTP
|
||||
* HTSP (own protocol)
|
||||
* SAT>IP
|
||||
|
||||
How to build for Linux
|
||||
----------------------
|
||||
|
||||
First you need to configure:
|
||||
|
||||
$ ./configure
|
||||
|
||||
If any dependencies are missing the configure script will complain or attempt
|
||||
to disable optional features.
|
||||
|
||||
Build the binary:
|
||||
|
||||
$ make
|
||||
|
||||
After build, the binary resides in `build.linux` directory.
|
||||
|
||||
Thus, to start it, just type:
|
||||
|
||||
$ ./build.linux/tvheadend
|
||||
|
||||
Settings are stored in `$HOME/.hts/tvheadend`.
|
||||
|
||||
How to build for OS X
|
||||
---------------------
|
||||
|
||||
Same build procedure applies to OS X.
|
||||
After build, the binary resides in `build.darwin` directory.
|
||||
|
||||
Only network sources (IPTV, SAT>IP) are supported on OS X.
|
||||
There is no support for DVB USB sticks and PCI cards.
|
||||
Transcoding is currently not supported.
|
||||
|
||||
Further information
|
||||
-------------------
|
||||
|
||||
For more information about building, including generating packages, please visit:
|
||||
> https://tvheadend.org/projects/tvheadend/wiki/Building
|
||||
> https://tvheadend.org/projects/tvheadend/wiki/Packaging
|
||||
> https://tvheadend.org/projects/tvheadend/wiki/Git
|
459
configure
vendored
|
@ -9,8 +9,7 @@
|
|||
# Setup
|
||||
# ###########################################################################
|
||||
|
||||
ROOTDIR=$(cd "$(dirname "$0")"; pwd)
|
||||
test -z "$PKG_CONFIG" && PKG_CONFIG=pkg-config
|
||||
ROOTDIR=$(dirname $0)
|
||||
|
||||
#
|
||||
# Options
|
||||
|
@ -18,278 +17,51 @@ test -z "$PKG_CONFIG" && PKG_CONFIG=pkg-config
|
|||
|
||||
OPTIONS=(
|
||||
"cwc:yes"
|
||||
"capmt:yes"
|
||||
"constcw:yes"
|
||||
"v4l:yes"
|
||||
"linuxdvb:yes"
|
||||
"satip_server:yes"
|
||||
"satip_client:yes"
|
||||
"hdhomerun_client:auto"
|
||||
"hdhomerun_static:no"
|
||||
"iptv:yes"
|
||||
"tsfile:yes"
|
||||
"dvbscan:yes"
|
||||
"timeshift:yes"
|
||||
"trace:yes"
|
||||
"imagecache:auto"
|
||||
"avahi:auto"
|
||||
"zlib:auto"
|
||||
"libav:auto"
|
||||
"libffmpeg_static:no"
|
||||
"libffmpeg_static_x264:yes"
|
||||
"inotify:auto"
|
||||
"epoll:auto"
|
||||
"uriparser:auto"
|
||||
"ccache:auto"
|
||||
"tvhcsa:auto"
|
||||
"bundle:no"
|
||||
"dvbcsa:no"
|
||||
"dvben50221:auto"
|
||||
"kqueue:no"
|
||||
"dbus_1:auto"
|
||||
"android:no"
|
||||
"tsdebug:no"
|
||||
"gtimer_check:no"
|
||||
)
|
||||
|
||||
#
|
||||
# Begin
|
||||
#
|
||||
|
||||
. "$ROOTDIR/support/configure.inc"
|
||||
|
||||
# ###########################################################################
|
||||
# Parse arguments
|
||||
# ###########################################################################
|
||||
opt=
|
||||
val=
|
||||
for opt do
|
||||
val=${opt#*=}
|
||||
opt=${opt%=*}
|
||||
opt=${opt#*--}
|
||||
case "$opt" in
|
||||
help)
|
||||
show_help
|
||||
;;
|
||||
*dir|prefix)
|
||||
eval "$opt=$val"
|
||||
;;
|
||||
cc|cflags|ldflags|arch|cpu|platform|python)
|
||||
eval "$(toupper $opt)=\"$val\""
|
||||
;;
|
||||
enable-*)
|
||||
opt=${opt#*-}
|
||||
enable $opt 1
|
||||
;;
|
||||
disable-*)
|
||||
opt=${opt#*-}
|
||||
disable $opt 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
. $ROOTDIR/support/configure.inc
|
||||
parse_args $*
|
||||
|
||||
# ###########################################################################
|
||||
# Checks
|
||||
# ###########################################################################
|
||||
|
||||
echo "Checking support/features"
|
||||
|
||||
#
|
||||
# Compiler
|
||||
#
|
||||
|
||||
# Use ccache
|
||||
if enabled_or_auto ccache; then
|
||||
which ccache &> /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "$CC" | grep -q ccache || CC="ccache $CC"
|
||||
enable ccache
|
||||
elif enabled ccache; then
|
||||
die "ccache not found, try --disable-ccache"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Valiate compiler
|
||||
check_cc || die 'No C compiler found'
|
||||
check_cc_header execinfo
|
||||
check_cc_option mmx
|
||||
check_cc_option sse2
|
||||
|
||||
if check_cc '
|
||||
#if !defined(__clang__)
|
||||
#error this is not clang
|
||||
#endif
|
||||
'; then
|
||||
COMPILER=clang
|
||||
else
|
||||
COMPILER=gcc
|
||||
fi
|
||||
|
||||
check_cc_snippet getloadavg '#include <stdlib.h>
|
||||
void test() { getloadavg(NULL,0); }'
|
||||
|
||||
check_cc_snippet atomic64 '#include <stdint.h>
|
||||
uint64_t test(uint64_t *ptr){
|
||||
return __sync_fetch_and_add(ptr, 1);
|
||||
}'
|
||||
|
||||
check_cc_snippet lockowner '
|
||||
#include <sys/syscall.h>
|
||||
#include <unistd.h>
|
||||
#include <pthread.h>
|
||||
#define TEST test
|
||||
int ok = 1;
|
||||
void *lockowner ( void *p)
|
||||
{
|
||||
pthread_mutex_t lock;
|
||||
pthread_mutex_init(&lock, NULL);
|
||||
pthread_mutex_lock(&lock);
|
||||
if (lock.__data.__owner == syscall(SYS_gettid))
|
||||
ok = 0;
|
||||
return NULL;
|
||||
}
|
||||
int test ( void )
|
||||
{
|
||||
pthread_t tid;
|
||||
pthread_create(&tid, NULL, lockowner, NULL);
|
||||
pthread_join(tid, NULL);
|
||||
return ok;
|
||||
}' -lpthread
|
||||
|
||||
check_cc_snippet qsort_r '
|
||||
#include <stdlib.h>
|
||||
#define TEST test
|
||||
int test(void)
|
||||
{
|
||||
qsort_r(NULL, 0, 0, NULL, NULL);
|
||||
return 0;
|
||||
}
|
||||
'
|
||||
|
||||
check_cc_snippet stime '
|
||||
#include <time.h>
|
||||
#define TEST test
|
||||
int test(void)
|
||||
{
|
||||
time_t t = 1;
|
||||
stime(&t);
|
||||
return 0;
|
||||
}
|
||||
'
|
||||
|
||||
check_cc_snippet recvmmsg '
|
||||
#define _GNU_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <sys/socket.h>
|
||||
#define TEST test
|
||||
int test(void)
|
||||
{
|
||||
recvmmsg(0, NULL, 0, 0, NULL);
|
||||
return 0;
|
||||
}
|
||||
'
|
||||
|
||||
check_cc_snippet sendmmsg '
|
||||
#define _GNU_SOURCE
|
||||
#include <stdlib.h>
|
||||
#include <sys/socket.h>
|
||||
#define TEST test
|
||||
int test(void)
|
||||
{
|
||||
sendmmsg(0, NULL, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
'
|
||||
|
||||
check_cc_snippet libiconv '
|
||||
#include <iconv.h>
|
||||
int test(void)
|
||||
{
|
||||
iconv_t ic = iconv_open("ASCII", "ASCII");
|
||||
return 0;
|
||||
}
|
||||
' -liconv
|
||||
|
||||
if enabled_or_auto dvben50221; then
|
||||
check_cc_snippet libdvben50221 '
|
||||
#include <libdvben50221/en50221_session.h>
|
||||
#define TEST test
|
||||
int test(void)
|
||||
{
|
||||
struct en50221_transport_layer *tl = en50221_tl_create(5, 32);
|
||||
return 0;
|
||||
}
|
||||
' '-ldvben50221 -ldvbapi -lucsi'
|
||||
if enabled libdvben50221; then
|
||||
enable dvben50221
|
||||
else
|
||||
disable dvben50221
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Python
|
||||
#
|
||||
check_py || echo 'WARN: no python binary found'
|
||||
check_py_import gzip
|
||||
|
||||
#
|
||||
# Binaries
|
||||
#
|
||||
check_bin bzip2 || echo 'WARN: no bzip2 binary found'
|
||||
check_py_import gzip pygzip
|
||||
|
||||
#
|
||||
# SSL
|
||||
#
|
||||
if [ ${PLATFORM} = "freebsd" ]; then
|
||||
# FreeBSD has libssl in base
|
||||
enable ssl
|
||||
elif check_pkg openssl || check_pkg libssl; then
|
||||
enable ssl
|
||||
elif check_cc_header 'openssl/ssl' ssl; then
|
||||
if check_pkg openssl || check_pkg libssl; then
|
||||
enable ssl
|
||||
else
|
||||
die "SSL development support not found"
|
||||
fi
|
||||
|
||||
#
|
||||
# OS X
|
||||
#
|
||||
if [ ${PLATFORM} = "darwin" ]; then
|
||||
disable linuxdvb
|
||||
disable avahi
|
||||
enable bonjour
|
||||
fi
|
||||
|
||||
#
|
||||
# DVB API
|
||||
#
|
||||
check_cc_header 'linux/dvb/version' linuxdvbapi
|
||||
if enabled_or_auto linuxdvb; then
|
||||
if enabled linuxdvbapi; then
|
||||
enable linuxdvb
|
||||
elif enabled linuxdvb; then
|
||||
die "Linux DVB API not found (use --disable-linuxdvb)"
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# HDHomeRun - libhdhomerun
|
||||
#
|
||||
if enabled hdhomerun_static; then
|
||||
|
||||
enable hdhomerun_client
|
||||
|
||||
else
|
||||
|
||||
if enabled_or_auto hdhomerun_client; then
|
||||
if check_cc_header 'libhdhomerun/hdhomerun' libhdhomerun; then
|
||||
enable hdhomerun_client
|
||||
LDFLAGS="$LDFLAGS -lhdhomerun"
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
#
|
||||
# Gzip
|
||||
#
|
||||
|
@ -301,36 +73,11 @@ if enabled_or_auto zlib; then
|
|||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# SAT>IP server
|
||||
#
|
||||
if enabled_or_auto satip_server; then
|
||||
enable upnp
|
||||
fi
|
||||
|
||||
#
|
||||
# SAT>IP client
|
||||
#
|
||||
if enabled_or_auto satip_client; then
|
||||
enable upnp
|
||||
fi
|
||||
|
||||
#
|
||||
# uriparser
|
||||
#
|
||||
if enabled_or_auto uriparser; then
|
||||
if check_pkg liburiparser; then
|
||||
enable uriparser
|
||||
elif enabled uriparser; then
|
||||
die "liburiparser development support not found (use --disable-uriparser)"
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Bundling
|
||||
#
|
||||
if enabled bundle; then
|
||||
if enabled zlib && ! enabled py_gzip; then
|
||||
if enabled zlib && ! enabled pygzip; then
|
||||
die "Python gzip module not found (use --disable-zlib or --disable-bundle)"
|
||||
fi
|
||||
fi
|
||||
|
@ -346,204 +93,24 @@ if enabled_or_auto avahi; then
|
|||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# libav
|
||||
#
|
||||
if enabled libffmpeg_static; then
|
||||
|
||||
enable libav
|
||||
has_libav=true
|
||||
|
||||
else
|
||||
|
||||
if enabled_or_auto libav; then
|
||||
has_libav=true
|
||||
|
||||
ffmpeg=$(${PKG_CONFIG} --modversion libavcodec | cut -d '.' -f 3)
|
||||
test -z "$ffmpeg" && ffmpeg=0
|
||||
printf "$TAB" "checking for ffmpeg libraries ..."
|
||||
if test $ffmpeg -lt 100; then
|
||||
ffmpeg=
|
||||
echo "fail"
|
||||
else
|
||||
ffmpeg=yes
|
||||
echo "ok"
|
||||
fi
|
||||
|
||||
if test "$ffmpeg" == "yes"; then
|
||||
|
||||
#
|
||||
# check for version n1.2+
|
||||
#
|
||||
if $has_libav && ! check_pkg libavcodec ">=55.18.102"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
if $has_libav && ! check_pkg libavutil ">=52.38.100"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
if $has_libav && ! check_pkg libavformat ">=55.12.100"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
if $has_libav && ! check_pkg libswscale ">=2.3.100"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
if $has_libav && ! check_pkg libavresample ">=1.1.0"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
#
|
||||
# check for version v10+
|
||||
#
|
||||
|
||||
if $has_libav && ! check_pkg libavcodec ">=55.34.1"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
if $has_libav && ! check_pkg libavutil ">=53.3.0"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
if $has_libav && ! check_pkg libavformat ">=55.12.0"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
if $has_libav && ! check_pkg libswscale ">=2.1.2"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
if $has_libav && ! check_pkg libavresample ">=1.1.0"; then
|
||||
has_libav=false
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
if $has_libav; then
|
||||
enable libav
|
||||
else
|
||||
echo "WARNING: none or old libav or libffmpeg libraries were detected"
|
||||
echo " * use --disable-libav or --enable-libffmpeg_static"
|
||||
echo " ** supported ffmpeg libs n1.2+"
|
||||
echo " ** supported libav libs v10+"
|
||||
if enabled libav; then
|
||||
die "libav development support not found"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
#
|
||||
# Inotify
|
||||
#
|
||||
if enabled_or_auto inotify; then
|
||||
if check_cc_header "sys/inotify" inotify_h; then
|
||||
enable inotify
|
||||
elif enabled inotify; then
|
||||
die "Inotify support not found (use --disable-inotify)"
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# libdvbcsa, tvhcsa
|
||||
#
|
||||
if enabled cwc || enabled capmt || enabled constcw; then
|
||||
enable tvhcsa
|
||||
if enabled dvbcsa; then
|
||||
(check_cc_header "dvbcsa/dvbcsa" dvbcsa_h &&\
|
||||
check_cc_lib dvbcsa dvbcsa_l) ||\
|
||||
die "Failed to find dvbcsa support (use --disable-dvbcsa)"
|
||||
LDFLAGS="$LDFLAGS -ldvbcsa"
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# libdvben50221
|
||||
#
|
||||
if enabled libdvben50221; then
|
||||
LDFLAGS="$LDFLAGS -ldvben50221 -ldvbapi -lucsi"
|
||||
enable linuxdvb_ca
|
||||
fi
|
||||
|
||||
#
|
||||
# Icon caching
|
||||
#
|
||||
if enabled_or_auto imagecache; then
|
||||
enable imagecache
|
||||
fi
|
||||
|
||||
#
|
||||
# DVB scan
|
||||
#
|
||||
if enabled dvbscan; then
|
||||
printf "${TAB}" "fetching dvb-scan files ..."
|
||||
"${ROOTDIR}/support/getmuxlist"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "fail"
|
||||
die "Failed to fetch dvb-scan data (use --disable-dvbscan)"
|
||||
fi
|
||||
echo "ok"
|
||||
fi
|
||||
|
||||
#
|
||||
# epoll
|
||||
#
|
||||
if [ ${PLATFORM} = "linux" ]; then
|
||||
enable epoll
|
||||
fi
|
||||
|
||||
#
|
||||
# kqueue
|
||||
#
|
||||
if [ ${PLATFORM} = "freebsd" ] || [ ${PLATFORM} = "darwin" ]; then
|
||||
enable kqueue
|
||||
fi
|
||||
|
||||
#
|
||||
# MPEGTS support
|
||||
#
|
||||
disable mpegts
|
||||
disable mpegts_dvb
|
||||
if enabled linuxdvb || enabled iptv || enabled tsfile || enabled satip_client || \
|
||||
enabled hdhomerun_client || enabled satip_server;
|
||||
then
|
||||
enable mpegts
|
||||
fi
|
||||
if enabled linuxdvb || enabled satip_client || enabled hdhomerun_client || enabled satip_server; then
|
||||
enable mpegts_dvb
|
||||
fi
|
||||
|
||||
#
|
||||
# DBus
|
||||
#
|
||||
if enabled_or_auto dbus_1; then
|
||||
if check_pkg dbus-1; then
|
||||
enable dbus_1
|
||||
elif enabled dbus-1; then
|
||||
die "DBus-1 development support not found (use --disable-dbus-1)"
|
||||
if enabled linuxdvb && enabled dvbscan; then
|
||||
if [ ! -d ${ROOTDIR}/data/dvb-scan ]; then
|
||||
echo -n "Fetching dvb-scan files... "
|
||||
${ROOTDIR}/support/getmuxlist &> /dev/null || die "Failed to fetch dvb-scan files (use --disable-dvbscan to skip)"
|
||||
echo "done"
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# TSDebug
|
||||
#
|
||||
if enabled_or_auto tsdebug; then
|
||||
enable mpegts_dvb
|
||||
fi
|
||||
|
||||
|
||||
# ###########################################################################
|
||||
# Write config
|
||||
# ###########################################################################
|
||||
|
||||
# Write config
|
||||
write_config
|
||||
cat >> "${CONFIG_H}" <<EOF
|
||||
cat >> ${CONFIG_H} <<EOF
|
||||
#define TVHEADEND_DATADIR "$(eval echo ${datadir})/tvheadend"
|
||||
EOF
|
||||
|
||||
|
|
128
contrib/redhat/tvheadend
Executable file
|
@ -0,0 +1,128 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# tvheadend Start/Stop the hts tvheadend daemon.
|
||||
#
|
||||
# chkconfig: 345 90 60
|
||||
# description: Tvheadend is a TV streaming server for Linux supporting
|
||||
# DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video
|
||||
# (V4L) as input sources. It also comes with a powerful and
|
||||
# easy to use web interface both used for configuration and
|
||||
# day-to-day operations, such as searching the EPG and
|
||||
# scheduling recordings.
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: tvheadend
|
||||
# Required-Start: $local_fs $syslog
|
||||
# Required-Stop: $local_fs $syslog
|
||||
# Default-Start: 345
|
||||
# Default-Stop: 90
|
||||
# Short-Description: run tvheadend daemon
|
||||
# Description: Tvheadend is a TV streaming server for Linux supporting
|
||||
# DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video
|
||||
# (V4L) as input sources. It also comes with a powerful and
|
||||
# easy to use web interface both used for configuration and
|
||||
# day-to-day operations, such as searching the EPG and
|
||||
# scheduling recordings.
|
||||
### END INIT INFO
|
||||
|
||||
[ -f /etc/sysconfig/tvheadend ] || {
|
||||
[ "$1" = "status" ] && exit 4 || exit 6
|
||||
}
|
||||
|
||||
RETVAL=0
|
||||
prog="tvheadend"
|
||||
exec=/usr/local/bin/tvheadend
|
||||
lockfile=/var/lock/subsys/tvheadend
|
||||
sysconfig=/etc/sysconfig/tvheadend
|
||||
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
||||
|
||||
start() {
|
||||
[ -x $exec ] || exit 5
|
||||
[ -f $sysconfig ] || exit 6
|
||||
echo -n $"Starting $prog: "
|
||||
daemon $exec $OPTIONS
|
||||
retval=$?
|
||||
echo
|
||||
[ $retval -eq 0 ] && touch $lockfile
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping $prog: "
|
||||
if [ -n "`pidfileofproc $exec`" ]; then
|
||||
killproc $exec
|
||||
RETVAL=3
|
||||
else
|
||||
failure $"Stopping $prog"
|
||||
fi
|
||||
retval=$?
|
||||
echo
|
||||
[ $retval -eq 0 ] && rm -f $lockfile
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
reload() {
|
||||
echo -n $"Reloading $prog: "
|
||||
if [ -n "`pidfileofproc $exec`" ]; then
|
||||
killproc $exec -HUP
|
||||
else
|
||||
failure $"Reloading $prog"
|
||||
fi
|
||||
retval=$?
|
||||
echo
|
||||
}
|
||||
|
||||
force_reload() {
|
||||
# new configuration takes effect after restart
|
||||
restart
|
||||
}
|
||||
|
||||
rh_status() {
|
||||
# run checks to determine if the service is running or use generic status
|
||||
status -p /var/run/tvheadend.pid $prog
|
||||
}
|
||||
|
||||
rh_status_q() {
|
||||
rh_status >/dev/null 2>&1
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
rh_status_q && exit 0
|
||||
$1
|
||||
;;
|
||||
stop)
|
||||
rh_status_q || exit 0
|
||||
$1
|
||||
;;
|
||||
restart)
|
||||
$1
|
||||
;;
|
||||
reload)
|
||||
rh_status_q || exit 7
|
||||
$1
|
||||
;;
|
||||
force-reload)
|
||||
force_reload
|
||||
;;
|
||||
status)
|
||||
rh_status
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
rh_status_q || exit 0
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
|
||||
exit 2
|
||||
esac
|
||||
exit $?
|
||||
|
75
contrib/redhat/tvheadend.spec
Normal file
|
@ -0,0 +1,75 @@
|
|||
Name: tvheadend
|
||||
Summary: TV streaming server
|
||||
Version: 2.12.cae47cf
|
||||
Release: 1%{dist}
|
||||
License: GPL
|
||||
Group: Applications/Multimedia
|
||||
URL: http://www.lonelycoder.com/tvheadend
|
||||
Packager: Jouk Hettema
|
||||
Source: tvheadend-%{version}.tar.bz2
|
||||
Prefix: /usr
|
||||
BuildRequires: avahi-devel, openssl, glibc, zlib
|
||||
|
||||
%description
|
||||
Tvheadend is a TV streaming server for Linux supporting DVB-S, DVB-S2,
|
||||
DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
%configure --release --prefix=%{prefix}/bin
|
||||
%{__make}
|
||||
|
||||
%install
|
||||
%{__rm} -rf %{buildroot}
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/%{prefix}
|
||||
|
||||
%{__install} -d -m0755 %{buildroot}%{prefix}/bin
|
||||
%{__install} -d -m0755 %{buildroot}/etc/tvheadend
|
||||
%{__install} -d -m0755 %{buildroot}/etc/sysconfig
|
||||
%{__install} -d -m0755 %{buildroot}/etc/rc.d/init.d
|
||||
%{__install} -d -m0755 %{buildroot}%{prefix}/shared/man/man1
|
||||
|
||||
%{__install} -m0755 build.Linux/tvheadend %{buildroot}%{prefix}/bin/
|
||||
%{__install} -m0755 man/tvheadend.1 %{buildroot}%{prefix}/shared/man/man1
|
||||
%{__install} -m0755 contrib/redhat/tvheadend %{buildroot}/etc/rc.d/init.d
|
||||
|
||||
cat >> %{buildroot}/etc/sysconfig/tvheadend << EOF
|
||||
OPTIONS="-f -u tvheadend -g tvheadend -c /etc/tvheadend -s -C"
|
||||
EOF
|
||||
|
||||
%pre
|
||||
groupadd -f -r tvheadend >/dev/null 2>&! || :
|
||||
useradd -s /sbin/nologin -c "Tvheadend" -M -r tvheadend -g tvheadend -G video >/dev/null 2>&! || :
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/service tvheadend stop >/dev/null 2>&1
|
||||
/sbin/chkconfig --del tvheadend
|
||||
fi
|
||||
|
||||
%post
|
||||
/sbin/chkconfig --add tvheadend
|
||||
|
||||
if [ "$1" -ge "1" ]; then
|
||||
/sbin/service tvheadend condrestart >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%clean
|
||||
%{__rm} -rf %{buildroot}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc debian/changelog LICENSE README
|
||||
%dir %attr(-,tvheadend,root) %{prefix}
|
||||
%{prefix}/bin/tvheadend
|
||||
%{prefix}/shared/man/man1/tvheadend.1*
|
||||
%{_sysconfdir}/rc.d/init.d/tvheadend
|
||||
/etc/tvheadend
|
||||
%config /etc/sysconfig/tvheadend
|
||||
|
||||
%changelog
|
||||
* Fri Feb 18 2011 Jouk Hettema <joukio@gmail.com> - 2.12.cae47cf
|
||||
- initial build for fedora 14
|
415
data/conf/charset
Normal file
|
@ -0,0 +1,415 @@
|
|||
[
|
||||
{
|
||||
"tsid": 200,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 13878,
|
||||
"description": "ESP2 NE Polish"
|
||||
},
|
||||
{
|
||||
"tsid": 200,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 13865,
|
||||
"description": "Hotbird Eutelsat (Eurosport)"
|
||||
},
|
||||
{
|
||||
"tsid": 300,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 15206,
|
||||
"description": "Animal Planet HD"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13020,
|
||||
"description": "Hotbird 13.0 Cyfra+ Canal+ HD Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13022,
|
||||
"description": "Hotbird 13.0 Cyfra+ Canal+ Sport HD Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13023,
|
||||
"description": "Hotbird 13.0 Cyfra+ National Geographic HD Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13025,
|
||||
"description": "Hotbird 13.0 Cyfra+ Filmbox HD"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13026,
|
||||
"description": "Hotbird 13.0 Cyfra+ AXN Spin HD"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13027,
|
||||
"description": "Hotbird 13.0 Cyfra+ TVN 7 HD"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13070,
|
||||
"description": "Hotbird 13.0 Cyfra+ ESP HD PL"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13081,
|
||||
"description": "EUROSPORT HD"
|
||||
},
|
||||
{
|
||||
"tsid": 400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 13082,
|
||||
"description": "EUROSPORT HD"
|
||||
},
|
||||
{
|
||||
"tsid": 1000,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 4314,
|
||||
"description": "nSport"
|
||||
},
|
||||
{
|
||||
"tsid": 1000,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Grupa ITI"
|
||||
},
|
||||
{
|
||||
"tsid": 1100,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfra+"
|
||||
},
|
||||
{
|
||||
"tsid": 1500,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 5110,
|
||||
"description": "TV Info"
|
||||
},
|
||||
{
|
||||
"tsid": 1500,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 5108,
|
||||
"description": "Fox Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 1500,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 5102,
|
||||
"description": "TVS"
|
||||
},
|
||||
{
|
||||
"tsid": 1500,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 5122,
|
||||
"description": "Animal Planet Poland"
|
||||
},
|
||||
{
|
||||
"tsid": 1500,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfra+"
|
||||
},
|
||||
{
|
||||
"tsid": 1600,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 EskaTV, TVN"
|
||||
},
|
||||
{
|
||||
"tsid": 1800,
|
||||
"onid": 200,
|
||||
"charset": "ISO6937",
|
||||
"sid": 3623,
|
||||
"description": "Hotbird 13.0 Polo TV"
|
||||
},
|
||||
{
|
||||
"tsid": 7400,
|
||||
"onid": 113,
|
||||
"charset": "ISO6937",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfrowy Polsat"
|
||||
},
|
||||
{
|
||||
"tsid": 7800,
|
||||
"onid": 113,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfrowy Polsat"
|
||||
},
|
||||
{
|
||||
"tsid": 7900,
|
||||
"onid": 113,
|
||||
"charset": "ISO6937",
|
||||
"sid": 10510,
|
||||
"description": "TV6 Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 7900,
|
||||
"onid": 113,
|
||||
"charset": "ISO6937",
|
||||
"sid": 10508,
|
||||
"description": "Hotbird 13.0 Cyfrowy Polsat Jim Jam"
|
||||
},
|
||||
{
|
||||
"tsid": 7900,
|
||||
"onid": 113,
|
||||
"charset": "ISO6937",
|
||||
"sid": 10521,
|
||||
"description": "SuperStacja"
|
||||
},
|
||||
{
|
||||
"tsid": 7900,
|
||||
"onid": 113,
|
||||
"charset": "ISO6937",
|
||||
"sid": 10520,
|
||||
"description": "Travel Channel"
|
||||
},
|
||||
{
|
||||
"tsid": 7900,
|
||||
"onid": 113,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfrowy Polsat"
|
||||
},
|
||||
{
|
||||
"tsid": 8100,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 14911,
|
||||
"description": "UNIVERSAL POL"
|
||||
},
|
||||
{
|
||||
"tsid": 8100,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 14910,
|
||||
"description": "Sport Klub POL"
|
||||
},
|
||||
{
|
||||
"tsid": 8100,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Eutelsat (Universal)"
|
||||
},
|
||||
{
|
||||
"tsid": 11000,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfra+"
|
||||
},
|
||||
{
|
||||
"tsid": 11400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 15716,
|
||||
"description": "Discovery Channel Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 11400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 15701,
|
||||
"description": "Discovery Science Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 11400,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 15703,
|
||||
"description": "Discovery World Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 11400,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfra+"
|
||||
},
|
||||
{
|
||||
"tsid": 11600,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 3514,
|
||||
"description": "Disney XD Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 11600,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 BBC HD, ITI"
|
||||
},
|
||||
{
|
||||
"tsid": 11900,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfra+"
|
||||
},
|
||||
{
|
||||
"tsid": 12200,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Disney Channel Polska, TCM and other"
|
||||
},
|
||||
{
|
||||
"tsid": 12800,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 24,
|
||||
"description": "CC Family."
|
||||
},
|
||||
{
|
||||
"tsid": 12800,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 6,
|
||||
"description": "Viacom Blink!"
|
||||
},
|
||||
{
|
||||
"tsid": 12800,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 22,
|
||||
"description": "MTV Polska."
|
||||
},
|
||||
{
|
||||
"tsid": 12800,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 30,
|
||||
"description": "Comedy Central Polska."
|
||||
},
|
||||
{
|
||||
"tsid": 12800,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 25,
|
||||
"description": "VIVA Polska."
|
||||
},
|
||||
{
|
||||
"tsid": 12800,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Viacom ... MTV / VH1 Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 13000,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 14612,
|
||||
"description": "Investigation Discovery Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 13000,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 14613,
|
||||
"description": "TLC Polska"
|
||||
},
|
||||
{
|
||||
"tsid": 13000,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 14602,
|
||||
"description": "BBC Entertainment Poland"
|
||||
},
|
||||
{
|
||||
"tsid": 13000,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 14603,
|
||||
"description": "BBC Knowledge Poland"
|
||||
},
|
||||
{
|
||||
"tsid": 13000,
|
||||
"onid": 318,
|
||||
"charset": "ISO8859-2",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 BBC Polska, TLC and other"
|
||||
},
|
||||
{
|
||||
"tsid": 13100,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 7322,
|
||||
"description": "TV5 Monde Europe"
|
||||
},
|
||||
{
|
||||
"tsid": 13100,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 7324,
|
||||
"description": "Hotbird 13.0 Crime and Investigation"
|
||||
},
|
||||
{
|
||||
"tsid": 13200,
|
||||
"onid": 113,
|
||||
"charset": "ISO88959-2",
|
||||
"sid": 13104,
|
||||
"description": "Polsat Sport"
|
||||
},
|
||||
{
|
||||
"tsid": 13200,
|
||||
"onid": 113,
|
||||
"charset": "ISO88959-2",
|
||||
"sid": 13105,
|
||||
"description": "Polsat Sport Extra"
|
||||
},
|
||||
{
|
||||
"tsid": 13200,
|
||||
"onid": 113,
|
||||
"charset": "ISO88959-2",
|
||||
"sid": 13107,
|
||||
"description": "TV Biznes"
|
||||
},
|
||||
{
|
||||
"tsid": 13200,
|
||||
"onid": 113,
|
||||
"charset": "ISO6937",
|
||||
"sid": 0,
|
||||
"description": "Hotbird 13.0 Cyfrowy Polsat"
|
||||
},
|
||||
{
|
||||
"tsid": 15700,
|
||||
"onid": 318,
|
||||
"charset": "ISO6937",
|
||||
"sid": 10626,
|
||||
"description": "Hotbird 13.0 Disco TV"
|
||||
}
|
||||
]
|
|
@ -1,258 +0,0 @@
|
|||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
32,
|
||||
32,
|
||||
32,
|
||||
32,
|
||||
32,
|
||||
32,
|
||||
32,
|
||||
32,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
81,
|
||||
48,
|
||||
48,
|
||||
80,
|
||||
51,
|
||||
48,
|
||||
80,
|
||||
48,
|
||||
0,
|
||||
48,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
18,
|
||||
18,
|
||||
22,
|
||||
19,
|
||||
20,
|
||||
17,
|
||||
16,
|
||||
16,
|
||||
96,
|
||||
0,
|
||||
96,
|
||||
0,
|
||||
96,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
67,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
73,
|
||||
64,
|
||||
64,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
|
@ -1,258 +0,0 @@
|
|||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
21,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
49,
|
||||
51,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
64,
|
||||
64,
|
||||
68,
|
||||
71,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
70,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
74,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
23,
|
||||
20,
|
||||
22,
|
||||
18,
|
||||
16,
|
||||
18,
|
||||
20,
|
||||
19,
|
||||
18,
|
||||
16,
|
||||
18,
|
||||
18,
|
||||
16,
|
||||
17,
|
||||
16,
|
||||
16,
|
||||
16,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
96,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
0,
|
||||
48,
|
||||
48,
|
||||
24,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
|
@ -1,257 +0,0 @@
|
|||
[ 0, 0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
16,
|
||||
22,
|
||||
23,
|
||||
23,
|
||||
16,
|
||||
19,
|
||||
23,
|
||||
23,
|
||||
23,
|
||||
18,
|
||||
16,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
144,
|
||||
35,
|
||||
144,
|
||||
32,
|
||||
145,
|
||||
115,
|
||||
146,
|
||||
118,
|
||||
148,
|
||||
144,
|
||||
32,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
48,
|
||||
49,
|
||||
51,
|
||||
51,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
48,
|
||||
49,
|
||||
48,
|
||||
51,
|
||||
50,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
64,
|
||||
65,
|
||||
66,
|
||||
67,
|
||||
68,
|
||||
69,
|
||||
70,
|
||||
71,
|
||||
72,
|
||||
73,
|
||||
74,
|
||||
75,
|
||||
69,
|
||||
64,
|
||||
64,
|
||||
64,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
80,
|
||||
81,
|
||||
82,
|
||||
83,
|
||||
84,
|
||||
85,
|
||||
80,
|
||||
80,
|
||||
84,
|
||||
85,
|
||||
80,
|
||||
80,
|
||||
80,
|
||||
80,
|
||||
80,
|
||||
80,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
96,
|
||||
97,
|
||||
98,
|
||||
99,
|
||||
100,
|
||||
101,
|
||||
102,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
96,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
112,
|
||||
113,
|
||||
114,
|
||||
115,
|
||||
116,
|
||||
117,
|
||||
118,
|
||||
119,
|
||||
120,
|
||||
121,
|
||||
122,
|
||||
123,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
112,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
|
|
@ -1,11 +1,9 @@
|
|||
{
|
||||
"name": "Ausat",
|
||||
"dict": "skyeng",
|
||||
"genre": "ausat",
|
||||
"nid": 4096,
|
||||
"tsid": 17,
|
||||
"sid": 17008,
|
||||
"bouquetid": 0,
|
||||
"channel" : [
|
||||
17
|
||||
],
|
||||
|
@ -14,11 +12,5 @@
|
|||
],
|
||||
"summary": [
|
||||
64, 65, 66, 67, 68, 69, 70, 71
|
||||
],
|
||||
"season_num": [
|
||||
" *\\(S ?([0-9]+),? Ep? ?[0-9]+\\)"
|
||||
],
|
||||
"episode_num": [
|
||||
" *\\(S ?[0-9]+,? Ep? ?([0-9]+)\\)"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
{
|
||||
"name": "Sky Italia",
|
||||
"dict": "skyit",
|
||||
"genre": "skyit",
|
||||
"nid": 64511,
|
||||
"tsid": 5800,
|
||||
"sid": 3635,
|
||||
"bouquetid": 0,
|
||||
"channel" : [
|
||||
17
|
||||
],
|
||||
|
@ -14,35 +12,5 @@
|
|||
],
|
||||
"summary": [
|
||||
64, 65, 66, 67, 68, 69, 70, 71
|
||||
],
|
||||
"season_num": [
|
||||
"([0-9]+)'?a? Stagione +Ep\\. ?[0-9]+[a-z]?",
|
||||
"([0-9]+)'?a? Stagione -? ?Puntata ?[0-9]+",
|
||||
"([0-9]+)'?a? Stagione"
|
||||
],
|
||||
"episode_num": [
|
||||
"[0-9]+'?a? Stagione +Ep\\. ?([0-9]+)[a-z]?",
|
||||
"[0-9]+'?a? Stagione -? ?Puntata ?([0-9]+)",
|
||||
"^ *Ep\\. ?([0-9]+)[a-z]?",
|
||||
"^ *Puntata ?([0-9]+)"
|
||||
],
|
||||
"part_num": [
|
||||
"[0-9]+'?a? Stagione +Ep\\. ?[0-9]+([a-z]?)",
|
||||
"^ *Ep\\. ?[0-9]+([a-z]?)"
|
||||
],
|
||||
"subtitle": [
|
||||
"[0-9]+'?a? Stagione +Ep\\. ?[0-9]+[A-Za-z]? -? ?'(([^']*(' [^A-Z0-9-])?('[^ '])?)+)'",
|
||||
"Ep\\. ?[0-9]+[A-Za-z]? -? ?'(([^']*(' [^A-Z0-9-])?('[^ '])?)+)'",
|
||||
"[0-9]+'?a? Stagione -? ?'(([^']*(' [^A-Z0-9-])?('[^ '])?)+)'",
|
||||
"[0-9]+'?a? Stagione -? ?Puntata ?[0-9]+[A-Za-z]? \"\" *([^\"]+) *\"\""
|
||||
],
|
||||
"__reference": [
|
||||
"4' Stagione Ep.9B - 'L'Hub' Gli agenti ...: sara' Ward ...",
|
||||
"3a Stagione - Puntata 1 ...",
|
||||
"4' Stagione - 'Title' ...",
|
||||
"Ep.9A ...",
|
||||
"Puntata 5 ...",
|
||||
"Ep.4 - 'Title' ...",
|
||||
"7 Stagione Puntata 8 \"\" Title \"\" ..."
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
{
|
||||
"name": "Sky NZ",
|
||||
"dict": "skynz",
|
||||
"genre": "skynz",
|
||||
"nid": 169,
|
||||
"tsid": 3,
|
||||
"sid": 9003,
|
||||
"bouquetid": 0,
|
||||
"channel" : [
|
||||
17
|
||||
],
|
||||
"title": [
|
||||
48, 49, 50, 51, 52, 53, 54, 55
|
||||
],
|
||||
"summary": [
|
||||
64, 65, 66, 67, 68, 69, 70, 71
|
||||
],
|
||||
"season_num": [
|
||||
" *\\(S ?([0-9]+),? Ep? ?[0-9]+\\)"
|
||||
],
|
||||
"episode_num": [
|
||||
" *\\(S ?[0-9]+,? Ep? ?([0-9]+)\\)"
|
||||
]
|
||||
}
|
|
@ -5,7 +5,6 @@
|
|||
"nid": 2,
|
||||
"tsid": 2004,
|
||||
"sid": 4152,
|
||||
"bouquetid": 4101,
|
||||
"channel" : [
|
||||
17
|
||||
],
|
||||
|
@ -14,11 +13,5 @@
|
|||
],
|
||||
"summary": [
|
||||
64, 65, 66, 67, 68, 69, 70, 71
|
||||
],
|
||||
"season_num": [
|
||||
" *\\(S ?([0-9]+),? Ep? ?[0-9]+\\)"
|
||||
],
|
||||
"episode_num": [
|
||||
" *\\(S ?[0-9]+,? Ep? ?([0-9]+)\\)"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,155 +0,0 @@
|
|||
[
|
||||
{
|
||||
"name": "Canal Digitaal SD",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 900
|
||||
},
|
||||
{
|
||||
"name": "Canal Digitaal HD",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 901
|
||||
},
|
||||
{
|
||||
"name": "TV Vlaanderen SD",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 910
|
||||
},
|
||||
{
|
||||
"name": "TV Vlaanderen HD",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 911
|
||||
},
|
||||
{
|
||||
"name": "TéléSAT SD",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 920
|
||||
},
|
||||
{
|
||||
"name": "TéléSAT HD",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 921
|
||||
},
|
||||
{
|
||||
"name": "Mobistar NL Astra1",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 930
|
||||
},
|
||||
{
|
||||
"name": "Mobistar FR Astra1",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 940
|
||||
},
|
||||
{
|
||||
"name": "AustriaSat Astra1",
|
||||
"position": 192,
|
||||
"frequency": 12515000,
|
||||
"symbolrate" : 22000000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 950
|
||||
},
|
||||
{
|
||||
"name": "Canal Digitaal HD",
|
||||
"position": 235,
|
||||
"frequency": 12187000,
|
||||
"symbolrate" : 27500000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs2",
|
||||
"pid": 901
|
||||
},
|
||||
{
|
||||
"name": "TV Vlaanderen HD",
|
||||
"position": 235,
|
||||
"frequency": 12187000,
|
||||
"symbolrate" : 27500000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs2",
|
||||
"pid": 911
|
||||
},
|
||||
{
|
||||
"name": "TéléSAT HD",
|
||||
"position": 235,
|
||||
"frequency": 12187000,
|
||||
"symbolrate" : 27500000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs2",
|
||||
"pid": 921
|
||||
},
|
||||
{
|
||||
"name": "Mobistar NL Astra3",
|
||||
"position": 235,
|
||||
"frequency": 12187000,
|
||||
"symbolrate" : 27500000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs2",
|
||||
"pid": 930
|
||||
},
|
||||
{
|
||||
"name": "Mobistar FR Astra3",
|
||||
"position": 235,
|
||||
"frequency": 12187000,
|
||||
"symbolrate" : 27500000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs2",
|
||||
"pid": 940
|
||||
},
|
||||
{
|
||||
"name": "AustriaSat Astra3",
|
||||
"position": 235,
|
||||
"frequency": 12187000,
|
||||
"symbolrate" : 27500000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs2",
|
||||
"pid": 950
|
||||
},
|
||||
{
|
||||
"name": "Skylink: Czech Republic",
|
||||
"position": 235,
|
||||
"frequency": 12070000,
|
||||
"symbolrate" : 27500000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 30
|
||||
},
|
||||
{
|
||||
"name": "Skylink: Slovak Republic",
|
||||
"position": 235,
|
||||
"frequency": 12070000,
|
||||
"symbolrate" : 27500000,
|
||||
"polarisation" : "H",
|
||||
"delsys" : "dvbs",
|
||||
"pid": 31
|
||||
}
|
||||
]
|
|
@ -1,638 +0,0 @@
|
|||
[
|
||||
{
|
||||
"name": "NSS 9",
|
||||
"pos": -1770
|
||||
},
|
||||
{
|
||||
"name": "AMC 8",
|
||||
"pos": -1390
|
||||
},
|
||||
{
|
||||
"name": "AMC 7",
|
||||
"pos": -1370
|
||||
},
|
||||
{
|
||||
"name": "AMC 10",
|
||||
"pos": -1350
|
||||
},
|
||||
{
|
||||
"name": "Galaxy 15",
|
||||
"pos": -1330
|
||||
},
|
||||
{
|
||||
"name": "AMC 11",
|
||||
"pos": -1310
|
||||
},
|
||||
{
|
||||
"name": "Ciel 2/Galaxy 12",
|
||||
"pos": -1290
|
||||
},
|
||||
{
|
||||
"name": "Galaxy 13/Horizons 1",
|
||||
"pos": -1270
|
||||
},
|
||||
{
|
||||
"name": "AMC 21/Galaxy 14",
|
||||
"pos": -1250
|
||||
},
|
||||
{
|
||||
"name": "Galaxy 18",
|
||||
"pos": -1230
|
||||
},
|
||||
{
|
||||
"name": "EchoStar 9/Galaxy 23",
|
||||
"pos": -1210
|
||||
},
|
||||
{
|
||||
"name": "Anik F3/DirecTV 7S/EchoStar 14",
|
||||
"pos": -1190
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 117 West A",
|
||||
"pos": -1168
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 115 West A",
|
||||
"pos": -1149
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 113 West A",
|
||||
"pos": -1130
|
||||
},
|
||||
{
|
||||
"name": "Anik F2",
|
||||
"pos": -1111
|
||||
},
|
||||
{
|
||||
"name": "DirecTV 5/EchoStar 10/11",
|
||||
"pos": -1100
|
||||
},
|
||||
{
|
||||
"name": "Anik F1R/G1",
|
||||
"pos": -1073
|
||||
},
|
||||
{
|
||||
"name": "AMC 15/18",
|
||||
"pos": -1050
|
||||
},
|
||||
{
|
||||
"name": "AMC 1/SES 3/Spaceway 1 & DirecTV 10/12",
|
||||
"pos": -1030
|
||||
},
|
||||
{
|
||||
"name": "DirecTV 4S/8/SES 1",
|
||||
"pos": -1010
|
||||
},
|
||||
{
|
||||
"name": "DirecTV 14/Galaxy 16/Spaceway 2 & DirecTV 11",
|
||||
"pos": -992
|
||||
},
|
||||
{
|
||||
"name": "Galaxy 19",
|
||||
"pos": -970
|
||||
},
|
||||
{
|
||||
"name": "Galaxy 3C/Spaceway 3",
|
||||
"pos": -950
|
||||
},
|
||||
{
|
||||
"name": "Galaxy 25",
|
||||
"pos": -931
|
||||
},
|
||||
{
|
||||
"name": "Galaxy 17/Nimiq 6",
|
||||
"pos": -910
|
||||
},
|
||||
{
|
||||
"name": "Galaxy 28",
|
||||
"pos": -890
|
||||
},
|
||||
{
|
||||
"name": "TKSat 1",
|
||||
"pos": -872
|
||||
},
|
||||
{
|
||||
"name": "SES 2",
|
||||
"pos": -870
|
||||
},
|
||||
{
|
||||
"name": "AMC 16",
|
||||
"pos": -850
|
||||
},
|
||||
{
|
||||
"name": "Brasilsat B4",
|
||||
"pos": -840
|
||||
},
|
||||
{
|
||||
"name": "AMC 9",
|
||||
"pos": -830
|
||||
},
|
||||
{
|
||||
"name": "Nimiq 4",
|
||||
"pos": -820
|
||||
},
|
||||
{
|
||||
"name": "Simon Bolivar",
|
||||
"pos": -780
|
||||
},
|
||||
{
|
||||
"name": "EchoStar 8/QuetzSat 1",
|
||||
"pos": -770
|
||||
},
|
||||
{
|
||||
"name": "Star One C3",
|
||||
"pos": -750
|
||||
},
|
||||
{
|
||||
"name": "Nimiq 5",
|
||||
"pos": -727
|
||||
},
|
||||
{
|
||||
"name": "AMC 6",
|
||||
"pos": -720
|
||||
},
|
||||
{
|
||||
"name": "Star One C2",
|
||||
"pos": -700
|
||||
},
|
||||
{
|
||||
"name": "AMC 4",
|
||||
"pos": -670
|
||||
},
|
||||
{
|
||||
"name": "Star One C1",
|
||||
"pos": -650
|
||||
},
|
||||
{
|
||||
"name": "Telstar 14R",
|
||||
"pos": -630
|
||||
},
|
||||
{
|
||||
"name": "EchoStar 12/16",
|
||||
"pos": -615
|
||||
},
|
||||
{
|
||||
"name": "Amazonas 2/3/4A",
|
||||
"pos": -610
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 21",
|
||||
"pos": -580
|
||||
},
|
||||
{
|
||||
"name": "Amazonas 1/Galaxy 11/Intelsat 805",
|
||||
"pos": -555
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 23",
|
||||
"pos": -530
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 1R",
|
||||
"pos": -500
|
||||
},
|
||||
{
|
||||
"name": "NSS 806",
|
||||
"pos": -475
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 14",
|
||||
"pos": -450
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 9/11",
|
||||
"pos": -431
|
||||
},
|
||||
{
|
||||
"name": "SES 6",
|
||||
"pos": -405
|
||||
},
|
||||
{
|
||||
"name": "NSS 10/Telstar 11N",
|
||||
"pos": -375
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 903",
|
||||
"pos": -345
|
||||
},
|
||||
{
|
||||
"name": "Hylas 1",
|
||||
"pos": -335
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 25",
|
||||
"pos": -315
|
||||
},
|
||||
{
|
||||
"name": "Hispasat 1D/1E",
|
||||
"pos": -300
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 907",
|
||||
"pos": -275
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 905",
|
||||
"pos": -245
|
||||
},
|
||||
{
|
||||
"name": "SES 4",
|
||||
"pos": -220
|
||||
},
|
||||
{
|
||||
"name": "NSS 7",
|
||||
"pos": -200
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 901",
|
||||
"pos": -180
|
||||
},
|
||||
{
|
||||
"name": "Telstar 12",
|
||||
"pos": -150
|
||||
},
|
||||
{
|
||||
"name": "Express A4",
|
||||
"pos": -140
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 12 West A",
|
||||
"pos": -125
|
||||
},
|
||||
{
|
||||
"name": "Express AM44",
|
||||
"pos": -110
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 8 West A",
|
||||
"pos": -80
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 7 West A/Eutelsat 8 West C/Nilesat 102/201",
|
||||
"pos": -73
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 5 West A",
|
||||
"pos": -50
|
||||
},
|
||||
{
|
||||
"name": "Amos 2/3",
|
||||
"pos": -40
|
||||
},
|
||||
{
|
||||
"name": "Thor 5/6/Intelsat 10-02",
|
||||
"pos": -8
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 3B/Rascom QAF 1R",
|
||||
"pos": 31
|
||||
},
|
||||
{
|
||||
"name": "Astra 4A/SES 5",
|
||||
"pos": 49
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 7A/7B",
|
||||
"pos": 70
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 9A/Ka-Sat 9A",
|
||||
"pos": 90
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 10A",
|
||||
"pos": 100
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat Hot Bird 13B/13C/13D",
|
||||
"pos": 130
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 16A",
|
||||
"pos": 160
|
||||
},
|
||||
{
|
||||
"name": "Amos 5",
|
||||
"pos": 170
|
||||
},
|
||||
{
|
||||
"name": "Astra 1KR/1L/1M/1N",
|
||||
"pos": 192
|
||||
},
|
||||
{
|
||||
"name": "Arabsat 5C",
|
||||
"pos": 200
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 21B",
|
||||
"pos": 215
|
||||
},
|
||||
{
|
||||
"name": "Astra 3B",
|
||||
"pos": 235
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 25B/Es'hail 1",
|
||||
"pos": 255
|
||||
},
|
||||
{
|
||||
"name": "Badr 4/5/6",
|
||||
"pos": 260
|
||||
},
|
||||
{
|
||||
"name": "Astra 2A/2C/2E/2F/Eutelsat 28A",
|
||||
"pos": 282
|
||||
},
|
||||
{
|
||||
"name": "Arabsat 5A",
|
||||
"pos": 305
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 31A",
|
||||
"pos": 308
|
||||
},
|
||||
{
|
||||
"name": "Astra 5B",
|
||||
"pos": 315
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 33B/Intelsat 28",
|
||||
"pos": 330
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 36A/36B",
|
||||
"pos": 360
|
||||
},
|
||||
{
|
||||
"name": "Paksat 1R",
|
||||
"pos": 380
|
||||
},
|
||||
{
|
||||
"name": "Hellas Sat 2",
|
||||
"pos": 390
|
||||
},
|
||||
{
|
||||
"name": "Türksat 2A/3A/4A",
|
||||
"pos": 420
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 12",
|
||||
"pos": 450
|
||||
},
|
||||
{
|
||||
"name": "AzerSpace 1/Africasat 1a",
|
||||
"pos": 460
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 10",
|
||||
"pos": 475
|
||||
},
|
||||
{
|
||||
"name": "Afghansat 1",
|
||||
"pos": 480
|
||||
},
|
||||
{
|
||||
"name": "Yamal 202",
|
||||
"pos": 490
|
||||
},
|
||||
{
|
||||
"name": "NSS 5",
|
||||
"pos": 505
|
||||
},
|
||||
{
|
||||
"name": "Y1A",
|
||||
"pos": 525
|
||||
},
|
||||
{
|
||||
"name": "Express AM22",
|
||||
"pos": 530
|
||||
},
|
||||
{
|
||||
"name": "G-Sat 8/Yamal 402",
|
||||
"pos": 549
|
||||
},
|
||||
{
|
||||
"name": "Express AT1",
|
||||
"pos": 560
|
||||
},
|
||||
{
|
||||
"name": "NSS 12",
|
||||
"pos": 570
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 904",
|
||||
"pos": 600
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 902",
|
||||
"pos": 620
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 906",
|
||||
"pos": 642
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 17",
|
||||
"pos": 660
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 20",
|
||||
"pos": 685
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 70B",
|
||||
"pos": 705
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 22",
|
||||
"pos": 721
|
||||
},
|
||||
{
|
||||
"name": "Insat 3C/4CR",
|
||||
"pos": 740
|
||||
},
|
||||
{
|
||||
"name": "ABS 2",
|
||||
"pos": 750
|
||||
},
|
||||
{
|
||||
"name": "Apstar 7",
|
||||
"pos": 765
|
||||
},
|
||||
{
|
||||
"name": "Thaicom 5/6",
|
||||
"pos": 785
|
||||
},
|
||||
{
|
||||
"name": "G-Sat 10/Insat 4A",
|
||||
"pos": 830
|
||||
},
|
||||
{
|
||||
"name": "Horizons 2/Intelsat 15",
|
||||
"pos": 851
|
||||
},
|
||||
{
|
||||
"name": "KazSat 2",
|
||||
"pos": 865
|
||||
},
|
||||
{
|
||||
"name": "ChinaSat 12",
|
||||
"pos": 875
|
||||
},
|
||||
{
|
||||
"name": "ST 2",
|
||||
"pos": 880
|
||||
},
|
||||
{
|
||||
"name": "Yamal 300K/401",
|
||||
"pos": 900
|
||||
},
|
||||
{
|
||||
"name": "Measat 3/3a/3b",
|
||||
"pos": 915
|
||||
},
|
||||
{
|
||||
"name": "ChinaSat 9",
|
||||
"pos": 922
|
||||
},
|
||||
{
|
||||
"name": "Insat 3A/4B",
|
||||
"pos": 935
|
||||
},
|
||||
{
|
||||
"name": "NSS 6/SES 8",
|
||||
"pos": 950
|
||||
},
|
||||
{
|
||||
"name": "Express AM33",
|
||||
"pos": 965
|
||||
},
|
||||
{
|
||||
"name": "AsiaSat 5",
|
||||
"pos": 1005
|
||||
},
|
||||
{
|
||||
"name": "Express AM3",
|
||||
"pos": 1030
|
||||
},
|
||||
{
|
||||
"name": "AsiaSat 7/8",
|
||||
"pos": 1055
|
||||
},
|
||||
{
|
||||
"name": "NSS 11/SES 7/Telkom 1",
|
||||
"pos": 1082
|
||||
},
|
||||
{
|
||||
"name": "BSAT 3A/3C/JCSAT 110R/N-Sat 110",
|
||||
"pos": 1100
|
||||
},
|
||||
{
|
||||
"name": "ChinaSat 10",
|
||||
"pos": 1105
|
||||
},
|
||||
{
|
||||
"name": "Koreasat 5/Palapa D",
|
||||
"pos": 1130
|
||||
},
|
||||
{
|
||||
"name": "ChinaSat 6B",
|
||||
"pos": 1155
|
||||
},
|
||||
{
|
||||
"name": "ABS 7/Koreasat 6",
|
||||
"pos": 1160
|
||||
},
|
||||
{
|
||||
"name": "AsiaSat 3S/Telkom 2",
|
||||
"pos": 1180
|
||||
},
|
||||
{
|
||||
"name": "Thaicom 4",
|
||||
"pos": 1195
|
||||
},
|
||||
{
|
||||
"name": "AsiaSat 4",
|
||||
"pos": 1222
|
||||
},
|
||||
{
|
||||
"name": "JCSAT 4B",
|
||||
"pos": 1240
|
||||
},
|
||||
{
|
||||
"name": "ChinaSat 6A",
|
||||
"pos": 1250
|
||||
},
|
||||
{
|
||||
"name": "JCSAT 3A",
|
||||
"pos": 1280
|
||||
},
|
||||
{
|
||||
"name": "JCSAT 5A/Vinasat 1/2",
|
||||
"pos": 1320
|
||||
},
|
||||
{
|
||||
"name": "Apstar 6",
|
||||
"pos": 1340
|
||||
},
|
||||
{
|
||||
"name": "Telstar 18",
|
||||
"pos": 1380
|
||||
},
|
||||
{
|
||||
"name": "Express AM5/AT2",
|
||||
"pos": 1400
|
||||
},
|
||||
{
|
||||
"name": "Superbird C2",
|
||||
"pos": 1440
|
||||
},
|
||||
{
|
||||
"name": "JCSAT 1B",
|
||||
"pos": 1500
|
||||
},
|
||||
{
|
||||
"name": "Optus D2",
|
||||
"pos": 1520
|
||||
},
|
||||
{
|
||||
"name": "JCSAT 2A",
|
||||
"pos": 1540
|
||||
},
|
||||
{
|
||||
"name": "Optus C1/D3",
|
||||
"pos": 1560
|
||||
},
|
||||
{
|
||||
"name": "ABS 6",
|
||||
"pos": 1590
|
||||
},
|
||||
{
|
||||
"name": "Optus D1",
|
||||
"pos": 1600
|
||||
},
|
||||
{
|
||||
"name": "Superbird B2",
|
||||
"pos": 1620
|
||||
},
|
||||
{
|
||||
"name": "Optus 10/B3",
|
||||
"pos": 1640
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 19",
|
||||
"pos": 1660
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 8",
|
||||
"pos": 1690
|
||||
},
|
||||
{
|
||||
"name": "Eutelsat 172A",
|
||||
"pos": 1720
|
||||
},
|
||||
{
|
||||
"name": "Intelsat 18",
|
||||
"pos": 1800
|
||||
}
|
||||
]
|
6
debian/changelog
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
tvheadend (3.1.694) unstable; urgency=low
|
||||
|
||||
* The full changelog can be found at
|
||||
http://www.lonelycoder.com/tvheadend/download
|
||||
|
||||
-- Andreas Öman <andreas@lonelycoder.com> Tue, 18 Sep 2012 12:45:49 +0100
|
8
debian/control
vendored
|
@ -1,17 +1,17 @@
|
|||
Source: tvheadend
|
||||
Section: video
|
||||
Priority: extra
|
||||
Maintainer: Andreas Öman <andreas@tvheadend.org>
|
||||
Build-Depends: debhelper (>= 7.0.50), pkg-config, libavahi-client-dev, libssl-dev, zlib1g-dev, wget, bzip2, libcurl4-gnutls-dev, git-core, liburiparser-dev
|
||||
Maintainer: Andreas Öman <andreas@lonelycoder.com>
|
||||
Build-Depends: debhelper (>= 7.0.50), pkg-config, libavahi-client-dev, libssl-dev, zlib1g-dev, wget
|
||||
Standards-Version: 3.7.3
|
||||
|
||||
Package: tvheadend
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, libavahi-client3, zlib1g, liburiparser1
|
||||
Depends: ${shlibs:Depends}, libavahi-client3, zlib1g
|
||||
Recommends: xmltv-util
|
||||
Enhances: showtime
|
||||
Replaces: hts-tvheadend
|
||||
Homepage: https://tvheadend.org
|
||||
Homepage: http://www.lonelycoder.com/tvheadend
|
||||
Description: Tvheadend
|
||||
Tvheadend is a TV streaming server for Linux supporting DVB, ATSC, IPTV, and Analog video (V4L) as input sources.
|
||||
Can be used as a backend to Showtime, XBMC and various other clients.
|
||||
|
|
2
debian/docs
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
README
|
||||
TODO
|
4
debian/rules
vendored
|
@ -5,7 +5,7 @@ export DH_VERBOSE=1
|
|||
dh $@
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- ${AUTOBUILD_CONFIGURE_EXTRA} ${JOBSARGS}
|
||||
dh_auto_configure -- ${JOBSARGS}
|
||||
|
||||
override_dh_auto_build:
|
||||
make ${JARGS}
|
||||
|
@ -16,5 +16,3 @@ override_dh_strip:
|
|||
override_dh_auto_install:
|
||||
dh_auto_install --destdir=debian/tvheadend
|
||||
|
||||
override_dh_auto_clean:
|
||||
|
||||
|
|
10
debian/tvheadend.default
vendored
|
@ -25,20 +25,10 @@ TVH_CONF_DIR=""
|
|||
# set as "0,1"
|
||||
TVH_ADAPTERS=""
|
||||
|
||||
# TVH_IPV6
|
||||
# if set to 1 will enable IPv6 support
|
||||
TVH_IPV6=0
|
||||
|
||||
# TVH_HTTP_PORT
|
||||
# if set to "" will use binary default
|
||||
TVH_HTTP_PORT=""
|
||||
|
||||
# TVH_HTTP_ROOT
|
||||
# if set to "" will use binary default
|
||||
# else will change the webui root context, useful for proxied
|
||||
# servers
|
||||
TVH_HTTP_ROOT=""
|
||||
|
||||
# TVH_HTSP_PORT
|
||||
# if set to "" will use binary default
|
||||
TVH_HTSP_PORT=""
|
||||
|
|
3
debian/tvheadend.docs
vendored
|
@ -1,2 +1 @@
|
|||
README.md
|
||||
LICENSE.md
|
||||
README
|
||||
|
|
7
debian/tvheadend.init
vendored
|
@ -33,11 +33,8 @@ ARGS="-f"
|
|||
[ -z "$TVH_GROUP" ] || ARGS="$ARGS -g $TVH_GROUP"
|
||||
[ -z "$TVH_CONF_DIR" ] || ARGS="$ARGS -c $TVH_CONF_DIR"
|
||||
[ -z "$TVH_ADAPTERS" ] || ARGS="$ARGS -a $TVH_ADAPTERS"
|
||||
[ "$TVH_IPV6" = "1" ] && ARGS="$ARGS -6"
|
||||
[ -z "$TVH_HTTP_PORT" ] || ARGS="$ARGS --http_port $TVH_HTTP_PORT"
|
||||
[ -z "$TVH_HTTP_ROOT" ] || ARGS="$ARGS --http_root $TVH_HTTP_ROOT"
|
||||
[ -z "$TVH_HTSP_PORT" ] || ARGS="$ARGS --htsp_port $TVH_HTSP_PORT"
|
||||
[ -z "$TVH_ARGS" ] || ARGS="$ARGS $TVH_ARGS"
|
||||
[ -z "$TVH_HTTP_PORT" ] || ARGS="$ARGS -w $TVH_HTTP_PORT"
|
||||
[ -z "$TVH_HTSP_PORT" ] || ARGS="$ARGS -e $TVH_HTSP_PORT"
|
||||
[ "$TVH_DEBUG" = "1" ] && ARGS="$ARGS -s"
|
||||
|
||||
# Load the VERBOSE setting and other rcS variables
|
||||
|
|
6
debian/tvheadend.upstart
vendored
|
@ -22,10 +22,8 @@ script
|
|||
[ -z "$TVH_GROUP" ] || ARGS="$ARGS -g $TVH_GROUP"
|
||||
[ -z "$TVH_CONF_DIR" ] || ARGS="$ARGS -c $TVH_CONF_DIR"
|
||||
[ -z "$TVH_ADAPTERS" ] || ARGS="$ARGS -a $TVH_ADAPTERS"
|
||||
[ "$TVH_IPV6" = "1" ] && ARGS="$ARGS -6"
|
||||
[ -z "$TVH_HTTP_PORT" ] || ARGS="$ARGS --http_port $TVH_HTTP_PORT"
|
||||
[ -z "$TVH_HTTP_ROOT" ] || ARGS="$ARGS --http_root $TVH_HTTP_ROOT"
|
||||
[ -z "$TVH_HTSP_PORT" ] || ARGS="$ARGS --htsp_port $TVH_HTSP_PORT"
|
||||
[ -z "$TVH_HTTP_PORT" ] || ARGS="$ARGS -w $TVH_HTTP_PORT"
|
||||
[ -z "$TVH_HTSP_PORT" ] || ARGS="$ARGS -e $TVH_HTSP_PORT"
|
||||
[ "$TVH_DEBUG" = "1" ] && ARGS="$ARGS -s"
|
||||
|
||||
exec tvheadend $ARGS $TVH_ARGS
|
||||
|
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 42 KiB |
BIN
docs/docresources/configdvrtab.png
Normal file
After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 105 KiB |
|
@ -1,5 +1,5 @@
|
|||
<div class="hts-doc-text">
|
||||
The 'Automatic Recorder' is used to create rules that will trigger
|
||||
The 'Automatic Recorder' is used to create rules that will trig
|
||||
automatic recording of events. You can use this to record you favorite
|
||||
TV show(s), record all movies on a specific channel, etc.
|
||||
<p>
|
||||
|
@ -62,10 +62,6 @@ The columns have the following functions:
|
|||
<dd>
|
||||
Only match events belonging to the given content group.
|
||||
|
||||
<dt>Duration
|
||||
<dd>
|
||||
Only match events that fall within the specified duration range.
|
||||
|
||||
<dt>Weekdays
|
||||
<dd>
|
||||
Only record events if they occur on one of these days. By default all days
|
||||
|
|
|
@ -6,10 +6,10 @@ wide open.
|
|||
<img src="docresources/accessconfig.png">
|
||||
|
||||
<p>
|
||||
When Tvheadend verifies access is scan through all the enabled access control entries.
|
||||
The permission flags, streaming profiles, DVR config profiles, channel tags are combined
|
||||
for all matching access entries. An access entry is said to match if the username / password
|
||||
matches and the IP source address of the requesting peer is within the prefix.
|
||||
When Tvheadend verifies access is scan thru all the enabled access control entries.
|
||||
The permission flags are combined for all matching access entries.
|
||||
An access entry is said to match if the username / password matches and the IP source
|
||||
address of the requesting peer is within the prefix.
|
||||
<p>
|
||||
|
||||
The access rules are listed / edited in a grid.
|
||||
|
@ -32,113 +32,63 @@ The access rules are listed / edited in a grid.
|
|||
</ul>
|
||||
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Columns</b>
|
||||
<hr>
|
||||
The columns have the following functions:
|
||||
<br><br>
|
||||
|
||||
<dl>
|
||||
<dt><b>Enabled</b>
|
||||
<dd>Enable this access control rule. Uncheck the box to disable.
|
||||
<dt>Enabled
|
||||
<dd>Make the entry participate in access control. If disabled, the entry
|
||||
is inactive.
|
||||
|
||||
<dt><b>Username</b>
|
||||
<dt>Username
|
||||
<dd>
|
||||
Login name to be used. If no username is required, this entry should contain a single asterisk (*).
|
||||
Name of user, if no username is needed for match it should contain a
|
||||
single asterix (*).
|
||||
|
||||
<dt><b>Password</b>
|
||||
<dt>Password
|
||||
<dd>
|
||||
Login password to be used. If username is '*' (unused), the password should be the same (i.e. match any username/password combination, or no username/password required).
|
||||
Password to combine with user, if username is '*' (unused), the password
|
||||
should be the same.
|
||||
|
||||
<dt><b>Network prefix</b>
|
||||
<dt>Prefix
|
||||
<dd>
|
||||
IPv4 prefix for matching based on source IP address.
|
||||
If set to 0.0.0.0/0 it will match everything.
|
||||
The multiple networks can be delimited using comma or semicolon.
|
||||
|
||||
<dt><b>Web interface</b>
|
||||
<dt>Streaming
|
||||
<dd>
|
||||
Required for web user interface access. Also gives access to the EPG.
|
||||
Enables access to streaming function. The 'streaming' access is enough to
|
||||
make Showtime (over HTSP) work.
|
||||
|
||||
<dt><b>Admin</b>
|
||||
<dd>
|
||||
Enables access to the Configuration tab.
|
||||
|
||||
<dt><b>Streaming</b>
|
||||
<dd>
|
||||
Enables access to streaming functionality for HTTP (web).
|
||||
|
||||
<dt><b>Advanced Streaming</b>
|
||||
<dd>
|
||||
Enables access to advanced streaming function for HTTP (web) - like direct
|
||||
service or whole MPEG-TS stream (mux)..
|
||||
|
||||
<dt><b>HTSP Streaming</b>
|
||||
<dd>
|
||||
Enables access to streaming for the HTSP protocol (Movian, Kodi etc.).
|
||||
|
||||
<dt><b>Streaming Profile</b>
|
||||
<dd>
|
||||
Specify a streaming profile to be used when this user logs in; use the (default) stream if not specified.
|
||||
|
||||
<dt><b>Limit Connections</b>
|
||||
<dd>
|
||||
If set, this will limit the number of concurrent streaming connections a user is permitted to have. 0=disabled
|
||||
|
||||
<dt><b>Video Recorder</b>
|
||||
<dt>Video Recorder
|
||||
<dd>
|
||||
Enables access to all video recording functions. This also include administration of the auto recordings.
|
||||
|
||||
<dt><b>HTSP DVR</b>
|
||||
<dt>All Configs (VR)
|
||||
<dd>
|
||||
Enables access to video recording functions for the HTSP protocol (Movian, Kodi etc.).
|
||||
Allow use of and configuration of DVR configuration profiles.
|
||||
|
||||
<dt><b>All DVR</b>
|
||||
<dt>Web interface
|
||||
<dd>
|
||||
Enable to access to DVR entries created by other users (read-only).
|
||||
Required for web user interface access. Also gives access to the EPG.
|
||||
|
||||
<dt><b>All DVR (rw)</b>
|
||||
<dt>Admin
|
||||
<dd>
|
||||
Enable to access to DVR entries created by other users with the ability to
|
||||
remove the DVR entries.
|
||||
Enables access to the Configuration tab.
|
||||
|
||||
<dt><b>DVR Config Profile</b>
|
||||
<dd>
|
||||
If set, the user will only be able to use the DVR config profile
|
||||
equal to this value.
|
||||
Note that this field is unset when the DVR Config Profile is removed.
|
||||
|
||||
<dt><b>Min Channel Num</b>
|
||||
<dd>
|
||||
If non-zero, this sets the lower limit of the channels accessible by a user, i.e. the user will only be able to access channels where the channel number is equal to or greater than this value.
|
||||
|
||||
<dt><b>Max Channel Num</b>
|
||||
<dd>
|
||||
If non-zero, this sets the upper limit of the channels accessible by a user, i.e. the user will only be able to access channels where the channel number is equal to or less than this value.
|
||||
|
||||
<dt><b>Channel Tag</b>
|
||||
<dd>
|
||||
If set, the user will only be able to access channels containing
|
||||
this channel tag.
|
||||
Note that this field is unset when the channel tag is removed.
|
||||
|
||||
<dt><b>Comment</b>
|
||||
<dt>Comment
|
||||
<dd>
|
||||
Allows the administrator to set a comment only visible in this editor.
|
||||
It does not serve any active purpose.
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
Let's also take a look at an example:
|
||||
<p>
|
||||
<img src="docresources/accessconfigexample.png">
|
||||
<p>
|
||||
First line gives clients originating from 192.168.0.0 - 192.168.0.255 network
|
||||
access to streaming functions. Typically you would use this for your
|
||||
local media players at home (All though Movian can prompt for username & password
|
||||
local media players at home (All though Showtime can prompt for username & password
|
||||
in its HTSP client)
|
||||
<p>
|
||||
The second line adds a user with world wide access who might want to modify
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
<p>
|
||||
To use bouquets, ensure to add and scan all available muxes using
|
||||
the predefined muxes or manual configuration.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The bouquets are obtained automatically from the DVB source during
|
||||
the mux scan period. Note that bouquets may use more muxes and only
|
||||
services from scanned muxes are added. The mux with bouquets might
|
||||
require another scan when all muxes are discovered (manually using
|
||||
the rescan checkbox).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The fastscan bouquets are pre-defined in the configuration tree. These
|
||||
bouquets must be manually enabled to let tvheadend to subscribe and listen
|
||||
to the specific MPEG-TS PIDs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The bouquets are listed / edited in a grid.
|
||||
|
||||
<ul>
|
||||
<li>To edit a cell, double click on it. After a cell is changed it
|
||||
will flags one of its corner to red to indicated that it has been
|
||||
changed. To commit these changes back to Tvheadend press the
|
||||
'Save changes' button. In order to change a Checkbox cell you only
|
||||
have to click once in it.
|
||||
|
||||
<li>To add a new entry, press the 'Add entry' button. The new (empty) entry
|
||||
will be created on the server but will not be in its enabled state.
|
||||
You can now change all the cells to the desired values, check the
|
||||
'enable' box and then press 'Save changes' to activate the new entry.
|
||||
|
||||
<li>To delete one or more entries, select the lines (by clicking once on
|
||||
them), and press the 'Delete selected' button. A popup
|
||||
will ask you to confirm your request.
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
</div>
|
|
@ -1,174 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
Tvheadend support connecting to card clients via the cwc (newcamd) or capmt
|
||||
(dvbapi) protocol for so called softcam descrambling.
|
||||
|
||||
<p>
|
||||
<img src="docresources/configcwc.png">
|
||||
|
||||
<p>
|
||||
The servers are listed / edited in a grid.
|
||||
|
||||
<ul>
|
||||
<li>To edit a cell, double click on it. After a cell is changed it
|
||||
will flags one of its corner to red to indicated that it has been
|
||||
changed. To commit these changes back to Tvheadend press the
|
||||
'Save changes' button. In order to change a Checkbox cell you only
|
||||
have to click once in it.
|
||||
|
||||
<li>To add a new entry, press the 'Add entry' button. The new (empty) entry
|
||||
will be created on the server but will not be in its enabled state.
|
||||
You can now change all the cells to the desired values, check the
|
||||
'enable' box and then press 'Save changes' to activate the new entry.
|
||||
|
||||
<li>To delete one or more entries, select the lines (by clicking once on
|
||||
them), and press the 'Delete selected' button. A pop up
|
||||
will ask you to confirm your request.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt>Enabled
|
||||
<dd>If selected, connection will be tried to be established and retained up.
|
||||
If unselected, Tvheadend will disconnect (if connected) and not try to reconnect.
|
||||
|
||||
<dt>Hostname
|
||||
<dd>Server hostname. DNS lookup is performed upon every connection attempt.
|
||||
|
||||
<dt>Port
|
||||
<dd>Server TCP port
|
||||
|
||||
<dt>Username
|
||||
<dd>Username to use.
|
||||
|
||||
<dt>Password
|
||||
<dd>Password to use.
|
||||
|
||||
<dt>DES Key
|
||||
<dd>Initial DES key.
|
||||
|
||||
<dt>Update Card
|
||||
<dd>Forward Entitlement Management Messages (EMMs) to the server.
|
||||
|
||||
<dt>Update One
|
||||
<dd>Forward EMMs only from one channel at a time.
|
||||
|
||||
<dt>Comment
|
||||
<dd>Allows the administrator to set a comment only visible in this editor.
|
||||
It does not serve any active purpose.
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
<img src="docresources/configcapmt.png">
|
||||
|
||||
<p>
|
||||
The servers are listed / edited in a grid.
|
||||
|
||||
<ul>
|
||||
<li>To edit a cell, double click on it. After a cell is changed it
|
||||
will flags one of its corner to red to indicated that it has been
|
||||
changed. To commit these changes back to Tvheadend press the
|
||||
'Save changes' button. In order to change a Checkbox cell you only
|
||||
have to click once in it.
|
||||
|
||||
<li>To add a new entry, press the 'Add entry' button. The new (empty) entry
|
||||
will be created on the server but will not be in its enabled state.
|
||||
You can now change all the cells to the desired values, check the
|
||||
'enable' box and then press 'Save changes' to activate the new entry.
|
||||
|
||||
<li>To delete one or more entries, select the lines (by clicking once on
|
||||
them), and press the 'Delete selected' button. A pop up
|
||||
will ask you to confirm your request.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt>Enabled
|
||||
<dd>If selected, connection will be tried to be established and retained up.
|
||||
If unselected, Tvheadend will disconnect (if connected) and not try to reconnect.
|
||||
|
||||
<dt>Camd.socket Filename / IP Address
|
||||
<dd>Socket filename which is usually opened by cam client. Tvheadend
|
||||
tries to connect to this socket file.
|
||||
<br><br>
|
||||
In mode 3 (TCP), enter the IP address of the oscam server. Tvheadend
|
||||
tries to create a TCP connecting to this IP adress and <i>Connect port</i>.
|
||||
|
||||
<dt>Listen / Connect port
|
||||
<dd>If running on a so called full-featured DVB-Card this can be left
|
||||
empty.
|
||||
Running on Budget-Cards one has to use a dummy ca-device. This is
|
||||
emulated via capmt_ca.so. This module has to be pre-loaded prior to
|
||||
the cam client.
|
||||
<dl>
|
||||
<dt>LD_PRELOAD=/path/to/capmt_ca.so cam_client &
|
||||
</dl>
|
||||
This module will communicate the received control-words back to
|
||||
Tvheadend via Port 9000
|
||||
<br><br>
|
||||
In mode 3 (TCP), this port is used for the oscam connection. It must
|
||||
be equal to the listen port in the oscam/dvbapi settings.
|
||||
|
||||
<dt>OSCam mode
|
||||
<dd>
|
||||
|
||||
<dt>mode 0 (LD_PRELOAD)
|
||||
<dd>LD_PRELOAD hack is active
|
||||
|
||||
<dt>mode 1 (old OSCam)
|
||||
<dd>If selected, connection will be made directly to oscam without
|
||||
using LD_PRELOAD hack.<br>
|
||||
Port 9000 will be used automatically.<br><br>
|
||||
The following lines are required in <b>[dvbapi]</b> section of oscam.conf file:
|
||||
<dl>
|
||||
<dt>boxtype = pc<br>
|
||||
pmt_mode = 4
|
||||
</dl>
|
||||
|
||||
<dt>mode 2 (new OSCam since revision 9095)
|
||||
<dd>In this mode, no UDP connections are required. All communication
|
||||
is processed though the Camd.socket. The configuration for OSCam
|
||||
should be same as for mode 1.
|
||||
|
||||
<dt>mode 3 (new OSCam since revision 9574)
|
||||
<dd>A TCP connection to server is created. All emm/ecm data are send
|
||||
to oscam using this connection without a requirement for the real
|
||||
linuxdvb devices in the system with OSCam. This mode is suitable
|
||||
for all DVB devices including SAT>IP and IPTV.<br><br>
|
||||
The following lines are required in <b>[dvbapi]</b> section of oscam.conf file:
|
||||
<dl>
|
||||
<dt>boxtype = pc<br>
|
||||
pmt_mode = 4<br>
|
||||
listen_port = 9000 # or your preferred port<br>
|
||||
</dl>
|
||||
|
||||
<dt>mode 4 (new OSCam since revision 9754)
|
||||
<dd>Similar to mode 3, but a Camd.socket connection is used instead
|
||||
of the TCP connection.<br><br>
|
||||
The following lines are required in <b>[dvbapi]</b> section of oscam.conf file:
|
||||
<dl>
|
||||
<dt>boxtype = pc-nodmx<br>
|
||||
pmt_mode = 4
|
||||
</dl>
|
||||
|
||||
<dt>mode 5 (new OSCam since revision 10087)
|
||||
<dd>Similar to mode 3 (TCP), but uses a new network protocol which also added
|
||||
client/server greeting messages and protocol version information (to be able
|
||||
to smoothly detect enhancements in the future).<br><br>
|
||||
<b>This is currently the preferred mode (the other may be removed in future)!</b><br><br>
|
||||
The following lines are required in <b>[dvbapi]</b> section of oscam.conf file:
|
||||
<dl>
|
||||
<dt>boxtype = pc<br>
|
||||
pmt_mode = 4<br>
|
||||
listen_port = 9000 # or your preferred port<br>
|
||||
</dl>
|
||||
|
||||
<dt>Comment
|
||||
<dd>Allows the administrator to set a comment only visible in this editor.
|
||||
It does not serve any active purpose.
|
||||
</dl>
|
||||
</div>
|
56
docs/html/config_capmt.html
Normal file
|
@ -0,0 +1,56 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
Tvheadend support connecting to card clients via the capmt protocol for so called softcam descrambling.
|
||||
|
||||
<p>
|
||||
<img src="docresources/configcapmt.png">
|
||||
|
||||
<p>
|
||||
The servers are listed / edited in a grid.
|
||||
|
||||
<ul>
|
||||
<li>To edit a cell, double click on it. After a cell is changed it
|
||||
will flags one of its corner to red to indicated that it has been
|
||||
changed. To commit these changes back to Tvheadend press the
|
||||
'Save changes' button. In order to change a Checkbox cell you only
|
||||
have to click once in it.
|
||||
|
||||
<li>To add a new entry, press the 'Add entry' button. The new (empty) entry
|
||||
will be created on the server but will not be in its enabled state.
|
||||
You can now change all the cells to the desired values, check the
|
||||
'enable' box and then press 'Save changes' to activate the new entry.
|
||||
|
||||
<li>To delete one or more entries, select the lines (by clicking once on
|
||||
them), and press the 'Delete selected' button. A pop up
|
||||
will ask you to confirm your request.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt>Enabled
|
||||
<dd>If selected, connection will be tried to be established and retained up.
|
||||
If unselected, Tvheadend will disconnect (if connected) and not try to reconnect.
|
||||
|
||||
<dt>Camd.socket Filename
|
||||
<dd>Socket filename which is usually opened by cam client. Tvheadend
|
||||
tries to connect to this socket file.
|
||||
|
||||
<dt>Listenport
|
||||
<dd>If running on a so called full-featured DVB-Card this can be left
|
||||
empty.
|
||||
Running on Budget-Cards one has to use a dummy ca-device. This is
|
||||
emulated via capmt_ca.so. This module has to be pre-loaded prior to
|
||||
the cam client.
|
||||
<dl>
|
||||
<dt>LD_PRELOAD=/path/to/capmt_ca.so cam_client &
|
||||
</dl>
|
||||
This module will communicate the received control-words back to
|
||||
Tvheadend via Port 9000
|
||||
|
||||
<dt>Comment
|
||||
<dd>Allows the administrator to set a comment only visible in this editor.
|
||||
It does not serve any active purpose.
|
||||
</dl>
|
||||
</div>
|
|
@ -3,7 +3,7 @@
|
|||
<img src="docresources/channeltab.png">
|
||||
|
||||
<div>
|
||||
The channels are listed / edited in a grid.
|
||||
The channels are listed / edited in a grid.
|
||||
|
||||
<ul>
|
||||
<li>To edit a cell, double-click on it. After a cell is changed it
|
||||
|
@ -21,23 +21,6 @@
|
|||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt>Play
|
||||
<dd>Direct play link using the HTTP streaming.
|
||||
|
||||
<dl>
|
||||
<dt>URL to the stream using a channel name
|
||||
<dd>http://<i>host:port</i>/play/stream/channelname/<i>channel_name</i>
|
||||
<dt>URL to the stream using a channel number
|
||||
<dd>http://<i>host:port</i>/play/stream/channelnumber/<i>channel_number</i>
|
||||
</dl>
|
||||
|
||||
<dt>Enabled
|
||||
<dd>Whether or not the mux is enabled and thus available.
|
||||
|
||||
<dd>Channel number. This is not used by Tvheadend internally, but rather
|
||||
intended to be used by HTSP clients for mapping to remote control
|
||||
buttons, presentation order, etc
|
||||
|
||||
<dt>Number
|
||||
<dd>Channel number. This is not used by Tvheadend internally, but rather
|
||||
intended to be used by HTSP clients for mapping to remote control
|
||||
|
@ -53,19 +36,12 @@
|
|||
display a direct link that can be used to open in preferred media
|
||||
player.
|
||||
|
||||
<dt>Auto EPG Channel
|
||||
<dd>Auto-link EPG channels from XMLTV and OpenTV EPG grabbers using
|
||||
the channel name for matching. If you turn this option off, only
|
||||
OTA EPG grabber will be used for this channel unless the EPG Grab
|
||||
Source option (bellow) is not set manually.
|
||||
|
||||
<dt>EPG Grab Source
|
||||
<dd>Name of the Internet-based EPG provider (typically XMLTV) channel
|
||||
<dd>Name of the Internet based EPG provider (typically XMLTV) channel
|
||||
that should be used to update this channels EPG info.
|
||||
By default Tvheadend tries to match the name itself, but sometimes
|
||||
it might not match correctly in which case you can do the mapping
|
||||
manually. When using XMLTV, a newly-mapped channel will not appear
|
||||
in the EPG until the next run of the grabber, or service restart.
|
||||
manually.
|
||||
<p>
|
||||
Over the air (OTA) sources do NOT need to be mapped in this way, the
|
||||
linking is implicitly tied since they are all part of the DVB system.
|
||||
|
@ -77,13 +53,10 @@
|
|||
in the EPG if you have many channels. The tags are also presented
|
||||
in a Media player.
|
||||
|
||||
<dt>User Icon
|
||||
<dt>Icon
|
||||
<dd>An URL pointing to an image representing the channel.
|
||||
The icon URL will be set automatically when importing data from
|
||||
XMLTV, when picon path is set or when channel icon path is set
|
||||
in the general config. This field allows the user to edit it manually. The
|
||||
reset icon action allows to re-set the automatic URL for
|
||||
selected channel (e.g. after configuration change).
|
||||
XMLTV. This field allows the user to edit it manually.
|
||||
|
||||
<dt>DVR Pre-Start
|
||||
<dd>Allows the user to specify an amount of extra time that should
|
||||
|
|
61
docs/html/config_cwc.html
Normal file
|
@ -0,0 +1,61 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
Tvheadend support connecting to card servers for so called softcam descrambling.
|
||||
|
||||
<p>
|
||||
<img src="docresources/configcwc.png">
|
||||
|
||||
<p>
|
||||
The servers are listed / edited in a grid.
|
||||
|
||||
<ul>
|
||||
<li>To edit a cell, double click on it. After a cell is changed it
|
||||
will flags one of its corner to red to indicated that it has been
|
||||
changed. To commit these changes back to Tvheadend press the
|
||||
'Save changes' button. In order to change a Checkbox cell you only
|
||||
have to click once in it.
|
||||
|
||||
<li>To add a new entry, press the 'Add entry' button. The new (empty) entry
|
||||
will be created on the server but will not be in its enabled state.
|
||||
You can now change all the cells to the desired values, check the
|
||||
'enable' box and then press 'Save changes' to activate the new entry.
|
||||
|
||||
<li>To delete one or more entries, select the lines (by clicking once on
|
||||
them), and press the 'Delete selected' button. A pop up
|
||||
will ask you to confirm your request.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt>Enabled
|
||||
<dd>If selected, connection will be tried to be established and retained up.
|
||||
If unselected, Tvheadend will disconnect (if connected) and not try to reconnect.
|
||||
|
||||
<dt>Hostname
|
||||
<dd>Server hostname. DNS lookup is performed upon every connection attempt.
|
||||
|
||||
<dt>Port
|
||||
<dd>Server TCP port
|
||||
|
||||
<dt>Username
|
||||
<dd>Username to use.
|
||||
|
||||
<dt>Password
|
||||
<dd>Password to use.
|
||||
|
||||
<dt>DES Key
|
||||
<dd>Initial DES key.
|
||||
|
||||
<dt>Update Card
|
||||
<dd>Forward Entitlement Management Messages (EMMs) to the server.
|
||||
|
||||
<dt>Update One
|
||||
<dd>Forward EMMs only from one channel at a time.
|
||||
|
||||
<dt>Comment
|
||||
<dd>Allows the administrator to set a comment only visible in this editor.
|
||||
It does not serve any active purpose.
|
||||
</dl>
|
||||
</div>
|
|
@ -53,7 +53,7 @@
|
|||
This will attempt to close all available device handles. This can be
|
||||
necessary to allow some devices to go into low power states.
|
||||
<br/>
|
||||
However, this option has been known to cause problems with some multi-tuner
|
||||
However this option has been known to cause problems with some multi tuner
|
||||
DVB cards. If you have signal problems, try disabling this option.
|
||||
<br/>
|
||||
Note: this option has no effect if idle scanning is enabled.
|
||||
|
@ -110,8 +110,8 @@
|
|||
<dt>Turn off LNB when idle
|
||||
<dd>
|
||||
This option can be enabled to disable the power to the LNB when the adapter
|
||||
is not in use. This can reduce power consumption, however for poorly shielded
|
||||
multi-tuner setups you may have some interference when the LNB is re-enabled.
|
||||
is not in use. This can reduce power consumption, however for poorly shieled
|
||||
multi tuner setups you may some inteference when the LNB is re-enabled.
|
||||
|
||||
</dl>
|
||||
</dl>
|
||||
|
@ -143,25 +143,25 @@
|
|||
temporary broken
|
||||
|
||||
<dt>Network
|
||||
<dd>Network name as given in the DVB stream. Cannot be changed
|
||||
<dd>Network name as given in the DVB stream. Can not be changed
|
||||
|
||||
<dt>Frequency
|
||||
<dd>Center frequency for the mux. Cannot be changed
|
||||
<dd>Center frequency for the mux. Can not be changed
|
||||
|
||||
<dt>Modulation
|
||||
<dd>Information about the modulation used on the mux. Cannot be changed
|
||||
<dd>Information about the modulation used on the mux. Can not be changed
|
||||
|
||||
<dt>Polarisation
|
||||
<dd>Information about the polarisation used on the mux. Cannot be changed
|
||||
<dd>Information about the polarisation used on the mux. Can not be changed
|
||||
|
||||
<dt>Satellite config (DVB-S only)
|
||||
<dd>The satellite configuration in use on this mux. Cannot be changed.
|
||||
<dd>The satellite configuration in use on this mux. Can not be changed.
|
||||
|
||||
<dt>Frontend status
|
||||
<dd>The status of the frontend signal last time the mux was tuned. Cannot be changed
|
||||
<dd>The status of the frontend signal last time the mux was tuned. Can not be changed
|
||||
|
||||
<dt>Mux id
|
||||
<dd>Unique ID for this mux in the dvb network. Cannot be changed
|
||||
<dd>Unique ID for this mux in the dvb network. Can not be changed
|
||||
|
||||
<dt>Quality
|
||||
<dd>Tvheadend's estimated quality for the mux.
|
||||
|
@ -180,7 +180,7 @@
|
|||
'Save changes' button. In order to change a Checkbox cell you only
|
||||
have to click once in it.
|
||||
|
||||
<li>Service cannot be deleted since they are directly inherited /
|
||||
<li>Service can not be deleted since they are directly inherited /
|
||||
discovered from a mux they will reappear in just a few seconds
|
||||
should one delete them.
|
||||
</ul>
|
||||
|
@ -194,7 +194,7 @@
|
|||
temporary broken
|
||||
|
||||
<dt>Service name
|
||||
<dd>Service name as given in the DVB stream. Cannot be changed
|
||||
<dd>Service name as given in the DVB stream. Can not be changed
|
||||
|
||||
<dt>Play
|
||||
<dd>Open the VLC plugin window to play this service.
|
||||
|
@ -210,13 +210,13 @@
|
|||
charset to use when none is specified by the broadcaster.
|
||||
|
||||
<dt>EPG
|
||||
<dd>Uncheck this if EPG data should not be retrieved for this service.
|
||||
<dd>Uncheck this if EPG data should not be retreived for this service.
|
||||
|
||||
<dt>Type
|
||||
<dd>Type of service. Cannot be changed
|
||||
<dd>Type of service. Can not be changed
|
||||
|
||||
<dt>Provider
|
||||
<dd>Provider as given in the DVB stream. Cannot be changed
|
||||
<dd>Provider as given in the DVB stream. Can not be changed
|
||||
|
||||
<dt>Network
|
||||
<dd>Network name for the mux this service resides on
|
||||
|
@ -257,10 +257,6 @@
|
|||
|
||||
<dt>Switchport
|
||||
<dd>Port number to select for this configuration (numbering begins at 0).
|
||||
<dd>In DiSEqC 1.0/2.0 mode, ports 0-3 are valid.
|
||||
<dd>In DiSEqC 1.1/2.1 mode, ports 0-63 are valid.
|
||||
<dd>Use numbers 0-3 for LNBs behind first input on the uncommitted switch,
|
||||
then 4-7 and so on to support up to 64 ports using DiSEqC 1.1/2.1.
|
||||
|
||||
<dt>LNB type
|
||||
<dd>Select the LNB type from the list of supported LNBs. If your LNB
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
<img src="docresources/configdvrtab1.png">
|
||||
<br>
|
||||
<img src="docresources/configdvrtab2.png">
|
||||
<br>
|
||||
<img src="docresources/configdvrtab3.png">
|
||||
<img src="docresources/configdvrtab.png">
|
||||
|
||||
<p>
|
||||
This tab is used to configure operation of the Digital Video Recorder.
|
||||
|
@ -12,61 +8,78 @@
|
|||
|
||||
<p>
|
||||
Configuration options:
|
||||
|
||||
<dl>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>DVR Behaviour</b>
|
||||
<hr>
|
||||
|
||||
<dt>Recording system path
|
||||
<dd>Path to where Tvheadend will write recorded events. If components of
|
||||
the path does not exist, Tvheadend will try to create them.
|
||||
|
||||
<dt>Media container
|
||||
<dd>Select the container format used to store recordings.
|
||||
|
||||
<dt>Cache scheme
|
||||
<dd>Select the cache scheme used to store recordings. Leave as "system" unless you have a special case for one of the others.
|
||||
<br><br>
|
||||
<dd>Whenever you read or write data to the filesystems, the information is kept (cached) in memory for a while. This means that regularly-access files are available quickly without going back to the disc; it also means that there's a disconnect when writing between the write request (from the application) and the actual write itself (to the disc/storage) as changes are buffered to be written in one go.</dd>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>Unknown</dt>
|
||||
<dd>A placeholder status, meaning that the configuration isn't properly set.</dd>
|
||||
|
||||
<dt>System</dt>
|
||||
<dd>Change nothing and rely on standard (default) system caching to behave as it normally would.</dd>
|
||||
|
||||
<dt>Do not keep</dt>
|
||||
<dd>Tell the system that you're not expecting to re-use the data soon, so don't keep it in cache. The data will still be buffered for writing. <i>Useful e.g. in a RAM-limited system like a Pi (given that you're unlikely to be watching while recording, so data can be discarded now and read back from disc later).</i></dd>
|
||||
|
||||
<dt>Sync</dt>
|
||||
<dd>Tell the system to write the data immediately. This doesn't affect whether or not it's cached. <i>Useful e.g. if you've a particular problem with data loss due to delayed write (such as if you get frequent transient power problems).</i></dd>
|
||||
|
||||
<dt>Sync + Do not keep</dt>
|
||||
<dd>A combination of last two variants above - data is written immediately and then discarded from cache.</dd>
|
||||
|
||||
</dl>
|
||||
|
||||
<dt>DVR Log retention time (days)
|
||||
<dd>Time that Tvheadend will keep information about the recording in its internal database. Notice that the actual recorded file will not be deleted when the log entry is deleted.
|
||||
<dd>Time that Tvheadend will keep information about the recording in
|
||||
its internal database. Notice that the actual recorded file will not
|
||||
be deleted when the log entry is deleted.
|
||||
|
||||
<dt>Extra time before recordings (minutes)
|
||||
<dd>Specify the number of minutes to record before the events scheduled start time. Used to cope with small scheduling errors.
|
||||
<dd>Specify the number of minutes to record before the events scheduled
|
||||
start time. Used to cope with small scheduling errors.
|
||||
|
||||
<dt>Extra time after recordings (minutes)
|
||||
<dd>Specify the number of minutes to record after the events scheduled stop time. Used to cope with small scheduling errors.
|
||||
<dd>Specify the number of minutes to record after the events scheduled
|
||||
stop time. Used to cope with small scheduling errors.
|
||||
|
||||
<dt>Episode duplicate detection
|
||||
<dd>If checked, broadcasts with matching title and matching non-zero episode number
|
||||
are considered duplicates.
|
||||
<dt>Make sub-directories per day
|
||||
<dd>If checked, Tvheadend will create a new directory per day in the
|
||||
recording system path. Only days when anything is recorded will be
|
||||
created. The format of the directory will be 'YYYY-MM-DD' (ISO standard)
|
||||
|
||||
<dt>EPG update window
|
||||
<dd>Maximum difference between event start times when the EPG event is changed.
|
||||
TVHeadend uses a fuzzy match logic (using title, start times,
|
||||
duration, episode) to check when the event was changed.
|
||||
<dt>Make sub-directories per channel
|
||||
<dd>If checked, Tvheadend will create a directory per channel when storing
|
||||
events. If both this and the 'directory per day' checkbox is enabled,
|
||||
the date-directory will be parent to the per-channel directory.
|
||||
|
||||
<dt>Make sub-directories per title
|
||||
<dd>If checked, Tvheadend will create a directory per title when storing
|
||||
events. If the day/channel directory checkboxes are also enabled, those
|
||||
directories will be parents of this directory.
|
||||
|
||||
<dt>Include channel name in title
|
||||
<dd>If checked, Tvheadend will include the name of the channel in the
|
||||
event title. This applies to both the titled stored in the file
|
||||
and to the file name itself.
|
||||
|
||||
<dt>Include date in title
|
||||
<dd>If checked, Tvheadend will include the date for the recording in the
|
||||
event title. This applies to both the titled stored in the file
|
||||
and to the file name itself.
|
||||
|
||||
<dt>Include time in title
|
||||
<dd>If checked, Tvheadend will include the time for the recording in the
|
||||
event title. This applies to both the titled stored in the file
|
||||
and to the file name itself.
|
||||
|
||||
<dt>Include episode in title
|
||||
<dd>If checked, Tvheadend will include the season and episode in the
|
||||
title (if such info is available).
|
||||
|
||||
<dt>Remove all unsafe characters from filename
|
||||
<dd>If checked, all characters that could possibly cause problems for
|
||||
filenaming will be removed.
|
||||
|
||||
<dt>Replace whitespace in title with '-'
|
||||
<dd>If checked, all whitespace characters will be replaced with '-'.
|
||||
|
||||
<dt>Tag files with metadata
|
||||
<dd>If checked, media containers that support metadata will be tagged with
|
||||
the metadata associated with the event being recorded.
|
||||
|
||||
<dt>Post-processor command
|
||||
<dd>Command to run after finishing a recording. The command will be run in background and is executed even if a recording is aborted or an error occurred. Use the %e error formatting string to check for errors, the error string is "OK" if recording finished successfully.
|
||||
<dd>Command to run after finishing a recording. The command will be
|
||||
run in background and is executed even if a recording is aborted
|
||||
or an error occurred. Use the %e error formatting string to check
|
||||
for errors, the error string is empty if recording finished
|
||||
successfully.
|
||||
<br><br>
|
||||
Support format strings:<br>
|
||||
<table class="hts-doc-text" border="0">
|
||||
|
@ -84,112 +97,7 @@
|
|||
<br>
|
||||
Example usage: /path/to/ffmpeg -i %f -vcodec libx264 -acodec copy "/path/with white space/%b"<br>
|
||||
You need to use quotes or escape white spaces if you want white spaces in an argument.
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>Recording File Options</b>
|
||||
<hr>
|
||||
|
||||
<dt>Recording system path
|
||||
<dd>Path to where Tvheadend will write recorded events. If components of the path does not exist, Tvheadend will try to create them.
|
||||
|
||||
<dt>File permissions
|
||||
<dd>The permissions to be set on the resultant recording files. This is useful if you need to manipulate the files after recording under a different user ID, e.g. to chop out commercials.
|
||||
|
||||
<table class="hts-doc-text" border="0">
|
||||
<tr><td>Common examples:</td></tr>
|
||||
<br>
|
||||
<tr><td>0644 == rw-r--r--</td></tr>
|
||||
<tr><td>0664 == rw-rw-r-- (default)</td></tr>
|
||||
<tr><td>0666 == rw-rw-rw-</td></tr>
|
||||
</table>
|
||||
|
||||
Note that the applicable umask applies, so 0666 with umask 0022 will produce 0644 (rw-r--r--).
|
||||
|
||||
See also <i>Directory permissions</i> in <i>Subdirectory Options</i>.
|
||||
|
||||
<dt>Filename charset
|
||||
<dd>Character set for the created filename. Tvheadend will try to approximate characters to similarly looking ones.
|
||||
|
||||
<dt>Rewrite PAT in passthrough mode
|
||||
<dd>Rewrite the original Program Association Table to only include the active service. When this option is disabled, Tvheadend will write the original PAT as broadcast, which lists all services from the original multiplex.
|
||||
|
||||
<dt>Rewrite PMT in passthrough mode
|
||||
<dd>Generate a Program Map Table only listing the streams actually in the output transport stream. When this option is disabled, Tvheadend will write the original Program Map Table as broadcast, which may include references to excluded streams such as data and ECMs.
|
||||
|
||||
<dt>Tag files with metadata
|
||||
<dd>If checked, media containers that support metadata will be tagged with the metadata associated with the event being recorded.
|
||||
|
||||
<dt>Skip commercials
|
||||
<dd>If checked, commercials will be dropped from the recordings. At the moment, commercial detection only works for the swedish channel TV4.
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>Subdirectory Options</b>
|
||||
<hr>
|
||||
|
||||
<dt>Directory permissions
|
||||
<dd>The permissions to be set on any sub-directories created for recordings. This is useful if you need to manipulate the files after recording under a different user ID, e.g. to chop out commercials.
|
||||
|
||||
<table class="hts-doc-text" border="0">
|
||||
<tr><td>Common examples:</td></tr>
|
||||
<br>
|
||||
<tr><td>0755 == rwxr-xr-x</td></tr>
|
||||
<tr><td>0775 == rwxrwxr-x (default)</td></tr>
|
||||
<tr><td>0777 == rwxrwxrwx</td></tr>
|
||||
</table>
|
||||
|
||||
Note that the applicable umask applies, so 0777 with umask 0022 will produce 0755 (rwxr-xr-x).
|
||||
|
||||
See also <i>File permissions</i> in <i>Recording File Options</i>.
|
||||
|
||||
<dt>Make sub-directories per day
|
||||
<dd>If checked, create a new directory per day in the recording system path. Only days when anything is recorded will be created. The format of the directory will be 'YYYY-MM-DD' (ISO standard)
|
||||
|
||||
<dt>Make sub-directories per channel
|
||||
<dd>If checked, create a directory per channel when storing events. If both this and the 'directory per day' checkbox is enabled, the date-directory will be parent to the per-channel directory.
|
||||
|
||||
<dt>Make sub-directories per title
|
||||
<dd>If checked, create a directory per title when storing events. If the day/channel directory checkboxes are also enabled, those directories will be parents of this directory.
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>Filename Options</b>
|
||||
<hr>
|
||||
|
||||
<dt>Include channel name in title
|
||||
<dd>If checked, include the name of the channel in the event title. This applies to both the titled stored in the file and to the file name itself.
|
||||
|
||||
<dt>Include date in title
|
||||
<dd>If checked, include the date for the recording in the event title. This applies to both the titled stored in the file and to the file name itself.
|
||||
|
||||
<dt>Include time in title
|
||||
<dd>If checked, include the time for the recording in the event title. This applies to both the titled stored in the file and to the file name itself.
|
||||
|
||||
<dt>Include episode in title
|
||||
<dd>If checked, include the season and episode in the title (if such info is available).
|
||||
|
||||
<dt>Include subtitle in title
|
||||
<dd>If checked, include the episode subtitle in the title (if such info is available).
|
||||
|
||||
<dt>Put episode in filename before date and time
|
||||
<dd>If checked, insert the episode number before the data and time rather than after (assumes <i>Include date</i>, <i>Include time</i> and <i>Include episode</i> options are set).
|
||||
|
||||
<dt>Remove all unsafe characters from filename
|
||||
<dd>If checked, all characters that could possibly cause problems for filenaming will be replaced with '_'.<br>
|
||||
Applies to characters:<br>
|
||||
* not supported by Windows characters: <i>/ : \ < > | * ? ' "</i><br>
|
||||
* control characters (ASCII code below 32)<br>
|
||||
* control and national characters (ASCII code above 122)<br>
|
||||
|
||||
<dt>Replace whitespace in title with '-'
|
||||
<dd>If checked, whitespace characters (spaces and tabs) will be replaced with '-'.
|
||||
|
||||
<dt>Use Windows-compatible filenames
|
||||
<dd>If checked:<br>
|
||||
* special characters not supported by Windows like: <i>/ : \ < > | * ? ' "</i> will be replaced with '_'<br>
|
||||
* trailing spaces ' ' and dots '.' will be removed
|
||||
|
||||
</dl>
|
||||
Changes to any of these settings must be confirmed by pressing the 'Save configuration' button before taking effect.
|
||||
Changes to any of these settings must be confirmed by pressing the
|
||||
'Save configuration' button before taking effect.
|
||||
</div>
|
||||
|
|
|
@ -1,96 +1,28 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
<p>
|
||||
This tab is used to configure the Electronic Program Guide (EPG) grabbing
|
||||
capabilities. Tvheadend supports a variety of different EPG grabbing
|
||||
mechanisms. These fall into 3 broad categories, within which there are a
|
||||
variety of specific grabber implementations.
|
||||
This tab is used to configure EPG grabbing capabilities. TVheadend supports
|
||||
a variety of different EPG grabbing mechanisms. These fall into 3 broad
|
||||
categories, within which there are a variety of specific grabber
|
||||
implementations.
|
||||
</p>
|
||||
|
||||
<h2>Grabber Types</h2>
|
||||
<ul>
|
||||
<li>Over-the-Air (OTA) - These grabbers receive EPG data directly from the
|
||||
DVB network. This is often the easiest way to get up and running and does
|
||||
provide timely updates should scheduling change. However, the information
|
||||
isn't always as rich as some of the other grabbers.
|
||||
<li>Internal - These are grabbers which can be internally initiated from
|
||||
within Tvheadend using a very simple scheduler. These are typically
|
||||
Internet-based services. This can be a quick way to get richer EPG data
|
||||
where you don't have decent OTA support.
|
||||
<li>External - These provide the option to run grabber scripts externally and
|
||||
to send data into Tvheadend via Unix domain sockets. It provides the ability
|
||||
to run more complex configurations using things like cronjob's, script
|
||||
chains, etc.
|
||||
<li>Over-the-Air (OTA) - These grabbers receive EPG data directly from the DVB network. This is often the easiest way to get up and running and does provide timely updates should scheduling change. However the information isn't always as rich as some of the other grabbers.
|
||||
<li>Internal - These are grabbers which can be internally initiated from within TVheadend using a very simple scheduler. These are typically Internet based services. This can be a quick way to get richer EPG data where you don't have decent OTA support.
|
||||
<li>External - These provide the option to run grabber scripts externally and to send data into TVheadend via Unix domain sockets. It provides the ability to run more complex configurations using things like cronjob's, script chains, etc.
|
||||
</ul>
|
||||
|
||||
<h2>Grabber Modules</h2>
|
||||
<ul>
|
||||
<li>EIT - This is a DVB standards compatible EIT grabber. Typically it
|
||||
will retrieve now/next information, though on some networks there may be more
|
||||
<li>EIT - This is a DVB standards compatible EIT grabber. Typically it will
|
||||
retrieve now/next information, though on some networks there may be more
|
||||
extensive data published.
|
||||
<li>Freesat/view - This is an extended version of EIT that is used by the
|
||||
Free-to-air DVB providers in the UK. It includes additional information such
|
||||
as series links and episode identifiers.
|
||||
<li>OpenTV - This is a proprietary OTA EPG grabber. It's known to be used on
|
||||
the SKY networks, but others may use it. You need two configuration files to
|
||||
define settings for your particular network, if you don't see yours listed
|
||||
please visit IRC #hts for help.
|
||||
<li>XMLTV - This is am Internet-based suite of scripts, for more information
|
||||
about XMLTV please visit <a href="http://www.xmltv.org">http://www.xmltv.org</a>.
|
||||
To make use of the internal XMLTV grabber you typically require the xmltv-utils
|
||||
package to be installed. If you install new grabbers you will need to
|
||||
restart Tvheadend to pick these up as they're loaded at startup. If you see
|
||||
no XMLTV grabbers listed then most probably XMLTV is not properly installed
|
||||
and in the PATH.
|
||||
<li>PyEPG - This is another Internet-based scraper. It currently only
|
||||
supports the Atlas UK system (for which you need a key), but it does provide
|
||||
a very rich EPG data set. For more information see
|
||||
<a href='http://github.com/adamsutton/PyEPG'>http://github.com/adamsutton/PyEPG</a>.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Cron multi-line config text areas</h2>
|
||||
<ul>
|
||||
|
||||
<li><p>The cron lines looks like:</p>
|
||||
<pre>
|
||||
# * * * * * command to execute
|
||||
# ┬ ┬ ┬ ┬ ┬
|
||||
# │ │ │ │ │
|
||||
# │ │ │ │ │
|
||||
# │ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is Sunday, the same as 0)
|
||||
# │ │ │ └────────── month (1 - 12)
|
||||
# │ │ └─────────────── day of month (1 - 31)
|
||||
# │ └──────────────────── hour (0 - 23)
|
||||
# └───────────────────────── min (0 - 59)</pre>
|
||||
|
||||
<li><b>Cron special characters</b>
|
||||
<dl>
|
||||
<dt>Asterisk ( * )
|
||||
<dd>The asterisk indicates that the cron expression matches for all values
|
||||
of the field. E.g., using an asterisk in the 4th field (month)
|
||||
indicates every month.
|
||||
|
||||
<dt>Slash ( / )
|
||||
<dd>Slashes describe increments of ranges. For example 3-59/15 in the
|
||||
1st field (minutes) indicate the third minute of the hour and every
|
||||
15 minutes thereafter. The form "*/..." is equivalent to the form
|
||||
"first-last/...", that is, an increment over the largest possible
|
||||
range of the field.
|
||||
|
||||
<dt>Comma ( , )
|
||||
<dd>Commas are used to separate items of a list. For example, using
|
||||
"MON,WED,FRI" in the 5th field (day of week) means Mondays,
|
||||
Wednesdays and Fridays.
|
||||
|
||||
<dt>Hyphen ( - )
|
||||
<dd>Hyphens define ranges. For example, 2000-2010 indicates every year
|
||||
between 2000 and 2010 AD, inclusive.
|
||||
|
||||
<dt>Number-sign ( # )
|
||||
<dd>Number-sign defines a start of a comment. The rest of line is
|
||||
ignored behind this character.
|
||||
</dl>
|
||||
|
||||
<li>Freesat/view - This is an extended version of EIT that is used by the Free-to-air DVB providers in the UK. It includes additional information such as series links and episode identifiers.
|
||||
<li>OpenTV - This is a proprietary OTA EPG grabber. Its known to be used on the SKY networks, but others may use it. You need two configuration files to define settings for your particular network, if you don't see yours listed please visit IRC #hts for help.
|
||||
<li>XMLTV - This is am Internet based suite of scripts, for more information about XMLTV please visit <a href="http://www.xmltv.org">http://www.xmltv.org</a>. To make use of the internal XMLTV grabber you typically require the xmltv-utils package to be installed. If you install new grabbers you will need to restart TVheadend to pick these up as they're loaded at startup. If you see no XMLTV grabbers listed then most probably XMLTV is not properly installed and in the PATH.
|
||||
<li>PyEPG - This is another Internet based scraper. It currently only supports the Atlas UK system (for which you need a key), but it does provide a very rich EPG data set. For more information see <a href='http://github.com/adamsutton/PyEPG'>http://github.com/adamsutton/PyEPG</a>.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Configuration options</h2>
|
||||
|
@ -103,15 +35,9 @@
|
|||
<dt>Update channel number
|
||||
<dd>Automatically update channel numbers using information provided
|
||||
by the enabled EPG providers.
|
||||
<dt>Update channel icon
|
||||
<dt>Update channel name
|
||||
<dd>Automatically update channel icons using information provided
|
||||
by the enabled EPG providers.
|
||||
<dt>Periodic save EPG to disk Interval
|
||||
<dd>Writes the current in-memory EPG database to disk every x Hours
|
||||
(user defined), so should a crash/unexpected shutdown occur EPG
|
||||
data is saved periodically to the database (Re-read on
|
||||
next startup)
|
||||
Set to 0 to disable.
|
||||
</dl>
|
||||
|
||||
<h3>Internal Grabber</h3>
|
||||
|
@ -119,26 +45,14 @@
|
|||
<dt>Module:
|
||||
<dd>Select which internal grabber to use.
|
||||
|
||||
<dt>Cron multi-line
|
||||
<dd>Multiple lines of the cron time specification.
|
||||
<dt>Grab interval
|
||||
<dd>Time period between grabs. Value and unit are indepdently set.
|
||||
</dl>
|
||||
|
||||
<h3>Over-the-air Grabbers</h3>
|
||||
<dl>
|
||||
<dt>Force initial EPG scan at startup
|
||||
<dd>... no comment
|
||||
|
||||
<dt>Cron multi-line
|
||||
<dd>Multiple lines of the cron time specification.
|
||||
|
||||
<dt>EPG scan timeout in seconds
|
||||
<dd>The multiplex (mux) is tuned for this amount of time at maximum. If EPG data
|
||||
are completed before this limit, the mux is released sooner.
|
||||
|
||||
<dt>Checkbox list
|
||||
<dd>Checkbox list to enable/disable available modules.
|
||||
By default all grabbers should be enabled.
|
||||
</dl>
|
||||
<p>
|
||||
Checkbox list to enable/disable available modules.
|
||||
By default all grabbers should be enabled.
|
||||
|
||||
<h3>External interfaces</h3>
|
||||
<p>
|
||||
|
|
|
@ -1,128 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
This table defines rules to filter and order the elementary streams
|
||||
(PIDs) like video or audio from the input feed.
|
||||
|
||||
<p>
|
||||
The execution order of commands is granted. It means that first rule
|
||||
is executed for all available streams then second and so on.
|
||||
|
||||
<p>
|
||||
If any elementary stream is not marked as ignored or exclusive, it is
|
||||
used. If you like to ignore unknown elementary streams, add a rule
|
||||
to the end of grid with the any (not defined) comparisons and
|
||||
with the action ignore.
|
||||
|
||||
<p>
|
||||
The rules for different elementary stream groups (video, audio,
|
||||
teletext, subtitle, CA, other) are executed separately (as visually edited).
|
||||
|
||||
<p>
|
||||
For the visual verification of the filtering, there is a service info
|
||||
dialog in the Configuration / DVB Inputs / Services window . This dialog
|
||||
shows the received PIDs and filtered PIDs in one window.
|
||||
|
||||
<p>
|
||||
The rules are listed / edited in a grid.
|
||||
|
||||
<ul>
|
||||
<li>To edit a cell, double click on it. After a cell is changed it
|
||||
will flags one of its corner to red to indicated that it has been
|
||||
changed. To commit these changes back to Tvheadend press the
|
||||
'Save changes' button. In order to change a Checkbox cell you only
|
||||
have to click once in it.
|
||||
|
||||
<li>To add a new entry, press the 'Add entry' button. The new (empty) entry
|
||||
will be created on the server but will not be in its enabled state.
|
||||
You can now change all the cells to the desired values, check the
|
||||
'enable' box and then press 'Save changes' to activate the new entry.
|
||||
|
||||
<li>To delete one or more entries, select the lines (by clicking once on
|
||||
them), and press the 'Delete selected' button. A pop up
|
||||
will ask you to confirm your request.
|
||||
|
||||
<li>To move up or down one or more entries, select the lines (by clicking
|
||||
once on them), and press the 'Move up' or 'Move down' button.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt>Enabled
|
||||
<dd>If selected, the rule will be enabled.
|
||||
|
||||
<dt>Stream Type
|
||||
<dd>Select the elementary stream type to compare. Empty field means any.
|
||||
|
||||
<dt>Language
|
||||
<dd>Select the language to compare. Empty field means any.
|
||||
|
||||
<dt>Service
|
||||
<dd>The service to compare. Empty field means any.
|
||||
|
||||
<dt>CA Identification
|
||||
<dd>The CAID to compare. Empty field means any.
|
||||
|
||||
<dt>CA Provider
|
||||
<dd>The CA provider to compare. Empty field means any.
|
||||
|
||||
<dt>Stream Index
|
||||
<dd>The logical stream index to compare. Note that this index is computed
|
||||
using all filters. Example: If filter is set to AC3 audio type and
|
||||
the language to 'eng' and there are two AC3 'eng' streams in
|
||||
the service, the first stream could be identified using number 1
|
||||
and the second using number 2.
|
||||
|
||||
<dt>PID
|
||||
<dd>Program identification (PID) number to compare. Zero means any.
|
||||
This comparison is processed only when service comparison is active
|
||||
and for the Conditional Access filter.
|
||||
|
||||
<dt>Action
|
||||
<dd>The rule action defines the operation when all comparisons succeeds.
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>NONE
|
||||
<dd>No action, may be used for the logging and a comparison verification.
|
||||
|
||||
<dt>USE
|
||||
<dd>Use this elementary stream.
|
||||
|
||||
<dt>ONE_TIME
|
||||
<dd>Use this elementary stream only one time per service type (like
|
||||
video, audio, subtitles) and language. The first sucessfully
|
||||
compared rule wins. For example, when one AC3 elementary stream
|
||||
is marked to be used with 'eng' language and another rule with
|
||||
the ONE_TIME action was matched, the new AC3 elementary stream
|
||||
will not be added if the language for new AC3 elementary stream
|
||||
is 'eng'. Note that the second rule might not have the language
|
||||
filter (column) set.
|
||||
<p>
|
||||
For the CA filter, this rule means that the new CA elementary stream
|
||||
is added only if another CA is not already used.
|
||||
</p>
|
||||
|
||||
|
||||
<dt>EXCLUSIVE
|
||||
<dd>Use only this elementary stream. No other elementary streams
|
||||
will be used.
|
||||
|
||||
<dt>EMPTY
|
||||
<dd>Add this elementary stream only when no elementary streams are
|
||||
used from previous rules.
|
||||
|
||||
<dt>IGNORE
|
||||
<dd>Ignore this elementary stream. This stream is not used. Another
|
||||
successfully compared rule with different action may override it.
|
||||
|
||||
</dl>
|
||||
|
||||
<dt>Log
|
||||
<dd>Write a short message to log identifying the matched parameters.
|
||||
It is useful for debugging your setup or structure of incoming
|
||||
streams.
|
||||
|
||||
</dl>
|
||||
</div>
|
|
@ -1,202 +1,24 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
<img src="docresources/configgeneraltab1.png">
|
||||
<br>
|
||||
<img src="docresources/configgeneraltab2.png">
|
||||
|
||||
<p>
|
||||
This tabs allow configuration of several general parameters that affect the
|
||||
core TVH functionality.
|
||||
</p>
|
||||
|
||||
<dl>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>Language Settings</b>
|
||||
<hr>
|
||||
|
||||
<dt>Default Language(s)
|
||||
<dd>
|
||||
Select the list of languages (in order of priority) to be used for supplying
|
||||
EPG information to clients that don't provide their own configuration.</dd>
|
||||
EPG information to clients that don't provide their own configuration.
|
||||
<p>
|
||||
<dd>The EPG information is NOT translated, this only applies to EPG providers
|
||||
that give information (titles, descriptions, etc..) in multiple languages.</dd>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>DVB Scan Files</b>
|
||||
<hr>
|
||||
|
||||
The EPG information is NOT translated, this only applies to EPG providers
|
||||
that give information (titles, descriptions, etc..) in multiple languages.
|
||||
|
||||
<dt>DVB scan files path:
|
||||
<dd>
|
||||
Select the path to use for DVB scan configuration files. Typically
|
||||
dvb-apps stores these in /usr/share/dvb/. Leave blank to use TVH's internal
|
||||
file set.</dd>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>Time Update</b>
|
||||
<hr>
|
||||
|
||||
<dd>Tvheadend has a built-in capability to update the system time.
|
||||
However, you should bear in mind that DVB time is not highly accurate and is
|
||||
prone to both jitter and variation between different transponders.</dd>
|
||||
<br>
|
||||
<dd>Where possible, it's probably still better to use an internet based NTP source
|
||||
to synchronise the system clock (i.e. through the underlying operating system).</dd>
|
||||
|
||||
<dl>
|
||||
<dt>Update time</dt>
|
||||
<dd>Enable system time updates. This will only work if the user
|
||||
running TVH has rights to update the system clock (normally only root).</dd>
|
||||
|
||||
<dt>Enable NTP driver</dt>
|
||||
<dd>This will create an NTP driver (using shmem interface) that you can feed
|
||||
into ntpd. This can be run without root priviledges, but generally the
|
||||
performance is not that great.</dd>
|
||||
|
||||
<dt>Update tolerance (milliseconds)</dt>
|
||||
<dd>Only update the system clock (doesn't affect NTP driver) if the delta
|
||||
between the system clock and DVB time is greater than this. This can help
|
||||
stop excessive oscillations on the system clock.</dd>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>Picon</b>
|
||||
<hr>
|
||||
|
||||
<dd>Picons (from p ersonal icons) are collections of similar icons that can be automatically
|
||||
matched against your channels based on a number of technical parameters that will uniquely
|
||||
define a channel. The use of these parameters (e.g. mux, frequency, orbital position)
|
||||
removes the ambiguity of using names - it's not case sensitive, it doesn't care if there
|
||||
are spaces or not, and so on.
|
||||
|
||||
You can generate picons yourself from existing images, or you can usually find sets
|
||||
pre-made on the Internet if you search for them. They're a good way to get large numbers
|
||||
of icons matched quickly, and usually in a similar style (such as square, x * y pixels, with
|
||||
a consistent highlight/reflection effect).</dd>
|
||||
|
||||
<dl>
|
||||
<dt>Prefer picons over channel name:</dt>
|
||||
<dd>If both a picon and a channel-specific (e.g. channelname.jpg) icon are defined, use the picon.</dd>
|
||||
|
||||
<dt>Channel icon path</dt>
|
||||
<dd>Path to an icon for this channel. This can be named however you wish, as a local (file://) or remote (http://) image.
|
||||
The following placeholders are available:<br>
|
||||
<ul>
|
||||
<li>%C - the transliterated channel name in ASCII (safe characters, no spaces etc.)</li>
|
||||
<li>%c - the channel name (URL encoded ASCII)</li>
|
||||
</ul>
|
||||
Example: file:///tmp/icons/%C.png or http://example.com/%c.png</dd>
|
||||
|
||||
<dt>Picon path</dt>
|
||||
<dd>Path to a directory (folder) containing your picon collection. This can be named however
|
||||
you wish, as a local (file://) or remote (http://) location - however, remember that it's pointing
|
||||
to a directory as the picon names are automatically generated from the service parameters
|
||||
frequency, orbital position, etc.).<br>
|
||||
Example: file:///home/hts/picons</dd>
|
||||
</dl>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>Image Caching</b>
|
||||
<hr>
|
||||
|
||||
<dd>This will cache any channel icons or other images (such as
|
||||
EPG metadata) to be served from the local webserver. This
|
||||
can be useful for multi-client systems and, generally, to reduce hits on
|
||||
upstream providers.</dd>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>Enabled
|
||||
<dd>
|
||||
Select whether or not to enable caching. Note: even with this disabled
|
||||
you can still specify local (file://) icons and these will be served by
|
||||
the built-in webserver.
|
||||
|
||||
<dt>Re-fetch period (hours)
|
||||
<dd>
|
||||
How frequently the upstream provider is checked for changes.
|
||||
|
||||
<dt>Re-try period (hours)
|
||||
<dd>
|
||||
How frequently it will re-try fetching an image that has failed to be
|
||||
fetched.
|
||||
|
||||
<dt>Ignore invalid SSL certificates
|
||||
<dd>Ignore invalid/unverifiable (expired, self-certified, etc.) certificates
|
||||
|
||||
</dl>
|
||||
|
||||
<br><br>
|
||||
<hr>
|
||||
<b>SAT>IP Server</b>
|
||||
<hr>
|
||||
|
||||
<dd>SAT>IP Server is something like DVB network tuner. TVHeadend can
|
||||
forward mpegts input streams including on-the-fly descramling to SAT>IP
|
||||
clients.</dd>
|
||||
|
||||
<dd>Only networks with the "SAT>IP Source" field set are exported
|
||||
through the SAT>IP protocol. This field is matched through the "src"
|
||||
parameter asked from the SAT>IP client. Usually (and by default) this value is 1.
|
||||
For satellite tuners, this value determines the satellite source (dish).
|
||||
By specification position 1 = DiseqC AA, 2 = DiseqC AB, 3 = DiseqC BA,
|
||||
4 = DiseqC BB, but any numbers may be used - depends on the SAT>IP client.
|
||||
Note that if you use a similar number for multiple networks, the first matched
|
||||
network containing the mux with requested parameters will win
|
||||
(also for unknown mux).</dd>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>RTSP Port
|
||||
<dd>
|
||||
Select RTSP port (TCP) for realtime commands from SAT>IP clients. Usually
|
||||
(as defined in the specification) this port is 554. But as extension,
|
||||
TVHeadend can use any TCP port value (which is default 9983 for non-root
|
||||
users). But the SAT>IP client must allow to set this value (TVHeadend
|
||||
client will obtain the RTSP port number automatically using the XML
|
||||
description). If the RTSP port value is zero, the SAT>IP server
|
||||
functionality is not enabled.
|
||||
|
||||
<dt>Subscription Weight
|
||||
<dd>
|
||||
Subscription weight value. Default value is 100 (standard streaming). Note
|
||||
that the default value for DVR is 300 (normal priority).
|
||||
|
||||
<dt>Descramble Services
|
||||
<dd>
|
||||
The maximum limit of services descrambled per a mux. If zero, the
|
||||
descrambling functionality is disabled.
|
||||
|
||||
<dt>Muxes Handling
|
||||
<dd>
|
||||
When SAT>IP client requests new mux configuration, tvheadend can handle it
|
||||
in three ways. The auto (0) configuration means that if the mux does not exists,
|
||||
a temporary mux is created and removed when the client closes the
|
||||
connection. The keep (1) configuration will remember all successfuly scanned muxes.
|
||||
The reject (2) configuration will reject unknown muxes.
|
||||
|
||||
<dt>Exported DVB-T/T2 Tuners
|
||||
<dd>
|
||||
Exported DVB-T/T2 tuners - streaming instances.
|
||||
|
||||
<dt>Exported DVB-S/S2 Tuners
|
||||
<dd>
|
||||
Exported DVB-S/S2 tuners - streaming instances.
|
||||
|
||||
<dt>Exported DVB-C/C2 Tuners
|
||||
<dd>
|
||||
Exported DVB-C/C2 tuners - streaming instances.
|
||||
|
||||
<dt>Exported ATSC/DVB-C(AnnexB) Tuners
|
||||
<dd>
|
||||
Exported ATSC/DVB-C(AnnexB) - streaming instances.
|
||||
|
||||
</dl>
|
||||
file set.
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
|
|
@ -1,136 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
<p>
|
||||
Muxes are locations at which services can be found. On traditional networks (DVB-C, -T and -S), these are carrier signals on which the individual channels are multiplexed, hence the name. However, Tvheadend also uses the term 'mux' to describe a source for multiple IP streams - so an IP address, in effect.
|
||||
</p>
|
||||
<p>
|
||||
<img src="docresources/configdvbmux.png">
|
||||
</p>
|
||||
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>Play
|
||||
<dd>Downloads a playlist file (M3U or XSPF, depending on your startup options) so you can tune to the mux from an external application.
|
||||
|
||||
<dt>Enabled
|
||||
<dd>Whether or not the mux is enabled and thus available.
|
||||
|
||||
<dt>EPG
|
||||
<dd>EPG scan setup
|
||||
|
||||
<dl>
|
||||
<dt>Disable
|
||||
<dd>Disable the EPG scan
|
||||
|
||||
<dt>Enable (auto)
|
||||
<dd>Enable the EPG scan (when some services from this mux are assigned to channels)
|
||||
|
||||
<dt>Force (auto)
|
||||
<dd>Force the EPG scan (everytime when the EPG scan is triggered)
|
||||
|
||||
<dt>Only EIT
|
||||
<dd>Do only EIT EPG scan (when some services from this mux are assigned to channels)
|
||||
|
||||
<dt>Only UK Freesat
|
||||
<dd>Do only UK Freesat EPG scan (when some services from this mux are assigned to channels)
|
||||
|
||||
<dt>Only UK Freeview
|
||||
<dd>Do only UK Freeview EPG scan (when some services from this mux are assigned to channels)
|
||||
|
||||
<dt>Only Viasat Baltic
|
||||
<dd>Do only Viasat Baltic EPG scan (when some services from this mux are assigned to channels)
|
||||
|
||||
<dt>Only OpenTV Sky UK
|
||||
<dd>Do only OpenTV Sky UK EPG scan (the TSID must match in the skyuk configuration file)
|
||||
|
||||
<dt>Only OpenTV Sky Italia
|
||||
<dd>Do only OpenTV Sky Italia EPG scan (the TSID must match in the skyit configuration file)
|
||||
|
||||
<dt>Only OpenTV Sky Ausat
|
||||
<dd>Do only OpenTV Sky Ausat EPG scan (the TSID must match in the ausat configuration file)
|
||||
|
||||
</dl>
|
||||
|
||||
<dt>Network
|
||||
<dd>The name of the network to which the mux belongs. Networks are defined in Configuration -> DVB Inputs -> Networks - DVB-S or ATSC, for example.
|
||||
|
||||
<dt>Original Network ID
|
||||
<dd>The ONID is a code which uniquely identifies a network.
|
||||
|
||||
<dt>Transport Stream ID
|
||||
<dd>The TSID is a code which identifies the network origination source or transmitter.
|
||||
|
||||
<dt>CRID Authority
|
||||
<dd>The group responsible for the Content Reference Identifier for this mux. This is effectively a URL/URI to an authoritative source for programme data (e.g. series link).
|
||||
|
||||
<dt>Scan Status
|
||||
<dd>Whether the mux is being scanned (ACTIVE), is planned to be scanned (PEND) or has reverted to idle scan (IDLE).
|
||||
|
||||
<dt>Scan Result
|
||||
<dd>Whether there were any problems with the last scan of this mux.
|
||||
|
||||
<dt>URL
|
||||
<dd>Mux URL.
|
||||
|
||||
<dl>
|
||||
<dt>udp://
|
||||
<dd>Raw MPEG-TS UDP packets
|
||||
|
||||
<dt>rtp://
|
||||
<dd>MPEG-TS UDP packets with RTP header
|
||||
|
||||
<dt>http://
|
||||
<dd>HTTP stream (MPEG-TS)
|
||||
|
||||
<dt>https://
|
||||
<dd>Secure HTTP stream (MPEG-TS)
|
||||
|
||||
<dt>pipe://
|
||||
<dd>Read standard output from an external program.
|
||||
If the program name does not have the first
|
||||
character '/', the PATH environment variable
|
||||
is used to find the program name in all
|
||||
directories specified by PATH.
|
||||
Additional arguments may be separated
|
||||
using spaces. A raw MPEG-TS stream is
|
||||
expected. The string ${service_name}
|
||||
is substituted with the service name
|
||||
field contents. The \ (backslash) character means
|
||||
"take the next character asis" (usually
|
||||
space or the backslash itself.
|
||||
|
||||
</dl>
|
||||
|
||||
<dt># Services
|
||||
<dd>The number of services found on this mux.
|
||||
|
||||
<dt>Character Set
|
||||
<dd>The character encoding for this mux (e.g. UTF-8).
|
||||
|
||||
<dt>PMT Descriptor 0x06 = AC-3
|
||||
<dd>Whether or not the empty PMT descriptor 0x06 defaults to
|
||||
the AC-3 stream. Some Chinese cable providers are using
|
||||
this. If unsure, keep this off.
|
||||
|
||||
<dt>Interface
|
||||
<dd>IPTV : the network interface/card on which the IPTV source can be found.
|
||||
|
||||
<dt>ATSC
|
||||
<dd>whether or not this is an ATSC IPTV source.
|
||||
|
||||
<dt>Priority
|
||||
<dd>IPTV : The mux priority value (higher value = higher priority to use services from this mux). Value 0 means use the IPTV network priority value.
|
||||
|
||||
<dt>Streaming Priority
|
||||
<dd>IPTV : The mux priority value for streamed channels through HTTP or HTSP (higher value = higher priority to use services from this mux). Value 0 means use the standard streaming network priority value.
|
||||
|
||||
<dt>Environment (pipe)
|
||||
<dd>IPTV : List of environment variables for pipe (like PATH=/bin:/sbin)
|
||||
separated by spaces. The backslash character is handled like
|
||||
in URL.
|
||||
|
||||
<dt>Respawn (pipe)
|
||||
<dd>IPTV : Respawn the executed process when it dies.
|
||||
</dl>
|
||||
</div>
|
|
@ -1,28 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
<p>
|
||||
Mux Schedulers enable Tvheadend to automatically play channels.
|
||||
This is useful to get EPG, services or access rights updates.
|
||||
</p>
|
||||
<p>
|
||||
<img src="docresources/configdvbmuxsched.png">
|
||||
</p>
|
||||
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt>Enabled
|
||||
<dd>If selected, schedule will be triggered.
|
||||
If unselected, schedule will be ignored.
|
||||
|
||||
<dt>Mux
|
||||
<dd>Select mux to be played from the available muxes.
|
||||
|
||||
<dt>Cron
|
||||
<dd>Schedule frequency, using cron syntax.
|
||||
<dd>Example : every day at 2am is : 0 2 * * *
|
||||
|
||||
<dt>Timeout
|
||||
<dd>Time in seconds the selected mux will be played.
|
||||
<dd>Example : 1 hour would be 3600.
|
||||
</dl>
|
||||
</div>
|
|
@ -1,115 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
<p>
|
||||
A network is the type of carrier for your television signals. Tvheadend supports several different types of network, notably:
|
||||
<dl>
|
||||
<li><b>DVB-C</b> : Cable TV, delivered via a cable to your house
|
||||
<li><b>DVB-S</b> : Satellite (includes S2), so any signal coming in via a dish
|
||||
<li><b>DVB-T</b> : Terrestrial, so over-the-air broadcasts received through a traditional television aerial
|
||||
<li><b>ATSC</b> : Over-the-air terrestrial, common in north and central America and parts of south Asia
|
||||
<li><b>IPTV</b> : IP, so over the Internet
|
||||
</dl>
|
||||
</p>
|
||||
<p>
|
||||
<img src="docresources/configdvbnetwork.png">
|
||||
</p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Buttons</b>
|
||||
<hr>
|
||||
Buttons have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Add</b>
|
||||
<dd>
|
||||
Add a new network. You can choose from any of the types described above.
|
||||
<p>
|
||||
<dt><b>Delete</b>
|
||||
<dd>
|
||||
Delete an existing network. This will also remove any association with an adapter.
|
||||
<p>
|
||||
<dt><b>Edit</b>
|
||||
<dd>
|
||||
Edit an existing network. This allows you to change any of the parameters you'd otherwise set when adding a new network, e.g. network discovery, idle scan, etc. - similar to using the check boxes to enable/disable functions.
|
||||
<p>
|
||||
<dt><b>Save</b>
|
||||
<dd>
|
||||
Saves any changes.
|
||||
<p>
|
||||
<dt><b>Undo</b>
|
||||
<dd>
|
||||
Undoes any changes.
|
||||
<p>
|
||||
</dl>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Columns</b>
|
||||
<hr>
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt><b>Network Name</b>
|
||||
<dd>The name of the network. This can be set automatically or you can give it a name that means something to you (e.g. if you have multiple OTA networks).
|
||||
<p>
|
||||
<dt><b>Network Discovery</b>
|
||||
<dd>Whether automatic discovery is enabled for this network, i.e. whether Tvheadend looks for muxes or simply stays with the list of muxes as defined initially.
|
||||
<p>
|
||||
<dt><b>Skip initial Scan</b>
|
||||
<dd>Don't scan all muxes in this network at Tvheadend start.
|
||||
The initial scan procedure is not a blind scan. Only known muxes
|
||||
registered to this network are scanned. If Network Discovery
|
||||
is enabled and new muxes are discovered using DVB
|
||||
descriptors, these muxes will be scanned too.
|
||||
<p>
|
||||
<dt><b>Idle Scan Muxes</b>
|
||||
<dd>When nothing else happens Tvheadend will continuously rotate among all muxes and tune to them to verify that they are still working
|
||||
when the inputs are not used for streaming. If your adapter have problems with lots of (endless) tuning, try to disable this.
|
||||
Note that this option should be OFF for the normal operation. This type of mux probing is not required and
|
||||
it may cause issues for SAT>IP (limited number of PID filters).
|
||||
<p>
|
||||
<dt><b>Ignore Provider's Channel Numbers</b>
|
||||
<dd>Some providers will try to set a channel number so that every receiver is consistent - "tune to Channel x on 150". This option allows you to ignore this and let tvhheadend allocate a channel number itself.
|
||||
<p>
|
||||
<dt><b>Max Input Streams</b>
|
||||
<dd>IPTV : maximum simultaneous streams that can be played.
|
||||
<p>
|
||||
<dt><b>Max Bandwidth</b>
|
||||
<dd>IPTV : maximum bandwidth allowed for streams.
|
||||
<p>
|
||||
<dt><b>Max timeout</b>
|
||||
<dd>IPTV : maximum timeout trying to play stream.
|
||||
<p>
|
||||
<dt><b>Network ID</b>
|
||||
<dd>If you experience problems caused by overlaps between multiple network
|
||||
providers this option can be used to filter which network ID is received
|
||||
by a given adapter.
|
||||
<p>
|
||||
<dt><b>Ignore Provider's Channel Numbers</b>
|
||||
<dd>Do not use the local channel numbers defined by provider.
|
||||
<p>
|
||||
<dt><b>SAT>IP Source Number</b>
|
||||
<dd>This field is matched through the "src" parameter asked from the
|
||||
SAT>IP client. Usually (and by default) this value is 1.
|
||||
For satellite tuners, this value determines the satellite source (dish).
|
||||
By specification position 1 = DiseqC AA, 2 = DiseqC AB, 3 = DiseqC BA,
|
||||
4 = DiseqC BB, but any numbers may be used - depends on the SAT>IP
|
||||
client. Note that if you use same number for multiple networks,
|
||||
the first matched network containing the mux with requested parameters
|
||||
will win (also for unknown mux). If this field is set to zero,
|
||||
the network cannot be used by the SAT>IP server.</dd>
|
||||
<p>
|
||||
<dt><b>EIT Local Time</b>
|
||||
<dd>EPG (EIT) events uses local time instead UTC.
|
||||
<p>
|
||||
<dt><b>Character Set</b>
|
||||
<dd>The character encoding for this network (e.g. UTF-8).
|
||||
<p>
|
||||
<dt><b>Priority</b>
|
||||
<dd>IPTV : The network priority value (higher value = higher priority to use muxes/services from this network).
|
||||
<p>
|
||||
<dt><b>Streaming Priority</b>
|
||||
<dd>IPTV : The network priority value for streamed channels through HTTP or HTSP (higher value = higher priority to use muxes/services from this
|
||||
network). If not set, the standard network priority value is used.
|
||||
|
||||
</dl>
|
||||
</div>
|
|
@ -1,83 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
<p>
|
||||
Services are automatically pulled from muxes and can be mapped to Channels.
|
||||
</p>
|
||||
<p>
|
||||
<img src="docresources/configdvbservices.png">
|
||||
</p>
|
||||
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt>Play
|
||||
<dd>Opens a playlist (M3U of XSPF, depending on your startup options) to allow you to stream this service to another application, e.g. to watch a channel in VLC.
|
||||
|
||||
<dt>Details
|
||||
<dd>Display details on this service, e.g. PID, streams, audio/video CODECs, languages, etc.
|
||||
|
||||
<dt>Enabled
|
||||
<dd>Whether or not this service is available for use
|
||||
|
||||
<dt>Automatic Checking
|
||||
<dd>Check for the service presence. If service is no longer broadcasted,
|
||||
this field will become as "Missing In PAT/SDT". The
|
||||
check can be also disabled for given service using this
|
||||
column.
|
||||
|
||||
<dt>Priority
|
||||
<dd>Define priority (range 0-10) for this service. The higher value means more preferred.
|
||||
Note that this value is _added_ to the input (tuner) priority.
|
||||
Take this in account when you set the input priorities.
|
||||
|
||||
<dt>Channel
|
||||
<dd>The channel to which the service is mapped
|
||||
|
||||
<dt>Service Name
|
||||
<dd>The name of the service, detected when the service was discovered
|
||||
|
||||
<dt>Encrypted
|
||||
<dd>Whether or not the service is scrambled
|
||||
|
||||
<dt>Network
|
||||
<dd>The network on which this service resides (i.e. whether it's a cable channel or a terrestrial one)
|
||||
|
||||
<dt>Mux
|
||||
<dd>The mux which carries this service. This is typically the frequency of the carrier signal in kHz, with polarisation (H or V) as applicable.
|
||||
|
||||
<dt>Service ID
|
||||
<dd>A unique identifier for this service within this mux/transport stream.
|
||||
|
||||
<dt>Local Channel Number
|
||||
<dd>Channel number as assigned by the broadcaster.
|
||||
|
||||
<dt>Provider
|
||||
<dd>Any supplied provider string, e.g. where multiple broadcasters share a platform, such as for free-to-air and pay TV.
|
||||
|
||||
<dt>CRID Authority
|
||||
<dd>The group responsible for the Content Reference Identifier for this service. This is effectively a URL/URI to an authoritative source for programme data (e.g. series link).
|
||||
|
||||
<dt>Service Type
|
||||
<dd>The service type flag as defined by the DVB specifications (e.g. 0x02 = radio, 0x11 = MPEG2 HD TV, 0x19 = H.264 HD TV)
|
||||
|
||||
<dt>Pref. CA PID
|
||||
<dd>The Preferred Conditional Access Packet Identifier. Used for decrypting scrambled streams.
|
||||
|
||||
<dt>Lock Pref. CA PID
|
||||
<dd>The locking mechanism selection for The Preferred Conditional Access Packet Identifier.
|
||||
<dl>
|
||||
<dt>Off
|
||||
<dd>Automatic Preferred Conditional Access Packet Identifier selection.
|
||||
<dt>On
|
||||
<dd>Keep Preferred Conditional Access Packet Identifier selection (no automatic modifications allowed).
|
||||
<dt>Only Pref. CA PID
|
||||
<dd>Filter mode - use only Preferred Conditional Access Packet Identifier for the streams decryption.
|
||||
</dl>
|
||||
|
||||
<dt>Character Set
|
||||
<dd>The character encoding for this service (e.g. UTF-8).
|
||||
|
||||
|
||||
|
||||
|
||||
</dl>
|
||||
</div>
|
|
@ -1,41 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Buttons</b>
|
||||
<hr>
|
||||
Buttons have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Add</b>
|
||||
<dd>
|
||||
Add a new profile. You can choose from any of the types from the list.
|
||||
<p>
|
||||
<dt><b>Delete</b>
|
||||
<dd>
|
||||
Delete an existing profile.
|
||||
<p>
|
||||
<dt><b>Save</b>
|
||||
<dd>
|
||||
Saves any changes.
|
||||
<p>
|
||||
<dt><b>Undo</b>
|
||||
<dd>
|
||||
Undoes any changes.
|
||||
<p>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Columns</b>
|
||||
<hr>
|
||||
The columns have the following functions:
|
||||
|
||||
<dl>
|
||||
<dt><b>Stream Profile Name</b>
|
||||
<dd>This column contains the name of Stream Profile.
|
||||
|
||||
</dl>
|
||||
</div>
|
|
@ -7,12 +7,12 @@
|
|||
Tags are used to define a set of channels.
|
||||
Notice that nothing prohibits a channel to be a member of multiple tags.
|
||||
Also, there is no requirement to configure tags for running Tvheadend
|
||||
itself. It is, however, required if you run Tvheadend together with Movian.
|
||||
itself. It is, however, required if you run Tvheadend together with Showtime.
|
||||
<p>
|
||||
The tag-sets are used for:
|
||||
<ul>
|
||||
<li>Searches in the EPG.
|
||||
<li>Display of channel groups in the Movian Media player.
|
||||
<li>Display of channel groups in the Showtime Media player.
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
@ -48,16 +48,9 @@
|
|||
automatic recordings, groups, etc.
|
||||
|
||||
<dt>Internal
|
||||
<dd>Tags are exported via HTSP/HTTP and used there for grouping of
|
||||
TV channels. If you do not wish to export a tag you can flag
|
||||
it as internal only.
|
||||
|
||||
<dt>Private
|
||||
<dd>Tags are exported via HTSP/HTTP and used there for grouping of TV
|
||||
channels. If you do not wish to export a tag to other users you can
|
||||
flag it as private only. Only users with this tag configured
|
||||
in the access configuration (or users with not set tags) can
|
||||
use it.
|
||||
<dd>Tags are exported via HTSP (to the Showtime Media player) and used
|
||||
there for grouping of TV channels. If you do not wish to export a
|
||||
tag you can flag it as internal only.
|
||||
|
||||
<dt>Icon
|
||||
<dd>Full path to an icon used to depict the tag. This can be a TV network
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
<img src="docresources/configtimeshifttab.png">
|
||||
|
||||
<p>
|
||||
This tab is used to configure timeshift properties.
|
||||
|
||||
<p>
|
||||
Configuration options:
|
||||
<dl>
|
||||
<dt>Enabled
|
||||
<dd>Turn on and off timeshift.
|
||||
|
||||
<dt>On-Demand
|
||||
<dd>Turn this on to start timeshift buffer on pause. In this mode
|
||||
you cannot rewind the buffer (it always begins on the currently playing
|
||||
frame).
|
||||
|
||||
Without this option there will be a permanent, circular, buffer up to
|
||||
the limits defined below.
|
||||
|
||||
<dt>Storage Path:
|
||||
<dd>Where the timeshift data will be stored. If nothing is specified this
|
||||
will default to CONF_DIR/timeshift/buffer
|
||||
|
||||
<dt>Max. Period (mins):
|
||||
<dd>Specify the maximum time period that will be buffered for any given
|
||||
(client) subscription.
|
||||
|
||||
<dt>Unlimited:
|
||||
<dd>If checked, this allows the timeshift buffer to grow unbounded until
|
||||
your storage media runs out of space (WARNING: this could be dangerous!).
|
||||
|
||||
<dt>Max. Size (MegaBytes)
|
||||
<dd>Specifies the maximum combined size of all timeshift buffers. If you
|
||||
specify an unlimited period its highly recommended you specifying a value
|
||||
here.
|
||||
|
||||
<dt>Max. RAM Size (MegaBytes)
|
||||
<dd>Specifies the maximum RAM (system memory) size for timeshift buffers.
|
||||
When free RAM buffers are available, they are used instead storage to
|
||||
save the timeshift data.
|
||||
|
||||
<dt>Unlimited:
|
||||
<dd>If checked, this allows the combined size of all timeshift buffers to
|
||||
potentially grow unbounded until your storage media runs out of space
|
||||
(WARNING: this could be dangerous!).
|
||||
|
||||
</dl>
|
||||
Changes to any of these settings must be confirmed by pressing the
|
||||
'Save configuration' button before taking effect.
|
||||
|
||||
NOTE: These settings represent server side maximums, however the clients can
|
||||
request smaller buffers or even not to create a buffer at all (for example
|
||||
should they not support timeshifting).
|
||||
</div>
|
|
@ -1,199 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
<h3>The adapters and tuners are listed / edited in a tree</h3>
|
||||
|
||||
<ul>
|
||||
<li>To edit an item, click on it. To commit edited changes back to
|
||||
Tvheadend press the 'Save' button. In order to change a Checkbox cell
|
||||
you only have to click once in it.
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
<img src="docresources/configtvadapters.png">
|
||||
</p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Rows</b>
|
||||
<hr>
|
||||
The rows have the following functions
|
||||
<br><br>
|
||||
<dt><u><i><b>Basic Settings</b></i></u></dt>
|
||||
<dl>
|
||||
<dt><b>Enabled</b></dt>
|
||||
<dd>If selected, this tuner/adapter will be enabled and will become available to receive broadcasts or programmes.</dd>
|
||||
<p>
|
||||
<dt><b>Name</b></dt>
|
||||
<dd>The name of this tuner.</dd>
|
||||
<p>
|
||||
<dt><b>Over-the-Air EPG</b></dt>
|
||||
<dd>Enable over-the-air programme guide (EPG) scanning on this input device.</dd>
|
||||
<p>
|
||||
<dt><b>Networks</b></dt>
|
||||
<dd>Associate this device with one or more networks.</dd>
|
||||
<p>
|
||||
</dl>
|
||||
<dt><u><i><b>Advanced Settings</b></i></u></dt>
|
||||
<dl>
|
||||
<dt><b>Priority</b></dt>
|
||||
<dd>The tuner priority value (higher value = higher priority to use this
|
||||
tuner).</dd>
|
||||
<p>
|
||||
<dt><b>Streaming Priority</b></dt>
|
||||
<dd>The tuner priority value for streamed channels through HTTP or HTSP
|
||||
(higher value = higher priority to use this tuner). If not set (zero),
|
||||
the standard priority value is used.</dd>
|
||||
<p>
|
||||
<dt><b>Init Scan</b></dt>
|
||||
<dd>Allow the initial scan tuning on this device. See to
|
||||
Skip initial Scan in the network settings for the further description.</dd>
|
||||
<p>
|
||||
<dt><b>Idle Scan</b></dt>
|
||||
<dd>Allow the idle scan tuning on this device.</dd>
|
||||
<p>
|
||||
<dt><b>Linked Input</b></dt>
|
||||
<dd>Always make alive also the linked input. The subscriptions are named as "keep".</dd>
|
||||
</dl>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
<hr>
|
||||
<b>LinuxDVB Specific Rows</b>
|
||||
<hr>
|
||||
|
||||
<dl>
|
||||
<dt><b>Power Save</b></dt>
|
||||
<dd>If enabled, allows the tuner to go to sleep when idle.</dd>
|
||||
<p>
|
||||
<dt><b>Tune Before DiseqC</b></dt>
|
||||
<dd>If set, one tune request (setup) is proceed before the DiseqC
|
||||
sequence (voltage, tone settings). Some linux drivers require this
|
||||
procedure.</dd>
|
||||
<p>
|
||||
<dt><b>Tune Repeats</b></dt>
|
||||
<dd>If set, the tune requests are repeated using this number. Zero means
|
||||
one tune requests, one two tune requests etc.</dd>
|
||||
<p>
|
||||
<dt><b>Skip Initial Bytes</b></dt>
|
||||
<dd>If set, first bytes from the MPEG-TS stream are discarded. It may be
|
||||
required for some drivers / hardware which does not flush completely
|
||||
the MPEG-TS buffers after a frequency/parameters change.</dd>
|
||||
<p>
|
||||
<dt><b>Input Buffer (Bytes)</b></dt>
|
||||
<dd>By default, linuxdvb input buffer is 18800 bytes long. The accepted
|
||||
range is 18800-1880000 bytes.</dd>
|
||||
<p>
|
||||
<dt><b>Status Period</b></dt>
|
||||
<dd>By default, linuxdvb status read period is 1000ms (one second). The
|
||||
accepted range is 250ms to 8000ms. Note that for some hardware /
|
||||
drivers (like USB), the status operations takes too much time and CPU.
|
||||
In this case, increase the default value. For fast hardware, this value
|
||||
might be descreased to make the decision of the re-tune algorithm
|
||||
based on the signal status faster.</dd>
|
||||
<p>
|
||||
<dt><b>Force old status</b></dt>
|
||||
<dd>Always use the old ioctls to read the linuxdvb status (signal strenght,
|
||||
SNR, error counters). Some drivers are not matured enough to provide
|
||||
the correct values using the new v5 linuxdvb API.</dd>
|
||||
</dl>
|
||||
|
||||
<br>
|
||||
<hr>
|
||||
<b>LinuxDVB Satellite Config Rows</b>
|
||||
<hr>
|
||||
|
||||
<dl>
|
||||
<dt><b>DiseqC repeats</b></dt>
|
||||
<dd>Number of repeats for the DiseqC commands (default is zero - no DiseqC repeats).</dd>
|
||||
<p>
|
||||
<dt><b>Full DiseqC</b></dt>
|
||||
<dd>Always sent the whole DiseqC sequence including LNB setup (voltage, tone).
|
||||
If this is not checked, only changed settings is set. It may cause
|
||||
issues with some drivers. If the tuning is not reliable, try to
|
||||
activate this option.</dd>
|
||||
<p>
|
||||
<dt><b>Turn off LNB when idle</b></dt>
|
||||
<dd>Turn off LNB when it is not used. It may save some power.</dd>
|
||||
<p>
|
||||
<dt><b>Switch Then Rotor</b></dt>
|
||||
<dd>If the DiseqC switch is before rotor (tuner - switch - rotor), enable this.</dd>
|
||||
<p>
|
||||
<dt><b>Init Rotor Time (seconds)</b></dt>
|
||||
<dd>Upon new start, tvheadend does not know the last rotor position. This
|
||||
value defined the initial rotor movement. TVHeadend waits the
|
||||
specified seconds when the first movement is requested.</dd>
|
||||
<dt><b>Min Rotor Time (seconds)</b></dt>
|
||||
<dd>The minimum delay after the rotor movement command is send.</dd>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>SAT>IP Specific Rows</b>
|
||||
<hr>
|
||||
|
||||
<dl>
|
||||
<dt><b>Full Mux Rx mode supported</b></dt>
|
||||
<dd>Enable if the SAT>IP box supports the full mux rx mode (pids=all)<br>
|
||||
note: no comma after 'Enable'</dd>
|
||||
<p>
|
||||
<dt><b>Signal scale (240 or 100)</b></dt>
|
||||
<dd>Some SAT>IP boxes only report a 0-100 (percentage) signal strength. If your signal strength reports as too low, try
|
||||
setting this to 100.</dd>
|
||||
<p>
|
||||
<dt><b>Maximum PIDs</b><dt>
|
||||
<dd>Maximum supported PIDs in the filter of the SAT>IP box.</dd>
|
||||
<p>
|
||||
<dt><b>Maximum length of PIDs</b><dt>
|
||||
<dd>Maximum length in characters for the command setting PIDs to the
|
||||
SAT>IP box.</dd>
|
||||
<p>
|
||||
<dt><b>Addpids/delpids supported</b></dt>
|
||||
<dd>Enable if the SAT>IP box supports the addpids/delpids command.
|
||||
<p>
|
||||
<dt><b>PIDs in setup</b></dt>
|
||||
<dd>Enable, if the SAT>IP box requires pids=0 parameter in the SETUP RTSP command.</dd>
|
||||
<p>
|
||||
<dt><b>Double RTSP Shutdown</b></dt>
|
||||
<dd>Enable, if the SAT>IP box might require to send twice the RTSP SHUTDOWN command.</dd>
|
||||
<p>
|
||||
<dt><b>Force pilot for DVB-S2</b></dt>
|
||||
<dd>Enable, if the SAT>IP box requiest plts=on parameter in the SETUP RTSP
|
||||
command for DVB-S2 muxes.</dd>
|
||||
<p>
|
||||
<dt><b>UDP RTP Port Number (2 ports)</b></dt>
|
||||
<dd>Force the local UDP Port number here. The number should be even (RTP port).
|
||||
The next odd number (+1) will be used as the RTCP port.</dd>
|
||||
<p>
|
||||
<dt><b>Satellite Positions</b></dt>
|
||||
<dd>Select the number of satellite positions supported by the SAT>IP
|
||||
hardware and your coaxial cable wiring.</dd>
|
||||
<p>
|
||||
<dt><b>Master Tuner</b></dt>
|
||||
<dd>Select the master tuner.
|
||||
<p>The signal from the standard universal LNB can be split using
|
||||
a simple coaxial splitter (no multiswitch) to several outputs.
|
||||
In this case, the position, the polarization and low-high
|
||||
band settings must be equal.</p>
|
||||
<p>If you set other tuner as master, then this tuner will act like
|
||||
a slave one and tvheadend will assure that this tuner will not
|
||||
use incompatible parameters (position, polarization, lo-hi).</p>
|
||||
</dd>
|
||||
<P>
|
||||
<dt><b>Next tune delay in ms (0-2000)</b></dt>
|
||||
<dd>The delay before tuning in milliseconds after tuner stop. If the time
|
||||
after previous start and next start is greater than this value -
|
||||
the delay is not applied.</dt>
|
||||
<p>
|
||||
<dt><b>Send full PLAY cmd</b></dt>
|
||||
<dd>Send the full RTSP PLAY command after full RTSP SETUP command. Some
|
||||
device firmwares requires this to get MPEG-TS stream.</dd>
|
||||
<p>
|
||||
<dt><b>Force teardown delay</b><dt>
|
||||
<dd>Force the delay between RTSP TEARDOWN and RTSP SETUP command (value
|
||||
from 'Next tune delay in ms' is used). Some devices are not able to handle
|
||||
quick continuous tuning.</dd>
|
||||
|
||||
</dl>
|
||||
</p>
|
||||
|
||||
</div>
|
|
@ -1,38 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
|
||||
<img src="docresources/configtvhlog.png"></img>
|
||||
|
||||
<p>This tab is used to configure various debugging options in tvheadend.</p>
|
||||
|
||||
<p>Configuration options:</p>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>Debug log path</dt>
|
||||
<dd></dd>
|
||||
|
||||
<dt>Debug to syslog</dt>
|
||||
<dd></dd>
|
||||
|
||||
<dt>Debug trace (low-level stuff)</dt>
|
||||
<dd></dd>
|
||||
|
||||
<dt>Debug subsystems</dt>
|
||||
<dd></dd>
|
||||
|
||||
<dt>Trace subsystems</dt>
|
||||
<dd></dd>
|
||||
|
||||
</dl>
|
||||
<p>
|
||||
Changes to any of these settings must be confirmed by pressing
|
||||
the 'Save configuration' button before taking effect.
|
||||
</p>
|
||||
<p>
|
||||
Note that the settings is not saved to a storage. It is available
|
||||
only until the actual tvheadend process is running. If you like to change the
|
||||
default behaviour permanently, use the command line options like -l,
|
||||
--debug, --trace. This configuration is stored usually in the /etc/sysconfig
|
||||
tree (depending on the distribution) or an init script.
|
||||
<p>
|
||||
</div>
|
|
@ -1,118 +1,5 @@
|
|||
<div class="hts-doc-section">Automatic recordings</div>
|
||||
<div class="hts-doc-text">
|
||||
This tab is used to create and maintain Digital Video Recorder rules. These can be EPG-driven (such as those created from the initial EPG tab) through the DVR AutoRec Entries tab , or can be timer-based through the Time Schedules tab.
|
||||
<br>
|
||||
<br>
|
||||
This tab controls EPG-driven recording rules.
|
||||
<p>
|
||||
<img src="docresources/dvrautorecentries.png">
|
||||
</p>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Buttons</b>
|
||||
<hr>
|
||||
Buttons have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Add</b>
|
||||
<dd>
|
||||
Add and configure a recording rule - define the channel, schedule, DVR configuration, priority, etc.
|
||||
<p>
|
||||
<dt><b>Delete</b>
|
||||
<dd>
|
||||
Delete an existing recording rule.
|
||||
<p>
|
||||
<dt><b>Edit</b>
|
||||
<dd>
|
||||
Manually edit an existing recording rule. This uses the same fields as <b>Add</b>, but they're pre-populated with their current values.
|
||||
<p>
|
||||
<dt><b>Save</b>
|
||||
<dd>
|
||||
Saves any changes made to the recording rule list.
|
||||
<p>
|
||||
<dt><b>Undo</b>
|
||||
<dd>
|
||||
Undoes any changes made to the recording rules list (any changed fields will be marked with a small red triangle).
|
||||
<p>
|
||||
</dl>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Columns</b>
|
||||
<hr>
|
||||
The columns have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Enabled</b>
|
||||
<dd>
|
||||
Check or clear this box to enable or disable this rule.
|
||||
<p>
|
||||
<dt><b>Name</b>
|
||||
<dd>
|
||||
The name you've given to the rule, e.g. 'Stuff involving Jeremy Clarkson'.
|
||||
<p>
|
||||
<dt><b>Directory</b>
|
||||
<dd>
|
||||
When specified, this setting overrides the subdirectory rules (except the base directory) specified by the DVR configuration
|
||||
and puts all recordings done by this entry into the specified subdirectory. Useful for e.g. recording multiple different news
|
||||
broadcasts into one common subdirectory called "News". The backshlash and other special characters are escaped, so it is possible
|
||||
to create only one sublevel subdirectories (the base path for the target directory is always taken from the DVR configuration).
|
||||
<p>
|
||||
<dt><b>Title (Regexp)</b>
|
||||
<dd>
|
||||
The title of the programme to look for. Note that this accepts case-insensitive regular expressions, so you can use pattern matching as Tvheadend scans the EPG for programmes to record.
|
||||
<p>
|
||||
<dt><b>Fulltext</b>
|
||||
<dd>
|
||||
When the fulltext is checked, the title pattern is matched against title,
|
||||
subtitle, summary and description.
|
||||
<p>
|
||||
<dt><b>Channel</b>
|
||||
<dd>
|
||||
The channel on which this rule applies, i.e. the channel you're aiming to record.
|
||||
<p>
|
||||
<dt><b>Channel Tag</b>
|
||||
<dd>
|
||||
A channel tag (e.g. a group of channels) on which this rule applies.
|
||||
<p>
|
||||
<dt><b>Content Type</b>
|
||||
<dd>
|
||||
The content type (Movie/Drama, Sports...) to be used to filter matching events/programmes.
|
||||
<p>
|
||||
<dt><b>Minimal Duration</b>
|
||||
<dd>
|
||||
The minimal duration of a matching event - in other words, only match programmes that are no shorter than this duration.
|
||||
<p>
|
||||
<dt><b>Maximal Duration</b>
|
||||
<dd>
|
||||
The maximal duration of a matching event - in other words, only match programmes that are no longer than this duration.
|
||||
<p>
|
||||
<dt><b>Week Days</b>
|
||||
<dd>
|
||||
On which specific days of the week to find matching programmes.
|
||||
<p>
|
||||
<dt><b>Start After</b>
|
||||
<dd>
|
||||
An event which starts between this "start after" and "start before" will be matched (including boundary values).
|
||||
<p>
|
||||
<dt><b>Start Before</b>
|
||||
<dd>
|
||||
An event which starts between this "start after" and "start before" will be matched (including boundary values).
|
||||
<p>
|
||||
<dt><b>Priority</b>
|
||||
<dd>
|
||||
The priority of any recordings set because of this rule: important, high, normal, low, unimportant.
|
||||
<p>
|
||||
<dt><b>DVR Configuration</b>
|
||||
<dd>
|
||||
The DVR configuration (e.g. extra start/stop time, post-processing rules) to be used for any recordings set because of this rule.
|
||||
<p>
|
||||
<dt><b>Creator</b>
|
||||
<dd>
|
||||
The creator of the rule. Automatically set.
|
||||
<p>
|
||||
<dt><b>Comment</b>
|
||||
<dd>
|
||||
A free-text comment. Not used otherwise.
|
||||
<p>
|
||||
is niiice.
|
||||
|
||||
</div>
|
||||
|
|
|
@ -1,82 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
This tab show your all failed recordings.
|
||||
|
||||
<p>
|
||||
<img src="docresources/failedrecordings1.png">
|
||||
</p>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Buttons</b>
|
||||
<hr>
|
||||
Buttons have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Delete</b>
|
||||
<dd>
|
||||
If clicked delete selected failed recordings you delete recordings. Before deleted show message: Do you really want to delete the selection ? Answer Yes or No.
|
||||
<p>
|
||||
<dt><b>Download</b>
|
||||
<dd>
|
||||
Click this button to download the selected failed recordings to a local disk. You will be prompted to select the path for the saved file(s).
|
||||
</dl>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Columns</b>
|
||||
<hr>
|
||||
The columns have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Details</b>
|
||||
<dd>
|
||||
Show red status and blue icon "i". After click on icon "i" you see info about select failed recordings.
|
||||
<p>
|
||||
<img src="docresources/failedrecordings2.png">
|
||||
<p>
|
||||
<dt><b>Play</b>
|
||||
<dd>
|
||||
Can play selected record in web browser by VLC Plugin or other external player.
|
||||
<p>
|
||||
<dt><b>Title</b>
|
||||
<dd>
|
||||
Showing title of record.
|
||||
<p>
|
||||
<dt><b>Episod</b>
|
||||
<dd>
|
||||
Showing number episod of record.
|
||||
<p>
|
||||
<dt><b>Scheduled Start Time</b>
|
||||
<dd>
|
||||
Showing date and time when the recording was started.
|
||||
<p>
|
||||
<dt><b>Scheduled Stop Time</b>
|
||||
<dd>
|
||||
Showing date and time when the recording was stoped.
|
||||
<p>
|
||||
<dt><b>Duration</b>
|
||||
<dd>
|
||||
Showing how long it took the recording.
|
||||
<p>
|
||||
<dt><b>File Size</b>
|
||||
<dd>
|
||||
<p>
|
||||
Showing size of file recording.
|
||||
<dt><b>Channel Name</b>
|
||||
<dd>
|
||||
Showing the name of the channel from which the recording was made.
|
||||
<p>
|
||||
<dt><b>Creator</b>
|
||||
<dd>
|
||||
Showing the name of the user who created the recording.
|
||||
<p>
|
||||
<dt><b>Schedule Status</b>
|
||||
<dd>
|
||||
Showing the status info of record.
|
||||
<p>
|
||||
<dt><b>URL</b>
|
||||
<dd>
|
||||
Showing the URL of record.
|
||||
<p>
|
||||
|
||||
</div>
|
|
@ -1,82 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
This tab show your all finished recordings.
|
||||
|
||||
<p>
|
||||
<img src="docresources/finishedrecordings1.png">
|
||||
</p>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Buttons</b>
|
||||
<hr>
|
||||
Buttons have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Delete</b>
|
||||
<dd>
|
||||
If clicked delete selected finished recordings you delete recordings. Before deleted show message: Do you really want to delete the selection ? Answer Yes or No.
|
||||
<p>
|
||||
<dt><b>Download</b>
|
||||
<dd>
|
||||
Click this button to download the selected finished recordings to a local disk. You will be prompted to select the path for the saved file(s).
|
||||
</dl>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Columns</b>
|
||||
<hr>
|
||||
The columns have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Details</b>
|
||||
<dd>
|
||||
Show green status and blue icon "i". After click on icon "i" you see info about select finished recordings.
|
||||
<p>
|
||||
<img src="docresources/finishedrecordings2.png">
|
||||
<p>
|
||||
<dt><b>Play</b>
|
||||
<dd>
|
||||
Can play selected record in web browser by VLC Plugin or other external player.
|
||||
<p>
|
||||
<dt><b>Title</b>
|
||||
<dd>
|
||||
Showing title of record.
|
||||
<p>
|
||||
<dt><b>Episod</b>
|
||||
<dd>
|
||||
Showing number episod of record.
|
||||
<p>
|
||||
<dt><b>Scheduled Start Time</b>
|
||||
<dd>
|
||||
Showing date and time when the recording was started.
|
||||
<p>
|
||||
<dt><b>Scheduled Stop Time</b>
|
||||
<dd>
|
||||
Showing date and time when the recording was stoped.
|
||||
<p>
|
||||
<dt><b>Duration</b>
|
||||
<dd>
|
||||
Showing how long it took the recording.
|
||||
<p>
|
||||
<dt><b>File Size</b>
|
||||
<dd>
|
||||
<p>
|
||||
Showing size of file recording.
|
||||
<dt><b>Channel Name</b>
|
||||
<dd>
|
||||
Showing the name of the channel from which the recording was made.
|
||||
<p>
|
||||
<dt><b>Creator</b>
|
||||
<dd>
|
||||
Showing the name of the user who created the recording.
|
||||
<p>
|
||||
<dt><b>Schedule Status</b>
|
||||
<dd>
|
||||
Showing the status info of record.
|
||||
<p>
|
||||
<dt><b>URL</b>
|
||||
<dd>
|
||||
Showing the URL of record.
|
||||
<p>
|
||||
|
||||
</div>
|
|
@ -1,101 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
This tab is used to create and maintain Digital Video Recorder rules. These can be EPG-driven (such as those created from the initial EPG tab) through the DVR AutoRec Entries tab , or can be timer-based through the Time Schedules tab.
|
||||
<br>
|
||||
<br>
|
||||
This tab controls timer-driven recording rules.
|
||||
<p>
|
||||
<img src="docresources/timeschedules.png">
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Buttons</b>
|
||||
<hr>
|
||||
Buttons have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Add</b>
|
||||
<dd>
|
||||
Add and configure a recording rule - define the channel, schedule, DVR configuration, priority, etc.
|
||||
<p>
|
||||
<dt><b>Delete</b>
|
||||
<dd>
|
||||
Delete an existing recording rule.
|
||||
<p>
|
||||
<dt><b>Edit</b>
|
||||
<dd>
|
||||
Manually edit an existing recording rule. This uses the same fields as Add, but they're pre-populated with their current values.
|
||||
<p>
|
||||
<dt><b>Save</b>
|
||||
<dd>
|
||||
Saves any changes made to the recording rule list.
|
||||
<p>
|
||||
<dt><b>Undo</b>
|
||||
<dd>
|
||||
Undoes any changes made to the recording rules list (any changed fields will be marked with a small red triangle).
|
||||
<p>
|
||||
</dl>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Columns</b>
|
||||
<hr>
|
||||
The columns have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Enabled</b>
|
||||
<dd>
|
||||
Check or clear this box to enable or disable this rule.
|
||||
<p>
|
||||
<dt><b>Name</b>
|
||||
<dd>
|
||||
The name you've given to the rule, e.g. 'Evening cartoons for the children'.
|
||||
<p>
|
||||
<dt><b>Directory</b>
|
||||
<dd>
|
||||
When specified, this setting overrides the subdirectory rules specified by the DVR configuration and puts all recordings done by this entry into the specified subdirectory. Useful for e.g. recording multiple different news broadcasts into one common subdirectory called "News".
|
||||
<p>
|
||||
<dt><b>Title</b>
|
||||
<dd>
|
||||
The title is used in the filename that is created for the recording
|
||||
<br>
|
||||
<br>
|
||||
The default format string suggests Time-[date]_[time]:
|
||||
<br>
|
||||
<br>
|
||||
The escape-codes use <a href="http://man7.org/linux/man-pages/man3/strftime.3.html">strftime</a> format. Examples:
|
||||
<br>
|
||||
%F The date in ISO-format (e.g. 2015-02-28)
|
||||
<br>
|
||||
%R The time in 24h HH:MM format (e.g. 19:45)
|
||||
<br>
|
||||
%x The date, formatted according to your locale settings
|
||||
<p>
|
||||
<dt><b>Channel</b>
|
||||
<dd>
|
||||
The channel on which this rule applies, i.e. the channel you're aiming to record.
|
||||
<p>
|
||||
<dt><b>Week Days</b>
|
||||
<dd>
|
||||
On which specific days of the week you wish this rule to be active (e.g. only record channel XXX at xx:yy on Saturdays and Sundays).
|
||||
<p>
|
||||
<dt><b>Start</b>
|
||||
<dd>
|
||||
Start recording at this time.
|
||||
<p>
|
||||
<dt><b>Stop</b>
|
||||
<dd>
|
||||
Stop recording at this time.
|
||||
<p>
|
||||
<dt><b>Priority</b>
|
||||
<dd>
|
||||
The priority of any recordings set because of this rule: important, high, normal, low, unimportant.
|
||||
<p>
|
||||
<dt><b>DVR Configuration</b>
|
||||
<dd>
|
||||
The DVR configuration (e.g. extra start/stop time, post-processing rules) to be used for any recordings set because of this rule.
|
||||
<p>
|
||||
<dt><b>Comment</b>
|
||||
<dd>
|
||||
A free-text comment. Not used otherwise.
|
||||
<p>
|
||||
</div>
|
|
@ -1,103 +0,0 @@
|
|||
<div class="hts-doc-text">
|
||||
This tab show your all upcoming/current recordings.
|
||||
|
||||
<p>
|
||||
<img src="docresources/upcomingrecordings1.png">
|
||||
</p>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Buttons</b>
|
||||
<hr>
|
||||
Buttons have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Add</b>
|
||||
<dd>
|
||||
Add and configure a recording event by hand as opposed to choosing something from the EPG. This is useful if you wish to record something that isn't yet in the EPG, or record at a particular time that perhaps spans several EPG events.
|
||||
<p>
|
||||
<dt><b>Delete</b>
|
||||
<dd>
|
||||
If clicked delete selected upcoming/current recordings you delete recordings. Before deleted show message: Do you really want to delete the selection ? Answer Yes or No.
|
||||
<p>
|
||||
<dt><b>Abort</b>
|
||||
<dd>
|
||||
Abort an already-underway recording. Note that this does not remove the (partial) recording file from disk.
|
||||
<p>
|
||||
<dt><b>Edit</b>
|
||||
<dd>
|
||||
Manually edit an already-scheduled recording event. This uses the same fields as <b>Add</b>, but they're obviously pre-populated with their current values.
|
||||
<p>
|
||||
<dt><b>Save</b>
|
||||
<dd>
|
||||
Saves any changes made to the recording list.
|
||||
<p>
|
||||
<dt><b>Undo</b>
|
||||
<dd>
|
||||
Undoes any changes made to the recording list.
|
||||
<p>
|
||||
</dl>
|
||||
<p>
|
||||
<br>
|
||||
<hr>
|
||||
<b>Columns</b>
|
||||
<hr>
|
||||
The columns have the following functions:
|
||||
<br><br>
|
||||
<dl>
|
||||
<dt><b>Details</b>
|
||||
<dd>
|
||||
Shows the status of the recording event:<br>
|
||||
<br>
|
||||
<b>Clock</b> - the recording is scheduled (upcoming).<br>
|
||||
<br>
|
||||
<b>Record symbol (red circle)</b> - the recording is active and underway (current).<br>
|
||||
<br>
|
||||
<b>InInfo</b> - displays detailed information about the selected recording (upcoming or current).<br>
|
||||
<p>
|
||||
<img src="docresources/upcomingrecordings2.png">
|
||||
<p>
|
||||
<dt><b>Title</b>
|
||||
<dd>
|
||||
The title (name) of the recording. While this is copied from the EPG when you create a recording, it's not used to match the event itself and is thus used here as the name of the event (see also: adding an event manually with the <b>Add</b> button).
|
||||
<p>
|
||||
<dt><b>Episode</b>
|
||||
<dd>
|
||||
The episode number of the recording (whether this is available depends on your broadcaster and/or EPG data source).
|
||||
<p>
|
||||
<dt><b>Priority</b>
|
||||
<dd>
|
||||
The priority of the recording: Not set, Important, High, Normal, Low, Unimportant.
|
||||
<br>
|
||||
If there is a clash, more important recordings will take priority over less important ones.
|
||||
<p>
|
||||
<dt><b>Scheduled Start Time</b>
|
||||
<dd>
|
||||
The date and time when the scheduled recording will start. Note that this includes any extra time defined in the recording profile (e.g. "start two minutes earlier than the EPG start time").
|
||||
<p>
|
||||
<dt><b>Scheduled Stop Time</b>
|
||||
<dd>
|
||||
The date and time when the scheduled recording will stop. Note that this includes any extra time defined in the recording profile (e.g. "finish recording five minutes after the EPG stop time").
|
||||
<p>
|
||||
<dt><b>Duration</b>
|
||||
<dd>
|
||||
The total duration of the scheduled recording, including any extra time before or after.
|
||||
<p>
|
||||
<dt><b>Channel Name</b>
|
||||
<dd>
|
||||
The channel to be recorded.
|
||||
<p>
|
||||
<dt><b>Creator</b>
|
||||
<dd>
|
||||
The user who created the recording or the auto-recording source and IP address if scheduled by a matching rule.
|
||||
<p>
|
||||
<dt><b>DVR Configuration</b>
|
||||
<dd>
|
||||
The DVR configuration to be used for this recording.
|
||||
<p>
|
||||
<dt><b>Schedule Status</b>
|
||||
<dd>
|
||||
The status of the recording(scheduled or recording).
|
||||
<p>
|
||||
|
||||
</div>
|
|
@ -1,45 +1,21 @@
|
|||
<div class="hts-doc-text">
|
||||
The DVR log is split into a series of paged grids:
|
||||
|
||||
<p></p>
|
||||
|
||||
<ul>
|
||||
<li><b>Upcoming Recordings</b> - events that are scheduled to be recorded in the future</li>
|
||||
|
||||
The DVR log displays a paged grid containing all scheduled, current
|
||||
and completed recordings. The list is sorted based on start time.
|
||||
<p>
|
||||
Use the bottom toolbar (not displayed in this manual) to navigate
|
||||
between pages in the grid.
|
||||
<img src="docresources/dvrlog.png">
|
||||
|
||||
<li><b>Finished Recordings</b> - events that have succesfully finished recording</li>
|
||||
|
||||
<img src="docresources/dvrlog2.png">
|
||||
|
||||
<p>
|
||||
Once the recording is completed there will be a clickable link to a playlist
|
||||
for the recorded file (XSPF or M3U as per your startup options) so you can watch
|
||||
it.</p>
|
||||
|
||||
|
||||
<li><b>Failed Recordings</b> - events that failed to record</li>
|
||||
|
||||
<img src="docresources/dvrlog3.png">
|
||||
</ul>
|
||||
|
||||
|
||||
<p>
|
||||
Use the bottom toolbar to navigate between pages in the grid.</p>
|
||||
|
||||
<img src="docresources/dvrlog4.png">
|
||||
|
||||
<p>Note that the columns are sortable, but only the current view will be sorted (by
|
||||
default, this will be the first page of the most recent events). Select more events
|
||||
per page if you want to sort a longer selection.</p>
|
||||
<p>
|
||||
To see more details about a recorded event, just click on it and a pop
|
||||
up will appear:</p>
|
||||
<p></p>
|
||||
up will appear:
|
||||
<p>
|
||||
<img src="docresources/dvrlogentry.png">
|
||||
<p></p>
|
||||
<p>
|
||||
In this pop up you can cancel a scheduled recording or abort a
|
||||
recording in progress. To close the pop up, just close it with the
|
||||
[X] window button.</p>
|
||||
[X] window button.
|
||||
<p>
|
||||
Once the recording is completed there will be a clickable link to the
|
||||
recorded matroska file so you can download it directly from the
|
||||
interface.
|
||||
</div>
|
||||
|
|
|
@ -1,131 +1,95 @@
|
|||
<div class="hts-doc-text">
|
||||
<p>Tvheadend has a built-in Electronic Program Guide. The EPG is an in-memory
|
||||
Tvheadend has a built in Electronic Program Guide. The EPG is an in memory
|
||||
database populated with all the information about events received from
|
||||
the DVB networks over-the-air or from external grabbers such as XMLTV.</p>
|
||||
<p></p>
|
||||
<p>The EPG tab displays a filterable grid containing all events,
|
||||
sorted based on start time.</p>
|
||||
the DVB networks or from XMLTV.
|
||||
<p>
|
||||
The EPG tab displays a filterable paged grid containing all the events
|
||||
sorted based on start time.
|
||||
<img src="docresources/epg.png">
|
||||
<p></p>
|
||||
<hr>
|
||||
<b>Filtering (or searching)</b>
|
||||
<hr>
|
||||
<p>In the EPG top tool bar you can access five input fields.
|
||||
<p>
|
||||
<dl>
|
||||
<dt>Filtering (or searching)
|
||||
<dd>
|
||||
In the EPG top tool bar you can access four input fields.
|
||||
These are used to filter/search for events. The form uses implicit AND
|
||||
between the input fields. This means that all filters must match
|
||||
for an event to be displayed.</p>
|
||||
for an event to be displayed.
|
||||
<dl>
|
||||
<dt>[Search title...]
|
||||
<dd>
|
||||
Only display events that match the given title. The filter uses case-insensitive
|
||||
regular expressions. If you don't know what a regular expression is, this simply
|
||||
means that you can type just parts of the title and filter on that - there's no need
|
||||
for full, exact matching. If the fulltext checkbox is checked, the title
|
||||
text is matched against title, subtitle, summary and description.</dd>
|
||||
<dt>[Filter channel...]</dt>
|
||||
Filter on the event title. The filter uses case insensitive regular
|
||||
expression. If you don't know what a regular expression is this means
|
||||
that you can type just parts of the title and filter on that too.
|
||||
(No need for exact matching).
|
||||
<dt>[Filter channel...]
|
||||
<dd>
|
||||
Only display events from the selected channel. Channels in the drop down are
|
||||
ordered by channel number and can be filtered (by name) by typing in the box.</dd>
|
||||
<dt>[Filter tag...]</dt>
|
||||
ordered by channel number and can be filtered (by name) by typing in the box.
|
||||
<dt>[Filter tag...]
|
||||
<dd>
|
||||
Only display events from channels which are included in the selected tag.
|
||||
Tags are used for grouping channels together - such as 'Radio' or 'HDTV' - and are
|
||||
configured by the administrator. You can start typing a tag name to filter the list.</dd>
|
||||
<dt>[Filter content type...]</dt>
|
||||
Only display events from the channels which are included in the selected tag.
|
||||
Tags are used for grouping channels and is configured by the administrator.
|
||||
<dt>[Filter content type...]
|
||||
<dd>
|
||||
Only display events that match the given content type tag. Most DVB networks
|
||||
classify their events into content groups. This field allows you to filter based
|
||||
on content type (e.g. "Sports" or "Game Show"). Supported tags are determined by
|
||||
your broadcaster. Again, simply start typing to filter the entries if you have a
|
||||
long list to choose from.</dd>
|
||||
<dt>[Filter duration...]</dt>
|
||||
<dd>
|
||||
Only display events that fall between the given minimum and maximum durations.
|
||||
This allows you to filter for or against, say, a daily broadcast and a weekly omnibus
|
||||
edition of a programme, or only look for short news bulletins and not the 24-hour
|
||||
rolling broadcasts.</dd>
|
||||
<dd> </dd>
|
||||
<dd>Options are:</dd>
|
||||
|
||||
<table class="hts-doc-text" border="0">
|
||||
<tr><td>00:00:01 to 00:15:00 - for very short news bulletins, children's programmes, etc.</td></tr>
|
||||
<tr><td>00:15:01 to 00:30:00 - for short programmes, e.g. daily soap operas</td></tr>
|
||||
<tr><td>00:30:01 to 01:30:00 - for medium-length programmes, e.g. documentaries</td></tr>
|
||||
<tr><td>01:30:01 to 03:00:00 - for longer programmes, e.g. films</td></tr>
|
||||
<tr><td>03:00:00 to no maximum - for very long programmes, e.g. major sporting events</td></tr>
|
||||
</table>
|
||||
|
||||
Most DVB networks classify their events into content groups. This field
|
||||
allows you to filter based on content type.
|
||||
</dl>
|
||||
Thus, if you only would like to browse Movies from your HD-channels you
|
||||
would select 'HDTV' in the [Filter tag...]-field, and select
|
||||
'Movie / Drama' in the [Only include content...]-field.
|
||||
<p>
|
||||
Notice that you don't have to press a 'Search' button, the grid immediately
|
||||
updates itself as you change the filters.
|
||||
<p>
|
||||
If you would like to clear all filters, just press the [Reset] button.
|
||||
|
||||
<p>So, if you only want to see Movies from your available HD channels, you
|
||||
would select 'HDTV' in the <i>[Filter tag...]</i> field, and select
|
||||
'Movie / Drama' in the <i>[Filter content type...]</i> field. If you wish, you
|
||||
could then further limit the search to programmes of between 90 minutes and 3 hours by
|
||||
selecting '01:30:01 to 03:00:00' in the <i>[Filter duration...]</i> field.</p>
|
||||
<p></p>
|
||||
<p>Note that you don't have to press a 'Search' button: the grid immediately
|
||||
updates itself as you change the filters.</p>
|
||||
<p></p>
|
||||
<p>You can clear an individual filter by simply deleting its contents, or by selecting
|
||||
<i>'(Clear filter)'</i> as appropriate on all except the title filter. If you want to
|
||||
clear all filters, just press the <i>[Reset All]</i> button.</p>
|
||||
<br> </br>
|
||||
<dt>Paging
|
||||
|
||||
<hr>
|
||||
<b>Event details and recording</b>
|
||||
<hr>
|
||||
<dd>
|
||||
In large installations with many channels and full EPG feed there could be
|
||||
tens of thousands of events in the database.
|
||||
Therefore the EPG display employs a paging bar at the bottom of the grid.
|
||||
Use it to browse backwards and forwards in the EPG. It also displays the
|
||||
total amount of events matched by the current query.
|
||||
|
||||
<p>If you click on a single event, a popup will display detailed information
|
||||
about the event. It also allows you to schedule the event for recording
|
||||
by clicking on the <i>[Record program]</i> button.</p>
|
||||
<dt>Event details and recording
|
||||
<dd>
|
||||
If you click on a single event, a popup will display detailed information
|
||||
about the event. It also allows the user to schedule the event for recording
|
||||
by clicking on the [Record program] button.
|
||||
<p>
|
||||
For EPG providers that supply series link information there will also be a
|
||||
<i>[Record series]</i> button that will record all entries in the series.</p>
|
||||
[Record series] button that will record all entries in the series.
|
||||
<p>
|
||||
For events without any series link information, an <i>[Autorec]</i> button will be
|
||||
provided to create a pseudo-series link using the autorec feature.</p>
|
||||
<p></p>
|
||||
<img src="docresources/epg2.png"> <img src="docresources/epg3.png">
|
||||
<p></p>
|
||||
<p>If you schedule any kind of recording from this point, you can choose a specific
|
||||
DVR profile that will apply to the recording or autorec rule. This will normally show
|
||||
as <i>(default)</i>, but you can define different profiles in the <b>Configuration ->
|
||||
Recording -> Digital Video Recorder</b> tab. This allows you to set, for example, more post-
|
||||
broadcast padding for a channel that always runs late, or perhaps define a different
|
||||
post-processing command to strip adverts out on a commercial channel.</p>
|
||||
<p>You will also see a <i>Search IMDB</i> link to look for the programme by name on
|
||||
imdb.com, and a <i>Play</i> link to watch a programme that's already in progress. This
|
||||
second link downloads a playlist file (XSPF or M3U depending on your startup options);
|
||||
if your system is configured for it, this will automatically launch an appropriate
|
||||
player, otherwise you will need to manually open the playlist to start watching (normally a
|
||||
double-click on the downloaded file).</p>
|
||||
<p></p>
|
||||
<p>To close the popup, just click on the [X] window button.
|
||||
The popup isn't modal, so you don't have to close it before doing something else,
|
||||
and you can open as many detailed information popups as you want.</p>
|
||||
<br> </br>
|
||||
For events without any series link information, a [Autorec] button will be
|
||||
provided to create a pseudo series link using hte Autorec feature.
|
||||
<p>
|
||||
<img src="docresources/epg2.png">
|
||||
<p>
|
||||
To close the popup, just close it with the [X] window button.
|
||||
The popup is not modal and you can open as many detailed information popups
|
||||
as you want.
|
||||
|
||||
<hr>
|
||||
<b>Autorecordings</b>
|
||||
<hr>
|
||||
<p>Should you wish to record all events matching a specific query (to record
|
||||
your favourite show every week, for example) you can press the <i>[Create AutoRec]</i>
|
||||
button in the top toolbar.</p>
|
||||
<p></p>
|
||||
<p>A popup with details about the to-be-created autorecording rule needs to
|
||||
be confirmed before the rule takes effect.</p>
|
||||
<p></p>
|
||||
|
||||
<dt>Autorecordings
|
||||
<dd>
|
||||
Should you wish to record all events matching a specific query. (Record
|
||||
your favorite TV-show, etc) you can press the [Create Autorec] button
|
||||
in the top toolbar.
|
||||
<p>
|
||||
A popup with details about the to-be-created autorecording rule needs to
|
||||
be confirmed before the rule takes effect.
|
||||
<p>
|
||||
<img src="docresources/autorecpopup.png">
|
||||
<p></p>
|
||||
<p>You can change or delete the autorec rules in the
|
||||
<b>Digital Video Recorder</b> tab. Use that editor if you temporarily want
|
||||
to disable an autorecording or make adjustments to the channel, tag, or similar.</p>
|
||||
<br> </br>
|
||||
<p>
|
||||
The autorecordings can later be changed/deleted in under the
|
||||
'Digital Video Recorder'-tag. Use that editor if you temporary want
|
||||
to disable an autorecording or make adjustments, etc.
|
||||
|
||||
<hr>
|
||||
<b>Watch TV</b>
|
||||
<hr>
|
||||
<p>If you want to watch live TV in the web UI, the <i>[Watch TV]</i> button will pop up
|
||||
<dt>Watch TV
|
||||
<dd>
|
||||
If you want to watch live TV in the web UI, the [Watch TV] button will pop-up
|
||||
a VLC plugin window (if you don't have the plugin installed a direct URL should be
|
||||
provided to load into your preferred media player).</p>
|
||||
provided to load into your preferred media player).
|
||||
</dl>
|
||||
</div>
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
<dl>
|
||||
|
||||
<dt>Why does Tvheadend deliver data over TCP to Movian? I thought it was
|
||||
<dt>Why does Tvheadend deliver data over TCP to Showtime? I thought it was
|
||||
bad to use TCP for realtime sensitive traffic?
|
||||
|
||||
<dd>
|
||||
'HTSP' - the protocol used for streaming TV, sending meta information
|
||||
updates and RPC between Tvheadend and Movian uses a transmission
|
||||
updates and RPC between Tvheadend and Showtime uses a transmission
|
||||
scheduler with multiple queues on the Tvheadend side. This means that
|
||||
Tvheadend can measure the available bandwidth between itself and the
|
||||
mediaplayer and when congestion happens it's even capable of dropping
|
||||
|
@ -15,7 +15,7 @@
|
|||
links and DSL connections with zero picture/audio artifacts.
|
||||
<p>
|
||||
It's possible to get view drop statistics and bitrates directly in
|
||||
Movian. (Open the menu when watching a TV-channel and switch on
|
||||
Showtime. (Open the menu when watching a TV-channel and switch on
|
||||
'Detailed Information')
|
||||
|
||||
</div>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<dt>Input sources
|
||||
<dl>
|
||||
<dt>DVB-T, DVB-C, DVB-S, DVB-S2, ATSC and SAT>IP.
|
||||
<dt>DVB-T, DVB-C, DVB-S, DVB-S2 and ATSC.
|
||||
<dd>
|
||||
Multiple adapters are supported.
|
||||
Each adapter can receive all programs available on the currently
|
||||
|
@ -16,21 +16,17 @@
|
|||
<dt>Multicasted IPTV.
|
||||
<dd>
|
||||
Both raw transport streams in UDP and transport stream in RTP in UDP
|
||||
is supported. The presence of RTP is autodetected.
|
||||
is supported. The precense of RTP is autodetected.
|
||||
</dd>
|
||||
<dt>Analog TV
|
||||
<dd>
|
||||
The IPTV extension URL - pipe:// allow to process any MPEG-TS input.
|
||||
FFMPEG or LIBAV library can be used to produce analog to digital
|
||||
conversion.
|
||||
Using the Video4Linux2 API. Currently, only PAL is supported.
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dt>Output targets
|
||||
<dl>
|
||||
<dt>HTTP (Web Protocol), supported by <a href="http://www.videolan.org/vlc/">VLC</a>, <a href="http://www.mplayerhq.hu">MPlayer</a>
|
||||
<dt>HTSP (Home TV Streaming Protocol), supported by <a href="http://movian.tv">Movian Media player</a> and <a href="http://kodi.tv/">Kodi</a>
|
||||
<dt>SAT>IP Server
|
||||
<dt>HTSP (Home TV Streaming Protocol), supported by Showtime Media player and <a href="http://www.xbmc.org/">XBMC</a>
|
||||
<dt>The Built-in Digital Video Recorder
|
||||
</dl>
|
||||
|
||||
|
@ -44,7 +40,7 @@
|
|||
All setup and configuration is done from the built in web user interface.
|
||||
Even so, all settings are stored in human readable text files.
|
||||
|
||||
<dt>Fully integrated with HTS Movian Media player or Kodi HTS PVR addon.
|
||||
<dt>Fully integrated with HTS Showtime Media player.
|
||||
<dd>
|
||||
All channel data and their grouping, EPG and TV streaming is conducted over a
|
||||
single TCP connection.
|
||||
|
@ -83,10 +79,6 @@
|
|||
<dd>
|
||||
Requires a card server (newcamd and capmt protocol is supported).
|
||||
|
||||
<dt>Hardware based CSA descrambling
|
||||
<dd>
|
||||
Requires the standard dvben50221 linuxdvb library.
|
||||
|
||||
<dt>Internationalization
|
||||
<dd>
|
||||
All text is encoded in UTF-8 to provide full international support. All major
|
||||
|
|
|
@ -38,7 +38,7 @@ Parts of this documentation is also available in the Tvheadend man page.
|
|||
access to all features / settings</b> in the web user interface. If
|
||||
this is the first time you setup Tvheadend you are most encouraged to
|
||||
enter the web user interface, selected the 'Configuration' + 'Access Control'
|
||||
tab and make reasonable changes. Further help / documentation can be obtained
|
||||
tab and make reasonable changes. Futher help / documentation can be obtained
|
||||
inside the web interface.
|
||||
|
||||
<dt>Settings storage
|
||||
|
@ -47,7 +47,7 @@ Parts of this documentation is also available in the Tvheadend man page.
|
|||
|
||||
<dt>Logging
|
||||
<dd>
|
||||
All activity inside Tvheadend is logged to syslog using log facility.
|
||||
All activity inside tvheadend is logged to syslog using log facility.
|
||||
Also, if logged in to the web interface you will receive the same log in the bottom
|
||||
tab (System log).
|
||||
|
||||
|
|