Browse Source

Add support for more CA systems.

Add support for SECA/Mediaguard, Viaccess, Videoguard/NDS, Nagra
and DRE-Crypt.
Georgi Chorbadzhiyski 13 years ago
parent
commit
d5a33998a3
4 changed files with 21 additions and 10 deletions
  1. 2
    3
      README
  2. 1
    1
      libtsfuncs
  3. 6
    5
      tsdecrypt.1
  4. 12
    1
      tsdecrypt.c

+ 2
- 3
README View File

1
 tsdecrypt
1
 tsdecrypt
2
 =========
2
 =========
3
 tsdecrypt reads incoming mpeg transport stream over UDP/RTP and then decrypts it
3
 tsdecrypt reads incoming mpeg transport stream over UDP/RTP and then decrypts it
4
-using libdvbcsa and keys obtained from OSCAM or similar cam server. Currently
5
-supported and tested cryptosystems are Conax, Cryptoworks and Irdeto. tsdecrypt
6
-communicates with camd using camd35 over tcp protocol also known as cs378x.
4
+using libdvbcsa and keys obtained from OSCAM or similar cam server. tsdecrypt
5
+communicates with CAM server using camd35 over tcp protocol also known as cs378x.
7
 
6
 
8
 Installation
7
 Installation
9
 ============
8
 ============

+ 1
- 1
libtsfuncs

1
-Subproject commit 5627d6d019dcc605862181231bb3841fb5dd4a6b
1
+Subproject commit d9734150a39af5019cb8cef21f3efea914222575

+ 6
- 5
tsdecrypt.1 View File

6
 [\fIoptions\fR]
6
 [\fIoptions\fR]
7
 .SH DESCRIPTION
7
 .SH DESCRIPTION
8
 tsdecrypt reads incoming mpeg transport stream over UDP/RTP and then decrypts it
8
 tsdecrypt reads incoming mpeg transport stream over UDP/RTP and then decrypts it
9
-using libdvbcsa and keys obtained from OSCAM or similar cam server. Currently
10
-supported and tested crypto systems are Conax, Cryptoworks and Irdeto. tsdecrypt
11
-communicates with camd using camd35 over tcp protocol also known as cs378x.
9
+using libdvbcsa and keys obtained from OSCAM or similar cam server. tsdecrypt
10
+communicates with CAM server using camd35 over tcp protocol also known as cs378x.
12
 .SH OPTIONS
11
 .SH OPTIONS
13
 .TP
12
 .TP
14
 .SH MAIN OPTIONS
13
 .SH MAIN OPTIONS
76
 .TP
75
 .TP
77
 \fB\-c\fR, \fB\-\-ca\-system\fR <ca_sys>
76
 \fB\-c\fR, \fB\-\-ca\-system\fR <ca_sys>
78
 Process input EMM/ECM from <ca_sys>. Currently tested and working CA systems
77
 Process input EMM/ECM from <ca_sys>. Currently tested and working CA systems
79
-are \fBCONAX\fR, \fBCRYPTOWORKS\fR and \fBIRDETO\fR. The default <ca_sys> is
80
-\fBCONAX\fR.
78
+are \fBCONAX\fR, \fBCRYPTOWORKS\fR and \fBIRDETO\fR. Other supported CA
79
+systems that you can choose but are not tested are \fBSECA\fR
80
+(\fBMEDIAGUARD\fR), \fBVIACCESS\fR, \fBVIDEOGUARD\fR (\fBNDS\fR), \fBNAGRA\fR
81
+and \fBDRECRYPT\fR. The default <ca_sys> is \fBCONAX\fR.
81
 .TP
82
 .TP
82
 \fB\-s\fR, \fB\-\-camd\-server\fR <addr[:port]>
83
 \fB\-s\fR, \fB\-\-camd\-server\fR <addr[:port]>
83
 Set CAMD server ip and port (10.0.1.1:2233). Is not set default port is
84
 Set CAMD server ip and port (10.0.1.1:2233). Is not set default port is

+ 12
- 1
tsdecrypt.c View File

113
 	printf("\n");
113
 	printf("\n");
114
 	printf("CAMD server options:\n");
114
 	printf("CAMD server options:\n");
115
 	printf(" -c --ca-system <ca_sys>    | Process input EMM/ECM from <ca_sys>. Default: %s\n", ts_get_CA_sys_txt(ts->req_CA_sys));
115
 	printf(" -c --ca-system <ca_sys>    | Process input EMM/ECM from <ca_sys>. Default: %s\n", ts_get_CA_sys_txt(ts->req_CA_sys));
116
-	printf("                            | Valid idents are: CONAX, CRYPTOWORKS and IRDETO\n");
116
+	printf("                            | Valid idents are: CONAX, CRYPTOWORKS, IRDETO, SECA (MEDIAGUARD),\n");
117
+	printf("                            |                   VIACCESS, VIDEOGUARD (NDS), NAGRA and DRECRYPT.\n");
117
 	printf(" -s --camd-server <addr>    | CAMD server address and port. Example: 1.2.3.4:2233. Default: not set\n");
118
 	printf(" -s --camd-server <addr>    | CAMD server address and port. Example: 1.2.3.4:2233. Default: not set\n");
118
 	printf(" -U --camd-user <user>      | CAMD server user. Default: %s\n", ts->camd35.user);
119
 	printf(" -U --camd-user <user>      | CAMD server user. Default: %s\n", ts->camd35.user);
119
 	printf(" -P --camd-pass <pass>      | CAMD server password. Default: %s\n", ts->camd35.pass);
120
 	printf(" -P --camd-pass <pass>      | CAMD server password. Default: %s\n", ts->camd35.pass);
216
 					ts->req_CA_sys = CA_CONAX;
217
 					ts->req_CA_sys = CA_CONAX;
217
 				else if (strcasecmp("CRYPTOWORKS", optarg) == 0)
218
 				else if (strcasecmp("CRYPTOWORKS", optarg) == 0)
218
 					ts->req_CA_sys = CA_CRYPTOWORKS;
219
 					ts->req_CA_sys = CA_CRYPTOWORKS;
220
+				else if (strcasecmp("SECA", optarg) == 0 || strcasecmp("MEDIAGUARD", optarg) == 0)
221
+					ts->req_CA_sys = CA_SECA;
222
+				else if (strcasecmp("VIACCESS", optarg) == 0)
223
+					ts->req_CA_sys = CA_VIACCESS;
224
+				else if (strcasecmp("VIDEOGUARD", optarg) == 0 || strcasecmp("NDS", optarg) == 0)
225
+					ts->req_CA_sys = CA_VIDEOGUARD;
226
+				else if (strcasecmp("NAGRA", optarg) == 0)
227
+					ts->req_CA_sys = CA_NAGRA;
228
+				else if (strcasecmp("DRE-CRYPT", optarg) == 0 || strcasecmp("DRECRYPT", optarg) == 0)
229
+					ts->req_CA_sys = CA_DRECRYPT;
219
 				else
230
 				else
220
 					ca_err = 1;
231
 					ca_err = 1;
221
 				break;
232
 				break;

Loading…
Cancel
Save