Browse Source

README: Add sections about libdvbcsa and FFdecsa and more examples.

Georgi Chorbadzhiyski 12 years ago
parent
commit
226c4d5416
1 changed files with 111 additions and 37 deletions
  1. 111
    37
      README

+ 111
- 37
README View File

@@ -1,22 +1,97 @@
1 1
 tsdecrypt
2 2
 =========
3 3
 tsdecrypt reads incoming mpeg transport stream over UDP/RTP and then
4
-decrypts it using libdvbcsa and keys obtained from OSCAM or similar cam
5
-server. tsdecrypt communicates with CAM server using cs378x (camd35 over
6
-tcp) protocol or newcamd protocol.
4
+decrypts it using using code words obtained from OSCAM or similar cam
5
+server. tsdecrypt communicates with CAM server using cs378x (camd35
6
+over tcp) protocol or newcamd protocol.
7 7
 
8 8
 License
9 9
 =======
10 10
 tsdecrypt is released under GNU GPL v2.
11 11
 
12
-Installation
12
+Dependencies
13 13
 ============
14
-tsdecrypt depends on two external libraries - openssl and libdvbcsa.
15
-You probably already have openssl installed, libdvbcsa can be downloaded
16
-from http://www.videolan.org/developers/libdvbcsa.html
14
+tsdecrypt depends on openssl. It uses rand, MD5, DES and AES functions.
15
+You probably already have openssl installed. If you are seeing compilation
16
+errors related to missing openssl headers you should install openssl-dev
17
+or similar packet depending on your Linux distribution.
17 18
 
18
-Documentation
19
-=============
19
+If you are not using shipped FFdecsa then the other tsdecrypt dependency
20
+is libdvbcsa. libdvbcsa can be downloaded from
21
+http://www.videolan.org/developers/libdvbcsa.html
22
+
23
+FFdecsa vs libdvbcsa
24
+====================
25
+tsdecrypt supports two different CSA decryption libraries.
26
+
27
+libdvbcsa is an external library from VideoLAN project released under
28
+LGPL, FFdecsa is shipped with tsdecrypt.
29
+
30
+libdvbcsa
31
+=========
32
+libdvbcsa is better tested and have served tsdcrypt for a long time so
33
+it is still the default decryption library. Also it is faster with file
34
+input.
35
+
36
+To compile tsdecrypt with libdvbcsa run 'make' or if you have tested
37
+FFdecsa compilation and want to switch to libdvbcsa run 'make dvbcsa'.
38
+'make distclean' switches decryption library back to libdvbcsa.
39
+
40
+FFdecsa
41
+=======
42
+FFdecsa support was added after tsdecrypt v7.0. FFdecsa can be up to 40%
43
+faster than libdvbcsa especially on 32-bit hardware. If you want to use
44
+FFDecsa you have to run 'make ffdecsa'.
45
+
46
+The setup script will test which FFDecsa algorithm is the fastest for
47
+your CPU and will configure tsdecrypt compilation to stop using libdvbcsa.
48
+Most likely the script will choose PARALLEL_128_SSE or PARALLEL_128_SSE2.
49
+Once the script have finished it stores its decision in FFdecsa.opts file
50
+and as long as this file exists tsdecrypt will be compiled with FFdecsa.
51
+You can force regeneration by deleting running 'make ffdecsa_force' or
52
+'make distclean ffdecsa'.
53
+
54
+FFDecsa is considerably slower than libdvbcsa when tsdecrypt's input
55
+is a file or stdin (single packet decryption mode). If you are
56
+decrypting already recorded files you are better of using libdvbcsa.
57
+
58
+When tsdecrypt is run it reports which decryption library is used in its
59
+version string. You can use --bench option to test decryption speed.
60
+
61
+Development
62
+===========
63
+The development is done using git. tsdecrypt repository is hosted
64
+at http://github.com/gfto/tsdecrypt
65
+
66
+To clone the repository issue the following commands:
67
+
68
+   git clone git://github.com/gfto/tsdecrypt.git
69
+   cd tsdecrypt
70
+   git submodule init
71
+   git submodule update
72
+   make
73
+
74
+The code is developed and tested under modern Linux. It is also
75
+compiled from time to time under OS X but is not tested there.
76
+
77
+To see all Makefile targets run 'make help'.
78
+
79
+Updating the code
80
+=================
81
+To update cloned tsdecrypt, go to the directory where the repository
82
+is cloned and run the following commands:
83
+
84
+   git fetch origin
85
+   git merge origin/master
86
+   git submodule update
87
+   make clean all
88
+
89
+tsdecrypt's master branch should always be useful so it is safe to
90
+use it isntead of official release. The master branch will always
91
+be better than any released version.
92
+
93
+Command line parameters
94
+=======================
20 95
 tsdecrypt is controlled using command line parameters. For more information
21 96
 about the parameters see the man page. Here is a list of supported command
22 97
 line parameters:
@@ -110,32 +185,6 @@ Misc options:
110 185
  -h --help                  | Show help screen.
111 186
  -V --version               | Show program version.
112 187
 
113
-Development
114
-===========
115
-The development is done using git. tsdecrypt repository is hosted
116
-at http://github.com/gfto/tsdecrypt
117
-
118
-To clone the repository issue the following commands:
119
-
120
-   git clone git://github.com/gfto/tsdecrypt.git
121
-   cd tsdecrypt
122
-   git submodule init
123
-   git submodule update
124
-   make
125
-
126
-The code is developed and tested under modern Linux. It is also
127
-compiled from time to time under OS X but is not tested there.
128
-
129
-Updating the code
130
-=================
131
-To update cloned tsdecrypt, go to the directory where the repository
132
-is cloned and run the following commands:
133
-
134
-   git fetch origin
135
-   git merge origin/master
136
-   git submodule update
137
-   make distclean all
138
-
139 188
 Examples
140 189
 ========
141 190
 To get a quick start here are some example command lines. The default
@@ -155,13 +204,37 @@ Examples:
155 204
 
156 205
    # Same as above but do not filter output stream thus allowing
157 206
    # EIT/TOT/NIT, etc tables to passthrough
158
-   tsdecrypt --output-filter --emm -camd-server 10.0.1.1 \
207
+   tsdecrypt --no-output-filter --emm --camd-server 10.0.1.1 \
208
+       --input 239.0.50.11:5000 --output 239.78.78.78:5000
209
+
210
+   # Choose program/service_id to decrypt. Useful when the input is MPTS
211
+   tsdecrypt --camd-server 10.0.1.1 --input-service 1234 \
159 212
        --input 239.0.50.11:5000 --output 239.78.78.78:5000
160 213
 
161 214
    # Read stream over RTP and process VIACCESS encoded channel
162 215
    tsdecrypt --ca-system VIACCESS --emm --camd-server 10.0.1.1:2233 \
163 216
        --input-rtp --input 239.0.50.11:5000 --output 239.78.78.78:5000
164 217
 
218
+   # Decrypt stream encypted with CAID 0x0963 (NDS, sky)
219
+   tsdecrypt --camd-server 10.0.1.1 --ca-system NDS --caid 0x0963 \
220
+       --input 239.0.50.11:5000 --output 239.78.78.78:5000
221
+
222
+   # Send only EMMs to OSCAM for CAID 0x0963 (NDS, sky)
223
+   tsdecrypt --camd-server 10.0.1.1 --emm-only --caid 0x0963 \
224
+       --input 239.0.50.11:5000 --output /dev/null
225
+
226
+   # Decrypt stream encypted with CAID 0x0963 (Bulcrypt)
227
+   tsdecrypt --camd-server 10.0.1.1 --caid 0x5581 \
228
+       --input 239.0.50.11:5000 --output 239.78.78.78:5000
229
+
230
+   # Decrypt BISS encrypted stream
231
+   tsdecrypt --biss-key 0x112233445566 --input 239.0.50.11:5000 \
232
+       --output 239.78.78.78:5000
233
+
234
+   # Decrypt file encypted with constant code word
235
+   tsdecrypt --const-cw 0x00000000000000001111111111111111 \
236
+       --input encrypted-file.ts --output decrypted-file.ts
237
+
165 238
 
166 239
 OSCAM cs378x configuration
167 240
 ==========================
@@ -227,7 +300,8 @@ tsdecrypt:
227 300
 
228 301
 Please configure your software to stream ECMs and EMMs. For dvblast
229 302
 (version 2.0 and above) the correct options are --ecm-passthrough and
230
---emm-passthrough.
303
+--emm-passthrough. Note that dvblast 2.1 have broken ecm passthrough
304
+so use at least version 2.2.
231 305
 
232 306
 Releases
233 307
 ========

Loading…
Cancel
Save