📄 readme
字号:
This is a "plugin" for the Video Disk Recorder (VDR).See the file COPYING for license information.Description: SoftCAM for Irdeto, Seca, Viaccess, Nagra, Conax & Cryptoworks-----------------------------------------------------------------------What is it ?------------First: Most certainly it's not legal to use this software in most countries ofthe world. But probably you already know this...SC means softcam, which means a software CAM emulation.The plugin captures the DVB devices in an early startup stage of VDR startup(before VDR itself has got access to them) and makes VDR believe that there isanother CAM connected to the device. This CAM is emulated from the plugin byproviding a cut-down EN50221 interface for communication with the VDR core. FromVDR views there is no difference between a real hardware CAM and the emulatedCAM. The plugin decrypts the scrambling codewords from the incomming ECM stream. Theactual descrambling of the video stream is either done by the ECD chip onfull-featured DVB cards or with the included FFdecsa implementation on budgetcards.This piece of software is originaly based on (and still contains code from)mgcam (a standalone CAM emulation). Many thanks to the (anonymous) author forhis really fine piece of software :-)Requirements------------* DVB driver from dvb-kernel 2.6 or 2.4 branch with applied patches* a patched firmware version 2620 or newer* VDR 1.5.0 or newer (VDR 1.4.6+ in compatibility mode, see 1.4.x setup section)* Openssl package version 0.9.7 or newerHow to setup ?--------------First you should start with a recent dvb-kernel driver (cvs recomended). Copythe patched firmware in place and apply at least the dvb-cwidx patch. Make surethat you use a patched firmware if you intend to use the plugin together with afull-featured DVB card. You definitely need a patched firmware in this case, butonly recent versions support concurrent recording! Recompile the driver, unloadthe modules, install the new ones and reload the DVB driver. If you suffer fromARM crashes, add "hw_sections=0" while loading the dvb-ttpci module.Contrary to older plugin versions you MUST NOT apply any patches to the VDR core(neither vdr-sc nor ffdecsa/softcsa).You must have installed the openssl development files. For most distributionsthis means to install openssl-devel package. You should use a openssl packagewith AES and IDEA enabled, as support for openssl without these will be removedin the near future.Now follow the VDR instruction to compile plugins (make plugins). Beside thecore plugin (libvdr-sc.so), the make process (if successfull) creates anadditional shared library object for every supported system (libsc-*.so). Youcan enable/disable individual systems by adding or removing the shared libraryfrom your VDR plugin lib directory.Starting with version 0.5.8 all make compile time options (e.g. IRDETO=1) exceptDEFAULT_PORT have been removed!Note that in combination with other plugins which create devices (e.g.softdevice) it's essential that this plugin is loaded before any of theseplugins, i.e. as a rule of thumb put this plugins first on the VDR commandline.The plugin will fail on startup if the plugin load order results in mismatcheddevice numbering inside VDR.Note that some budget card drivers provide a CA device too. This might make VDRand the plugin detect the card as a full-featured card, thus disabling FFdecsa.You should use commandline option -B to force detection as a budget card in sucha case. This commandline option takes a device number as argument and may appearmultiple times (compare VDR commandline option -D).By default the plugin logs his messages to console only. For testing purposeit's a good idea to start VDR in foreground so you can see any error messages.Other available log targets are file and syslog. You can enable/disable any ofthe log targets in the plugin setup menu. For the file target you have to set adestination filename too. If you set a filesize limit (in KByte) and the logfilegrows bigger than the limit, the current logfile is renamed to logfile.old and anew logfile is started. If the filesize limit is zero, the logfile never isrotated.How to setup for VDR 1.4.x ?----------------------------Additional to the points mentioned above, you have to patch the VDR core withthe supplied patch (vdr-1.4.x-sc7.diff). Recompile VDR and use the new binary.Patches from older SC releases are not going to work.Even with VDR 1.4.x you don't have to use a softcsa/ffdecsa patch.Activating/deactivating DVB cards in the plugin setup menu needs a VDR restartto take effect.Pre-compiled libraries----------------------There is the possibility that encryption systems are provided in binary, pre-compiled only form. During make process, all pre-compiled libraries are copiedto your VDR plugin lib directory.Please be aware, that pre-compiled libraries are more or less bound to the hard-& software configuration they have been build on. Currently the build system isIntel 32bit, gcc 3.2.2, glibc 2.2.5. If your system differs too much, it may beimpossible to use the pre-compiled libraries.Obviously, pre-compiled libraries cannot be exchanged between different SCand/or VDR API versions. Be aware that if you patch your VDR core and this patchinvolves changes to header files (*.h) this might change the VDR API even if theAPI version number hasn't changed. This may lead to silent malfunction/failureof pre-compiled libraries. In particular you should stay away from thread.h andtools.h as classes from there are used at many, many places.The naming scheme for the libraries is libsc-<MODULE>-<SCAPI>.so.<APIVERSION>,e.g. libsc-cardclient-2.so.1.3.47CAID and VDR CICAM setup------------------------The activation of the SC is controlled by your CICAM setup. As general setup(which is not SC specific) you should leave the CA values (in channels.conf)set to zero and let VDR's channel scanner (autopid) fill in the correct values.Don't touch the CA values afterwards.In the plugin setup menu, you now have to specify for which DVB cards the SCshould be activated. The first two cards can be setup from the menu. If youneed more, you can edit the setup.conf file manualy and add up to 10 cards.A real hardware CAM normaly knows which CAIDs it supports. With SC the situationis a bit different. There is support for a wide range of encryption system andcardclients. This results in a huge number of supported CAIDs, but for most ofthem it's uncertain if SC will actualy be able to decrypt a channel for them. Onthe other hand VDR limits the number of supported CAIDs to 16 for a CAM slot (64CAIDs in VDR 1.5.3 or later), so SC is able to announce a small number of CAIDsonly. This is not as bad as it sounds, as VDR will try a CAM if ANY of thechannel CAIDs matches the CAIDs announced by the CAM.On startup and at regular intervals the plugin scans the channels list andbuilds a chain of CAIDs. The CAIDs are assigned to the simulated CAM. To reduce the number of CAIDs SC has to deal with, you should obey some rules:-Remove all libsc-* files for encryption system which you don't intend to use (e.g. SHL seems pretty useless nowadays).-When using a cardclient, be as precise as possible with the CAID/MASK values in the cardclient.conf file. Using wide open 0000/0000 is deprecated.-Add CAIDs which you cannot use due to lack of keys to the SC.CaIgnore setting.Concurrent Recordings---------------------There is an entries in the plugin setup menu to control concurrent usage of afull-featured DVB card. You should enable concurrent usage only if you are usingthe special patched firmware AND a patched DVB driver. Note that toggling theflag will take effect the next time the plugin is idle on that specific DVB cardonly (i.e. no channel is being decrypted).There is no possibility to limit the number of concurrent streams. VDR itselfhas no limit in concurrent streams (neither FTA nor encrypted) and as the VDRcore control all aspects of operation, there is no way to enforce a limit(beside disabling concurrent encrypted streams at all).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -