tsdecrypt reads and decrypts CSA encrypted incoming mpeg transport stream over UDP/RTP using code words obtained from OSCAM or similar CAM server. tsdecrypt communicates with CAM server using cs378x (camd35 over tcp) protocol or newcamd protocol. https://georgi.unixsol.org/programs/tsdecrypt/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

tsdecrypt.1 9.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. .TH TSDECRYPT "1" "December 2011" "tsdecrypt 5.0" "User Commands"
  2. .SH NAME
  3. tsdecrypt - Decrypt mpeg transport stream.
  4. .SH SYNOPSIS
  5. .B tsdecrypt
  6. [\fIoptions\fR]
  7. .SH DESCRIPTION
  8. tsdecrypt reads incoming mpeg transport stream over UDP/RTP or file and
  9. then decrypts it using libdvbcsa and keys obtained from OSCAM or similar
  10. CAMD server. tsdecrypt communicates with CAM server using cs378x (camd35
  11. over tcp) protocol or newcamd protocol.
  12. .SH OPTIONS
  13. .TP
  14. .SH MAIN OPTIONS
  15. .PP
  16. .TP
  17. \fB\-i\fR, \fB\-\-ident\fR <ident>
  18. Set ident that will be used when logging to syslog. The prefered format
  19. for the ident is PROVIDER/CHANNEL.
  20. .TP
  21. \fB\-d\fR, \fB\-\-daemon\fR <pidfile>
  22. When started become a daemon and write pid file to <pidfile>.
  23. .TP
  24. \fB\-N\fR, \fB\-\-notify\-program\fR <program>
  25. Execute \fB<program>\fR when predefined events happen. In order for
  26. this option to work \fB\-\-ident\fR should also be used.
  27. You can use \fBnotify-script.example\fR file as notification program
  28. and an example on how to create your own notification script.
  29. See \fBEVENTS\fR section for detailed description of the events.
  30. .TP
  31. \fB\-S\fR, \fB\-\-syslog\fR
  32. Write log messages to local syslog.
  33. .TP
  34. \fB\-l\fR, \fB\-\-syslog\-host\fR <addr>
  35. Set syslog host. tsdecrypt sends messages to this host over tcp in
  36. syslog compatible format. syslog-ng was tested as receiving syslog server.
  37. .TP
  38. \fB\-L\fR, \fB\-\-syslog\-port\fR <port>
  39. Syslog server port. The default value is \fB514\fR.
  40. .TP
  41. \fB\-D\fR, \fB\-\-debug\fR <level>
  42. Set message debug level. Currently there are five message levels.
  43. 0 = default messages, 1 = show PSI tables, 2 = show EMMs 3 = show
  44. duplicate ECMs, 4 = packet debug. 5 = packet debug + mpeg ts packet
  45. dump.
  46. Setting higher level enables the levels bellow.
  47. .TP
  48. \fB\-j\fR, \fB\-\-pid\-report\fR
  49. When this option is used, tsdecrypt on exit reports how much packets
  50. were received on each PID.
  51. .TP
  52. \fB\-b\fR, \fB\-\-bench\fR
  53. Bechmark libdvbcsa decryption. The benchmark is single threaded.
  54. If you want to fully test your CPU, run couple of tsdecrypts in parallel.
  55. .TP
  56. \fB\-V\fR, \fB\-\-version\fR
  57. Show program version.
  58. .TP
  59. \fB\-h\fR, \fB\-\-help\fR
  60. Show program help.
  61. .TP
  62. .SH INPUT OPTIONS
  63. .PP
  64. .TP
  65. \fB\-I\fR, \fB\-\-input\fR <source>
  66. Where to read from. tsdecrypt supports input from files (-I file.ts or -I -)
  67. or multicast (-I 224.0.0.1:5000). By default tsdecrypt reads from \fBstdin\fR.
  68. .TP
  69. \fB\-R\fR, \fB\-\-input\-rtp\fR
  70. When reading from multicast assume the input is RTP stream. NOTE: No RTP
  71. processing/reordering of packets is done. The 12 byte RTP header is just
  72. stripped out and the stream is then processed as normal mpeg transport
  73. stream over UDP multicast.
  74. .TP
  75. \fB\-z\fR, \fB\-\-input\-ignore\-disc\fR
  76. Do not report input discontinuity or RTP discontinuity errors.
  77. .TP
  78. \fB\-M\fR, \fB\-\-input\-service\fR <service_id>
  79. Choose the service id. This option must be used when the input is MPTS
  80. in order to select the correct service (program). If the input is MPTS
  81. and \fB\-\-input\-service\fR is not used, tsdecrypt chooses the last service
  82. listed in PAT.
  83. .TP
  84. \fB\-W\fR, \fB\-\-input\-dump\fR <filename>
  85. Save input stream in <filename>. If the input is RTP, the file will contain
  86. the data without RTP headers (pure mpeg transport stream). Easiest way to
  87. save the input is using command line like the following:
  88. tsdecrypt -I 239.78.78.78:5000 -O /dev/null -s 0.0.0.0 -W file.ts
  89. .TP
  90. .SH OUTPUT OPTIONS
  91. .PP
  92. .TP
  93. \fB\-O\fR, \fB\-\-output\fR <dest>
  94. Output decrypted stream to <dest>. Destination can be multicast address
  95. (-O 239.0.0.1:5000) or a file (-O file.ts). The default output is \fBstdout\fR.
  96. .TP
  97. \fB\-o\fR, \fB\-\-output\-intf\fR <addr>
  98. Set multicast output interface.
  99. .TP
  100. \fB\-t\fR, \fB\-\-output\-ttl\fR
  101. Set multicast ttl. The default value is \fB1\fR.
  102. .TP
  103. \fB\-g\fR, \fB\-\-output\-tos\fR
  104. Set TOS value of output packets. The default is not to set any specific TOS.
  105. .TP
  106. \fB\-r\fR, \fB\-\-output\-rtp\fR
  107. Enable RTP output. The default output is standart MPEG TS over UDP, this
  108. option enables tsdecrypt to output RTP packets.
  109. .TP
  110. \fB\-k\fR, \fB\-\-output\-rtp\-ssrc\fR <ssrc>
  111. Set RTP SSRC field to <ssrc>. By default is is set to \fB0\fR.
  112. .TP
  113. \fB\-p\fR, \fB\-\-no\-output\-filter\fR
  114. Disable output filtering. By default the output filter is enabled and only
  115. PAT/PMT/SDT and data packets are left in the output. Everything else not
  116. mentioned in PMT like NIT, EIT, TDT tables and unknown pids is removed.
  117. .TP
  118. \fB\-y\fR, \fB\-\-output\-nit\-pass\fR
  119. Pass throught NIT packets when output filtering is enabled.
  120. .TP
  121. \fB\-w\fR, \fB\-\-output\-eit\-pass\fR
  122. Pass throught EIT (EPG) packets when output filtering is enabled.
  123. .TP
  124. \fB\-x\fR, \fB\-\-output\-tdt\-pass\fR
  125. Pass throught TDT/TOT packets when output filtering is enabled.
  126. .TP
  127. .SH CA OPTIONS
  128. .PP
  129. .TP
  130. \fB\-c\fR, \fB\-\-ca\-system\fR <ca_sys>
  131. Process input EMM/ECM from <ca_sys>. Currently tested and working CA systems
  132. are \fBCONAX\fR, \fBCRYPTOWORKS\fR, \fBIRDETO\fR, \fBVIACCESS\fR, \fBMEDIAGUARD\fR
  133. (\fBSECA\fR) and \fBVIDEOGUARD\fR (\fBNDS\fR). Other supported CA systems that
  134. you can choose but are not tested are \fBNAGRA\fR and \fBDRECRYPT\fR.
  135. The default <ca_sys> is \fBCONAX\fR.
  136. .TP
  137. \fB\-C\fR, \fB\-\-caid\fR <caid>
  138. Directly set CAID. This is useful if you have couple of CA streams from
  139. one CA but with different CAIDs.
  140. .TP
  141. .SH CAMD OPTIONS
  142. .PP
  143. .TP
  144. \fB\-A\fR, \fB\-\-camd\-proto\fR <protocol>
  145. Set CAMD server protocol. Valid protocols are \fBCS378X\fR and \fBNEWCAMD\fR.
  146. If this option is not used the default protocol is \fBCS378X\fR (camd35 over
  147. tcp).
  148. .TP
  149. \fB\-s\fR, \fB\-\-camd\-server\fR <addr[:port]>
  150. Set CAMD server ip and port (10.0.1.1:2233). Is not set default port
  151. is \fB2233\fR. 2233 is the default port CS378X protocol, for NEWCAMD
  152. protocol you probably should choose other port.
  153. .TP
  154. \fB\-U\fR, \fB\-\-camd\-user\fR <username>
  155. Set CAMD user name. The default is \fBuser\fR.
  156. .TP
  157. \fB\-P\fR, \fB\-\-camd\-pass\fR <password>
  158. Set CAMD user password. The default is \fBpass\fR.
  159. .TP
  160. \fB\-B\fR, \fB\-\-camd\-des\-key\fR <des_key>
  161. Set DES key used by NEWCAMD protocol. The default
  162. is \fB0102030405060708091011121314\fR.
  163. .TP
  164. .SH EMM OPTIONS
  165. .PP
  166. .TP
  167. \fB\-e\fR, \fB\-\-emm\fR
  168. Enable sending EMM's to CAMD for processing. By default EMM processing
  169. is \fBdisabled\fR and only ECM are processed.
  170. .TP
  171. \fB\-Z\fR, \fB\-\-emm\-pid\fR <pid>
  172. Set EMM pid manually. This option is useful for services that have
  173. couple of EMM streams from one CA system. Without this option tsdecrypt
  174. always chooses the first stream from the chosen CA system.
  175. .TP
  176. \fB\-E\fR, \fB\-\-emm\-only\fR <hierarchy>
  177. Disable ECM processing and stream output. This option is useful if the EMM
  178. stream has very high rate and is interfering with ECM processing. Using
  179. --emm-only you can run special tsdecrypt dedicated only to card auto update.
  180. .TP
  181. \fB\-f\fR, \fB\-\-emm\-report\-time\fR <seconds>
  182. Set interval for EMM reports. The default is \fB60\fR seconds. Set to \fB0\fR
  183. to disable EMM reports.
  184. .TP
  185. .SH ECM OPTIONS
  186. .PP
  187. .TP
  188. \fB\-X\fR, \fB\-\-ecm\-pid\fR <pid>
  189. Set ECM pid manually. This option is useful for services that have
  190. couple of ECM streams from one CA system. Without this option tsdecrypt
  191. always chooses the first stream from the chosen CA system. Run tsdecrypt
  192. with --debug 2 and look at CA descriptors in PMT to see what CA streams
  193. are available.
  194. .TP
  195. \fB\-H\fR, \fB\-\-ecm\-report\-time\fR <seconds>
  196. Set interval for ECM reports. The default is \fB60\fR seconds. Set to \fB0\fR
  197. to disable ECM reports.
  198. .TP
  199. \fB\-G\fR, \fB\-\-ecm\-irdeto\-type\fR <type>
  200. Set ECM IRDETO type. IRDETO CA send ECMs with different id mixed
  201. into one stream. Only one of the IDs are valid in given time. This
  202. option lets you choose which stream to process. The default stream
  203. type is \fB0\fR.
  204. .TP
  205. \fB\-K\fR, \fB\-\-ecm\-no\-log\fR
  206. Disable logging of ECMs and code words. Code word errors and stats
  207. reports are not affected by this option.
  208. .TP
  209. \fB\-J\fR, \fB\-\-cw\-warn\-time\fR <seconds>
  210. After how much seconds to warn if valid code word was not received.
  211. The default is \fB60\fR seconds. Set to \fB0\fR to disable the warning.
  212. .SH EVENTS
  213. Notification events are sent when \fB\-\-notify\-program\fR and \fB\-\-ident\fR
  214. options are used. The event parameters are set as environmental variables
  215. before executing the external notification program. The variables are:
  216. \fB_TS\fR Unix timestamp of the event.
  217. \fB_IDENT\fR tsdecrypt ident parameter with "/" replaced by "-".
  218. \fB_MESSAGE_ID\fR Event message id (for example START, STOP, etc...).
  219. \fB_MESSAGE_MSG\fR Event message id with "_" replaced by " ".
  220. \fB_MESSAGE_TEXT\fR Event message text. Human readable event message.
  221. currently defined events are:
  222. \fBSTART\fR tsdecrypt was started.
  223. \fBCODE_WORD_OK\fR Valid code word was received and decryption is
  224. working ok.
  225. \fBNO_CODE_WORD\fR No valid code word was received for X seconds. The
  226. decryption process have been suspended until valid
  227. code word is received.
  228. \fBINPUT_TIMEOUT\fR There was no data on the input.
  229. \fBINPUT_OK\fR The data have appeared on the input.
  230. \fBSTOP\fR tsdecrypt was stopped.
  231. See \fBnotify-script.example\fR for an example on how to create external
  232. notification program.
  233. .SH SEE ALSO
  234. See the README file for more information. If you have questions, remarks,
  235. problems or you just want to contact the developer, write to:
  236. \fIgeorgi@unixsol.org\fP
  237. .TP
  238. For more info, see the website at
  239. .I http://georgi.unixsol.org/programs/tsdecrypt/
  240. .SH AUTHORS
  241. Written by Georgi Chorbadzhiyski <\fBgeorgi@unixsol.org\fR>
  242. .SH LICENSE
  243. This program is free software; you can redistribute it and/or modify it under
  244. the terms of version 2 of the GNU General Public License as published by the
  245. Free Software Foundation.