/vdr-plugin-mcli

(DEVELOPMENT FORK)

Primary LanguageCGNU General Public License v2.0GPL-2.0

This is a "plugin" for the Video Disk Recorder (VDR) to access DVB-streams
produced by the NetCeiver-hardware.

Project's homepage:
http://www.baycom.de/hardware/netceiver/

Latest version available via GIT at:
https://github.com/vdr-projects/vdr-plugin-mcli

The vdr-plugin, mcli-library and associated tools&drivers
except netcv2dvbip are
Copyright (C) 2007-2010 by BayCom GmbH <info@baycom.de>

Extensions by contributors
Copyright (C) 2020-2022 by Peter Bieringer <pb@bieringer.de>
Copyright (C) 2013-2015 by hsteinhaus
Copyright (C) 2014      by mhorwath
Copyright (C) 2013      by Hoppaz


netcv2dvbip is 
Copyright (C) 2010 by Christian Cier-Zniewski <c.cier@gmx.de>

------------------------------------------------------------------

The mcli-library (libmcli.so) and all tools (including netcv2dvbip) 
are covered by the GNU LESSER GENERAL PUBLIC LICENSE (LGPL), version 2.1:

This library and all tools are free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License version
2.1 as published by the Free Software Foundation.

This library and all tools are 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 Lesser
General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

------------------------------------------------------------------

The vdr-plugin and associated tools are covered by the
GNU GENERAL PUBLIC LICENSE (GPL), version 2:

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 as published by
the Free Software Foundation.

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, write to the Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

**** TO BE CHECKED ****
To properly integrate the mcli plugin into your VDR please apply these two
patches:

vdr-1.6.0-altmenuaction.patch (allows CAM messages to be displayed)
vdr-1.6.0-intcamdevices.patch (enables selection of encrypted channels
                               without local CI stack).

**** Reviewed version ****

- Support at least vdr >= 2.4.4

== Potential requirements ==

On newer Linux systems allow vdr to open raw sockets:

setcap cap_net_raw=pe /usr/sbin/vdr


for systemd:

cat <<END >/etc/systemd/system/vdr.service.d/vdr-mcli.conf
[Service]
AmbientCapabilities=CAP_NET_RAW
END


== Plugin options ==

--ifname <interface>
	network interface of the multicast client
		the interface where the Netceiver boxes are also connected

--port <port>
	used network port (default: 23000)

--dvb-s <num>
--dvb-c <num>
--dvb-t <num>
--atsc <num>
--dvb-s2 <num>
	limit number of devices (default: 8)

--mld-reporter-disable
	disable mld reporter

--sock-path <path>
	path of socket directory, default: API_SOCK_NAMESPACE

--cam-disable (NEW since 0.9.5)
	reject tuning to channels which requiring CAM

--tuner-max <num> (NEW since 0.9.5)
	limit maximum number of tuners to <num>
		avoid that LCARS skin shows 8 tuners in a 3 tuner system

--debugmask <mask> (NEW since 0.9.5, see logging.h)
	<mask> can be hexadecimal (0x..) or decimal
	conditionally enable debug messages
		PIDS          0x01
		TUNE_EXTRA    0x02
		TUNE          0x04
		RESOURCES     0x08
		PIDS_ADD_DEL  0x10
		TUNE_PC       0x40    // ProvideChannel
		FILTER        0x80

--logskipmask <mask> (NEW since 0.9.6, see logging.h)
	<mask> can be hexadecimal (0x..) or decimal
	conditionally disable log messages
		recv_ts_func/Data PIDs	0x01    // skip log of issues with Data pids (0 or 16-18) like Mcli::recv_ts_func: Discontinuity on receiver 0x559f735c7e00 for pid 18: 5->7 at pos 0/7
		SetChannelDevice/Reject	0x02    // skip log of Mcli::SetChannelDevice: Reject tuning on DVB (interesting if cam-disable is active)

--netcvupdate-use-lftp
	add "lftp" specific option to "netcvupdate" calls

--netcvupdate-enable-debug
	add debug option to "netcvupdate" calls


== RPM Build Support included ==

# download vdr-devel, rpm build environment and required dependencies:
dnf install vdr-devel rpm-build gcc-c++ libxml2-devel zlib-devel

# specify version:
VERSION=0.9.7

# download version with proper tar.gz name:
wget https://github.com/vdr-projects/vdr-plugin-mcli/archive/v$VERSION/vdr-plugin-mcli-$VERSION.tar.gz

# run rpm rebuild with tar.gz:
rpmbuild -tb vdr-plugin-mcli-$VERSION.tar.gz

# install (example, here 0.9.7 on Fedora 36)
dnf localinstall $HOME/rpmbuild/RPMS/x86_64/vdr-mcli-0.9.7-4.fc36.x86_64.rpm