1

I have couple of streams recorded with couple of services which are encrypted. Is there a way to check which streams/programs are scrambled in ffmpeg. I have tried with ffmpeg -i mpts.ts but it doesn't provide me a straight forward information about it. I have tried to google it but also didn't find any information.

This is the output of ffmpeg -i mpts.ts

ffmpeg version 3.3.3-1ubuntu1~16.04.york0 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=/usr --extra-version='1ubuntu1~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libavresample   3.  5.  0 /  3.  5.  0
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] SPS unavailable in decode_picture_timing
[h264 @ 0x55f7925f7ea0] non-existing PPS 0 referenced
[h264 @ 0x55f7925f7ea0] decode_slice_header error
[h264 @ 0x55f7925f7ea0] no frame!
[mpegts @ 0x55f7925d3780] Stream #10: not enough frames to estimate rate; consider increasing probesize
[mpegts @ 0x55f7925d3780] Stream #15: not enough frames to estimate rate; consider increasing probesize
[mpegts @ 0x55f7925d3780] Stream #19: not enough frames to estimate rate; consider increasing probesize
[mpegts @ 0x55f7925d3780] start time for stream 10 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 11 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 12 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 15 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 16 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 17 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 19 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 20 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 21 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 22 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] start time for stream 23 is not set in estimate_timings_from_pts
[mpegts @ 0x55f7925d3780] PES packet size mismatch
    Last message repeated 9 times
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 0 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 10 (Video: h264 ([27][0][0][0] / 0x001B), none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 11 (Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 12 (Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 13 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 14 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 15 (Video: h264 ([27][0][0][0] / 0x001B), none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 16 (Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 17 (Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 18 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 19 (Video: h264 ([27][0][0][0] / 0x001B), none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 20 (Audio: mp3 ([4][0][0][0] / 0x0004), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 21 (Audio: mp3 ([4][0][0][0] / 0x0004), 0 channels): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 22 (Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0x55f7925d3780] Could not find codec parameters for stream 23 (Audio: eac3 ([6][0][0][0] / 0x0006), 0 channels): unspecified sample format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'TS1007_ServusTV_HD_15min.ts':
  Duration: 02:47:55.81, start: 47397.187422, bitrate: 3808 kb/s
  Program 4911
    Metadata:
      service_name    : ORF1 HD
      service_provider: ORF
    Stream #0:10[0x780]: Video: h264 ([27][0][0][0] / 0x001B), none, 90k tbr, 90k tbn
    Stream #0:11[0x781](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels
    Stream #0:12[0x782](mis): Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels
    Stream #0:8[0x785](ger): Subtitle: dvb_teletext
    Stream #0:13[0x1c8e]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:14[0x1c8f]: Unknown: none ([11][0][0][0] / 0x000B)
  Program 4912
    Metadata:
      service_name    : ORF2W HD
      service_provider: ORF
    Stream #0:15[0xb68]: Video: h264 ([27][0][0][0] / 0x001B), none, 90k tbr, 90k tbn
    Stream #0:16[0xb69](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels
    Stream #0:17[0xb6a](mis): Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels
    Stream #0:7[0xb6d](ger): Subtitle: dvb_teletext
    Stream #0:13[0x1c8e]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:14[0x1c8f]: Unknown: none ([11][0][0][0] / 0x000B)
  Program 4913
    Metadata:
      service_name    : ServusTV HD Oesterreich
      service_provider: ServusTV
    Stream #0:18[0x5c]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:19[0xdff]: Video: h264 ([27][0][0][0] / 0x001B), none, 90k tbr, 90k tbn
    Stream #0:20[0xe00](ger): Audio: mp3 ([4][0][0][0] / 0x0004), 0 channels (clean effects)
    Stream #0:21[0xe01](eng): Audio: mp3 ([4][0][0][0] / 0x0004), 0 channels (clean effects)
    Stream #0:22[0xe03](ger): Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels (clean effects)
    Stream #0:9[0xe04](ger): Subtitle: dvb_teletext
    Stream #0:23[0xe05](ger): Audio: eac3 ([6][0][0][0] / 0x0006), 0 channels
  Program 4914
    Metadata:
      service_name    : ServusTV HD Deutschland
      service_provider: ServusTV
    Stream #0:0[0x5b]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:1[0x1338]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:2[0x1339](ger): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 160 kb/s (clean effects)
    Stream #0:3[0x133a](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 160 kb/s (clean effects)
    Stream #0:4[0x133c](ger): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), fltp, 448 kb/s (clean effects)
    Stream #0:5[0x133d](ger): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    Stream #0:6[0x133e](ger): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), fltp, 256 kb/s
  Program 4916
    Metadata:
      service_name    : ORF2N HD
      service_provider: ORF
    Stream #0:15[0xb68]: Video: h264 ([27][0][0][0] / 0x001B), none, 90k tbr, 90k tbn
    Stream #0:16[0xb69](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels
    Stream #0:17[0xb6a](mis): Audio: ac3 ([6][0][0][0] / 0x0006), 0 channels
    Stream #0:7[0xb6d](ger): Subtitle: dvb_teletext
    Stream #0:13[0x1c8e]: Unknown: none ([5][0][0][0] / 0x0005)
    Stream #0:14[0x1c8f]: Unknown: none ([11][0][0][0] / 0x000B)
  • when you say straightforward...what information do you get from it? – Dr Mayhem Aug 28 '17 at 15:51
  • @DrMayhem I have added the output of ffmpeg -i mpts.ts. Please note that in this MPTS only Servus TV HD Deutschland is FTA, the rest of the services are encrypted. – Georgе Stoyanov Aug 29 '17 at 8:02
  • I'm not convinced this is on topic. @AJH - what do you think? – Dr Mayhem Aug 29 '17 at 8:28
  • @DrMayhem what do you mean by that this might not be on topic? – Georgе Stoyanov Aug 29 '17 at 15:07
  • This appears to be entirely an ffmpeg syntax question, so I don't think that is useful here. I haven't closed it, as I'd like wider opinion, but as per @AJHenderson's meta post on this, having the site end up as an ffmpeg usage and syntax site is not where we think it should be. – Dr Mayhem Aug 29 '17 at 15:33
1

It doesn't appear that FFmpeg can decode the relevant information. You need something that can analyze the Conditional Access Table (CAT) and probably the other tables (PMT, PAT, etc.). DVB Inspector or DVBSnoop might display the relevant information, but I don't have first hand experience with either and working with the CAT.

  • Thanks for the hint Michael, I also think that what I am trying to do cannot be made with ffmpeg, and it is a pity, because initially when I tried to encode my stream with ffmpeg, it was crashing and it took me a while to figure out that it was crashing because of the scrambled streams in it. – Georgе Stoyanov Aug 30 '17 at 7:38
  • Dealing with conditional access with even the best commercial tools is not easy. – Michael Liebman Aug 30 '17 at 17:09
0

So I found some solution, even though, the output is not very pretty. You can use either dvbsnoop or demuxtoy to do that. I didn't find a proper solution for dvbsnoop though. 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.