I have recorded a video from a set top box which I am not able to see on my computer/laptop. I have already tried multiple video converter softwares and converting it too. Please !! I would really appreciate if someone could help me in watching and decoding and reverse engineer this file format. Also, I dont know which tags to include in this question. If somebody could suggest some tags, I would change it accordingly.

You can get the file here (8 MB only, a small recording) https://www.dropbox.com/s/5d62xkm1kj4sq7p/193135ZEE%20CLASSIC0.mpg?dl=0

1 Answer 1


The first byte of the file is 0x47, which suggests that it's an MPEG transport stream.

I used 010 Editor to create the following template for the file to parse it as an array of Partial Transport Stream Packets:

typedef struct {
    BYTE sync_byte <format=hex>;
    WORD transport_error_indicator : 1;
    WORD payload_unit_start_indicator : 1;
    WORD transport_priority : 1;
    WORD pid : 13;
    enum <BYTE> SCRAMBLE { not_scrambled=0, reserved=1, even_key=2, odd_key=3 } scrambling_control : 2;
    BYTE adaptation_field_exist : 1;
    BYTE contains_payload : 1;
    BYTE continuity_counter : 4;
    BYTE payload_data[188-4];

TS_PACKET packets[FileSize()/sizeof(TS_PACKET)];

Applying the above template to the file yields the following results: 010 Editor

As you can see above (circled in red), each packet's payload is encrypted with a DVB-CSA key. So it would appear that you would need that key in order to be able to decrypt the video stream's data.

  • 1
    @Akhilesh This pdf document explains dvb-csa encryption and ways to attack it.
    – 0xec
    Jan 31, 2015 at 18:17

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