-
Notifications
You must be signed in to change notification settings - Fork 19
Scrambled Channels
If you encounter an MPTS with scrambled channels you cannot transcode them using ffmpeg. You have to exclude all the scrambled streams from the transcoding process otherwise ffmpeg will stop and refuse to process your input file. In order to figure out which streams (PIDs) are scrambled you can use either dvbsnoopor demuxtoy. I didn't find a proper solution for displaying all the information in dvbsnoop. What you can do is to run:
$ dvbsnoop -s ts -pd 9 -tssubdecode -nph -if mpts.ts 0x01
TS sub-decoding (1 packet(s) stored for PID 0x0001):
=====================================================
TS contains Section...
SI packet (length=88):
SI packet hexdump:
PID: 1 (0x0001) [= assigned for: ISO 13818-1 Conditional Access Table (CAT)]
Guess table from table id...
CAT-decoding....
Table_ID: 1 (0x01) [= Conditional Access Table (CAT)]
section_syntax_indicator: 1 (0x01)
(fixed): 0 (0x00)
reserved_1: 3 (0x03)
Section_length: 85 (0x0055)
reserved_2: 262143 (0x3ffff)
Version_number: 10 (0x0a)
current_next_indicator: 1 (0x01) [= valid now]
Section_number: 0 (0x00)
Last_Section_number: 0 (0x00)
MPEG-DescriptorTag: 9 (0x09) [= CA_descriptor]
descriptor_length: 4 (0x04)
0000: 09 04 06 48 e2 58 ...H.X
CA_system_ID: 1608 (0x0648) [= Irdeto]
reserved: 7 (0x07)
CA_PID: 600 (0x0258)
MPEG-DescriptorTag: 9 (0x09) [= CA_descriptor]
descriptor_length: 4 (0x04)
0000: 09 04 06 50 e2 59 ...P.Y
CA_system_ID: 1616 (0x0650) [= Irdeto]
reserved: 7 (0x07)
CA_PID: 601 (0x0259)
MPEG-DescriptorTag: 9 (0x09) [= CA_descriptor]
descriptor_length: 4 (0x04)
0000: 09 04 06 e2 e2 5a .....Z
CA_system_ID: 1762 (0x06e2) [= Irdeto]
reserved: 7 (0x07)
CA_PID: 602 (0x025a)
MPEG-DescriptorTag: 9 (0x09) [= CA_descriptor]
descriptor_length: 4 (0x04)
0000: 09 04 0d 95 e2 bd ......
CA_system_ID: 3477 (0x0d95) [= Philips (Cryptoworks)]
reserved: 7 (0x07)
CA_PID: 701 (0x02bd)
MPEG-DescriptorTag: 9 (0x09) [= CA_descriptor]
descriptor_length: 4 (0x04)
0000: 09 04 0d 98 e2 be ......
CA_system_ID: 3480 (0x0d98) [= Philips (Cryptoworks)]
reserved: 7 (0x07)
CA_PID: 702 (0x02be)
MPEG-DescriptorTag: 9 (0x09) [= CA_descriptor]
descriptor_length: 4 (0x04)
0000: 09 04 09 8c e3 3e .....>
CA_system_ID: 2444 (0x098c) [= News Datacom (Videoguard)]
reserved: 7 (0x07)
CA_PID: 830 (0x033e)
MPEG-DescriptorTag: 9 (0x09) [= CA_descriptor]
descriptor_length: 4 (0x04)
0000: 09 04 09 c4 e3 3e .....>
CA_system_ID: 2500 (0x09c4) [= News Datacom (Videoguard)]
reserved: 7 (0x07)
CA_PID: 830 (0x033e)
MPEG-DescriptorTag: 9 (0x09) [= CA_descriptor]
descriptor_length: 32 (0x20)
0000: 09 20 05 00 e3 84 13 01 20 14 03 04 25 00 14 03 . ...... ...%...
0010: 04 25 10 14 03 04 25 02 14 03 04 25 30 14 03 05 .%....%....%0...
0020: 19 00 ..
CA_system_ID: 1280 (0x0500) [= France Telecom (Viaccess)]
reserved: 7 (0x07)
CA_PID: 900 (0x0384)
Private Data:
0000: 13 01 20 14 03 04 25 00 14 03 04 25 10 14 03 04 .. ...%....%....
0010: 25 02 14 03 04 25 30 14 03 05 19 00 %....%0.....
CRC: 2807244644 (0xa7532764)
So using this command you can see the defined CAS in the CAT table PID 0x01.
With demuxtoy you can actually check which channels are scrambled and which are not:
$ demuxtoy --out=directory/ tmpts.ts
This will save the TS data in directory/ so you can navigate to there and check in directory/mpts/SUMMARY/
either CASMessages.txt or Programs.txt. This is the output of directory/mpts/SUMMARY/Programs.txt
:
$ cat Programs.txt
Program PID Component Tag(s) Comments
ORF1 HD 0x0078 Program 4911 ECM Irdeto (0x0648) -
0x007A Program 4911 ECM Irdeto (0x0650) -
0x010E Program 4911 ECM CrytoWorks (Irdeto) (0x0D95) -
0x0110 Program 4911 ECM CrytoWorks (Irdeto) (0x0D98) -
0x0140 Program 4911 ECM Irdeto (0x06E2) -
0x01CD Program 4911 ECM France Telecom (0x0500) -
0x01E0 Program 4911 ECM News Datacom (0x09C4) -
0x01EA Program 4911 ECM News Datacom (0x098C) -
0x0780 Program 4911 H.264 AVC Video Stream 1
0x0781 Program 4911 AC-3 Audio Stream (deu) 2
0x0782 Program 4911 AC-3 Audio Stream (mis) 3
0x0785 Program 4911 Teletext (ger) 5
0x1C8E Program 4911 AIT (HbbTV) 11
0x1C8F Program 4911 HbbTv Carousel (0x1C8F) 12
0x0780 PCR PID -
ORF2N HD 0x0079 Program 4916 ECM Irdeto (0x0648) -
0x007B Program 4916 ECM Irdeto (0x0650) -
0x010F Program 4916 ECM CrytoWorks (Irdeto) (0x0D95) -
0x0111 Program 4916 ECM CrytoWorks (Irdeto) (0x0D98) -
0x0141 Program 4916 ECM Irdeto (0x06E2) -
0x01CE Program 4916 ECM France Telecom (0x0500) -
0x01E1 Program 4916 ECM News Datacom (0x09C4) -
0x01EB Program 4916 ECM News Datacom (0x098C) -
0x0B68 Program 4916 H.264 AVC Video Stream 1
0x0B69 Program 4916 AC-3 Audio Stream (deu) 2
0x0B6A Program 4916 AC-3 Audio Stream (mis) 3
0x0B6D Program 4916 Teletext (ger) 5
0x1C8E Program 4916 AIT (HbbTV) 11
0x1C8F Program 4916 HbbTv Carousel (0x1C8F) 12
0x0B68 PCR PID -
ORF2W HD 0x0079 Program 4912 ECM Irdeto (0x0648) -
0x007B Program 4912 ECM Irdeto (0x0650) -
0x010F Program 4912 ECM CrytoWorks (Irdeto) (0x0D95) -
0x0111 Program 4912 ECM CrytoWorks (Irdeto) (0x0D98) -
0x0141 Program 4912 ECM Irdeto (0x06E2) -
0x01CE Program 4912 ECM France Telecom (0x0500) -
0x01E1 Program 4912 ECM News Datacom (0x09C4) -
0x01EB Program 4912 ECM News Datacom (0x098C) -
0x0B68 Program 4912 H.264 AVC Video Stream 1
0x0B69 Program 4912 AC-3 Audio Stream (deu) 2
0x0B6A Program 4912 AC-3 Audio Stream (mis) 3
0x0B6D Program 4912 Teletext (ger) 5
0x1C8E Program 4912 AIT (HbbTV) 11
0x1C8F Program 4912 HbbTv Carousel (0x1C8F) 12
0x0B68 PCR PID -
ServusTV HD Oesterreich 0x007C Program 4913 ECM Irdeto (0x0648) -
0x007D Program 4913 ECM Irdeto (0x0650) -
0x0112 Program 4913 ECM CrytoWorks (Irdeto) (0x0D95) -
0x0113 Program 4913 ECM CrytoWorks (Irdeto) (0x0D98) -
0x011D Program 4913 ECM News Datacom (0x09C4) -
0x0127 Program 4913 ECM News Datacom (0x098C) -
0x0142 Program 4913 ECM Irdeto (0x06E2) -
0x01D0 Program 4913 ECM France Telecom (0x0500) -
0x005C Program 4913 AIT (HbbTV) 21
0x0DFF Program 4913 H.264 AVC Video Stream 1
0x0E00 Program 4913 MPEG-2 Audio Stream (ger) 2
0x0E01 Program 4913 MPEG-2 Audio Stream (eng) 3
0x0E03 Program 4913 AC-3 Audio Stream (ger) 4
0x0E04 Program 4913 Teletext (ger) 5
0x0E05 Program 4913 EAC-3 Audio Stream (ger) 7
0x0DFF PCR PID -
ServusTV HD Deutschland 0x005B Program 4914 AIT (HbbTV) 21
0x1338 Program 4914 H.264 AVC Video Stream 1
0x1339 Program 4914 MPEG-2 Audio Stream (ger) 2
0x133A Program 4914 MPEG-2 Audio Stream (eng) 3
0x133C Program 4914 AC-3 Audio Stream (ger) 4
0x133D Program 4914 Teletext (ger) 5
0x133E Program 4914 EAC-3 Audio Stream (ger) 7
0x1338 PCR PID
From the output is obvious that only ServusTV HD Deutschland is FTA, the only program which doesn't have ECM PIDs.
I have also tried to get the same information using tsreport and tsinfo part of the tstools but I was unable to do that.