stefantalpalaru / w_scan2

w_scan fork (channel scan tool which generates ATSC, DVB-C, DVB-S/S2 and DVB-T/T2 channels.conf files)
GNU General Public License v2.0
80 stars 22 forks source link

Mapping stream types to human readable description #18

Closed cybin closed 6 months ago

cybin commented 4 years ago

Hi!

I'm working on the XML output and would like to fill the description fields with something readable. I can't find a table or list to match the numeric type values to something else.

Taken from the comments there must be something to provide useful information:

<streams>
  <stream type="27" pid="213" description="AVC Video stream, ITU-T Rec. H.264 | ISO/IEC 14496-10"/>
  <stream type="4" pid="330" description="AUDIO" language_code="fin"/>
</streams>

Thanks in advance.

stefantalpalaru commented 4 years ago

Sounds interesting. Do you have to generate those descriptions based on the type number?

cybin commented 4 years ago

At the moment, I don't know what these type fields are. I don't expect it to be an absolute value to map to onto a table, but maybe it's bit mask to check video/audio, codecs, and other parameters to build a readable description. If anyone has got a hint on that, I would really appreciate it.

Saentist commented 3 years ago

@cybin
https://en.wikipedia.org/wiki/Program-specific_information#Elementary_stream_types This is replacment of Elementary stream types values.

case 1:
    e += "ISO/IEC 11172-2 Video | MPEG 1 - H.261";
    break;
case 2:
    e += "ISO/IEC 13818-2 Video | MPEG-2 - H.262";
    break;
case 16:
    e += "ISO/IEC 14496-2 Visual | MPEG-4 - H.263";
    break;
case 27:
    e += "ISO/IEC 14496-10 Video | H.264";
    break;
case 36:
    e += "ISO/IEC 23008-2 Video | H.265";
    break;
case 3:
    e += "ISO/IEC 11172 Audio | MPEG-1";
    break;
case 4:
    e += "ISO/IEC 13818-3 Audio | MPEG-2";
    break;
case 15:
    e += "ISO/IEC 13818-7 Audio | ADTS AAC";
    break;
case 17:
    e += "ISO/IEC 14496-3 Audio (LATM) | AAC LC";
    break;
case 6:
    e += "ISO/IEC 13818-1 PES private data";
    break;
case 5:
    e += "ISO/IEC 13818-1 | HBBTV";
    break;
case 7:
    e += "ISO/IEC 13522 (MHEG)";
    break;
case 8:
    e += "ITU-T Rec. H.222 and ISO/IEC 13818-1 DSM CC";
    break;
case 9:
    e += "ITU-T Rec. H.222 and ISO/IEC 13818-1/11172-1 auxiliary data";
    break;
case 10:
    e += "ISO/IEC 13818-6 DSM CC multiprotocol encapsulation";
    break;
case 11:
    e += "ISO/IEC 13818-6 DSM CC U-N messages";
    break;
case 12:
     e += "ISO/IEC 13818-6 DSM CC stream descriptors";
    break;
case 13:
     e += "ISO/IEC 13818-6 DSM CC tabled data";
    break;
case 14:
     e += "ISO/IEC 13818-1 auxiliary data";
    break;
case 20:
     e += "ISO/IEC 13818-6 DSM CC synchronized download protocol";
    break;
case 21:
     e += "Packetized metadata";
    break;
case 22:
     e += "Sectioned metadata";
    break;
case 23:
     e += "ISO/IEC 13818-6 DSM CC Data Carousel metadata";
    break;
case 24:
     e += "ISO/IEC 13818-6 DSM CC Object Carousel metadata";
    break;
case 25:
     e += "ISO/IEC 13818-6 Synchronized Download Protocol metadata";
    break;
case 26:
     e += "ISO/IEC 13818-11 IPMP";
    break;
case 28:
     e += "ISO/IEC 14496-3 | AAC";
    break;
case 29:
     e += "ISO/IEC 14496-17 (MPEG-4 text)";
    break;
case 30:
     e += "ISO/IEC 23002-3 (MPEG-4 auxiliary video)";
    break;
case 31:
     e += "ISO/IEC 14496-10 SVC (MPEG-4 AVC sub-bitstream)";
    break;
case 32:
     e += "ISO/IEC 14496-10 MVC (MPEG-4 AVC sub-bitstream)";
    break;
case 66:
     e += "Chinese Video Standard";
    break;
case 127:
     e += "ISO/IEC 13818-11 IPMP (DRM)";
    break;
case 135:
     e += "Dolby Digital Plus (enhanced AC-3)";
    break;
case 145:
     e += "ATSC DSM CC Network Resources table";
    break;
case 193:
     e += "Dolby Digital (AC-3) up to six channel audio with AES-128-CBC data encryption";
    break;
case 194:
     e += "ATSC DSM CC synchronous data or Dolby Digital Plus audio with AES-128-CBC data encryption";
    break;
case 207:
     e += "ISO/IEC 13818-7 ADTS AAC with AES-128-CBC frame encryption";
    break;
case 209:
     e += "BBC Dirac (Ultra HD video)";
    break;
case 219:
     e += "ITU-T Rec. H.264 and ISO/IEC 14496-10 with AES-128-CBC slice encryption";
    break;
jmwislez commented 3 years ago

I have just committed a pull request with an implementation of XML output. Thanks for this table, I used it in the implementation.

stefantalpalaru commented 6 months ago

Fixed in https://github.com/stefantalpalaru/w_scan2/pull/32