Expert Tool - TS Demuxer does not always find Teletext subtitle in .ts

Begonnen von hvda, November 11, 2024, 17:54:13

« vorheriges - nächstes »

hvda

TS-Doctor v4.1.11 (x64 - see extract Application report) - Expert Tool - TS Demuxer does not always find Teletext subtitle stream in a .ts transport stream (see screenshot attached).
Consequence : Expert Tool TS Demuxer does not create an extracted teletext subtitle file (srt format).
(Seems to happen when there are no Teletext subtitle items in the first 10 seconds of the transport stream - I am guessing).

This problem does never occur with TS-Doctor v3.2.33 - Expert Tool - TS Demuxer. This Expert Tool TS Demuxer always finds the Teletext subtitle stream (see screenshot attached) and creates a correct extracted teletext subtitle file (srt format, without color or italic attributes).

Note : there is no problem with TS-Doctor v4.1.11 when doing following steps (and with Settings - Preferences - Stream Select : Teletext = Keep):
(1) Open a transport stream file .ts containing a teletext subtitle elementary stream : the subtitle elementary stream shows correctly in the main window.
(2) Prepare cutting.
(3) Save new file : this step creates a correct extracted teletext subtitle file (srt format, included color and italic attributes).

A sample transport stream .ts file (10 MB) to document the problem is available for download at following (not-secure http) URL : http://home.scarlet.be/hvda/Sample_TTX888/ (sample will remain available until november 30th 2024).
This 10 MB sample file has been created from the original .ts recording with Expert Tool Raw Cutter.

The sample .ts file contains following 2 teletext subtitles (subtitles extracted with TS-Doctor v3.2.33; check sample .ts with MPC-BE; subtitles not found by TS-Doctor v4.1.11 - Expert Tool - TS Demuxer) :

1
00:00:16,700 --> 00:00:20,940
BIRDS CAW

2
00:00:20,940 --> 00:00:24,780
WOODEN CLACKER CLACKS

To see the difference between TS-Doctor v4.1.11 Expert Tool TS Demuxer and TS-Doctor v3.2.33  Expert Tool TS Demuxer : start both demuxers and compare 'File being demuxed' of sample file 'Sample_TTX888_START=9sec.ts'.
Stream '$14B6 Subtitle page 888 UND' is missing in 'Select streams to demux' when starting TS-Doctor v4.1.11 Expert Tool TS Demuxer. See attached screenshots.

Extract from Application report :
[C:\Program Files\Cypheros\TSDoctor4\]
TSDoctor.exe (CRC = 006D70C5) [7126648 bytes]  {6/11/2024 11:05:12.000} x64
[C:\Program Files\Cypheros\TSDoctor4\filter\LAVLight\]
avcodec-lav-57.dll (CRC = 00BF42F8) [12511744 bytes]  {22/09/2022 18:58:32.000} x64

See also following extract from the PMT (Program Mapping Table) of sample file 'Sample_TTX888_START=9sec.ts'.
This PMT extract (made with program DVB Inspector) shows clearly the presence of the 'Teletext subtitle page' in the 'Teletext descriptor' of Component #2.

PMTs
+-program: 0x289A (10394)
  +-TableType: program_map_section (0/0)
    +-table_id: 0x2 (2) => program_map_section
    +-section_syntax_indicator: 0x1 (1)
    +-private_indicator: 0x0 (0)
    +-section_length: 0x7E (126)
    +-program_number: 0x289A (10394)
    +-version: 0x4 (4)
    +-current_next_indicator: 0x1 (1) => current
    +-section_number: 0x0 (0)
    +-last_section_number: 0x0 (0)
    +-private_data: 0xF4B4F0060C0480B481681BF4B4F00F52010B0F044F545600FE044844560003F4B9F0155201070A044E4152000F044F545600FE044155443206F4B6F01B520104560A656E671088656E6708880F044F545600FE045355420006F4B5F0185201080A04656E ".........h.....R....OTV...HDV......R....NAR...OTV...AUD2.....R..V.eng..eng....OTV...SUB......R....en"
    +-PMT_PID: 0x10A (266)
    +-PCR_PID: 0x14B4 (5300)
    +-program_info_length: 0x6 (6)
    +-program_info: 1 entries
    +-components: 4 entries
      +-component (AVC video stream as defined in ITU-T Rec. H.264 | ISO/IEC 14496-10 Video, or AVC base layer of an HEVC video stream as defined in ITU-T H.265 | ISO/IEC 23008-2 ) [0]
      +-component (ISO/IEC 11172 Audio) [1]
      +-component (ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets containing private data) [2]
      | +-stream_type: 0x6 (6) => ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets containing private data
      | +-elementary_PID: 0x14B6 (5302)
      | +-ES_info_length: 0x1B (27)
      | +-component_descriptors: 4 entries
      |   +-Descriptor: stream_identifier_descriptor [0]: 0x52 (82)
      |   | +-descriptor_tag: 0x52 (82) => stream_identifier_descriptor
      |   | +-descriptor_length: 0x1 (1)
      |   | +-descriptor_data: 0x04 "."
      |   | +-component_tag: 0x4 (4)
      |   +-Descriptor: teletext_descriptor [1]: 0x56 (86)
      |   | +-descriptor_tag: 0x56 (86) => teletext_descriptor
      |   | +-descriptor_length: 0xA (10)
      |   | +-descriptor_data: 0x656E671088656E670888 "eng..eng.."
      |   | +-teletext_list: 2 entries
      |   |   +-teletext [0]
      |   |   | +-ISO_639_language_code: eng
      |   |   | +-teletext_type: 0x2 (2) => Teletext subtitle page
      |   |   | +-teletext_magazine_number: 0x0 (0)
      |   |   | +-teletext_page_number: 0x88 (136)
      |   |   +-teletext [1]
      |   |     +-ISO_639_language_code: eng
      |   |     +-teletext_type: 0x1 (1) => initial Teletext page
      |   |     +-teletext_magazine_number: 0x0 (0)
      |   |     +-teletext_page_number: 0x88 (136)
      |   +-Descriptor: Private_data_indicator_descriptor [2]: 0xF (15)
      |   | +-descriptor_tag: 0xF (15) => Private_data_indicator_descriptor
      |   | +-descriptor_length: 0x4 (4)
      |   | +-descriptor_data: 0x4F545600 "OTV."
      |   | +-private_data_indicator: 0x4F545600 (1330927104) => OpenTV 1 - 256
      |   +-Descriptor: user defined: OpenTV track_tag_descriptor [3]: 0xFE (254)
      |     +-descriptor_tag: 0xFE (254) => user defined: OpenTV track_tag_descriptor
      |     +-descriptor_length: 0x4 (4)
      |     +-descriptor_data: 0x53554200 "SUB."
      +-component (ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets containing private data) [3][attach id=12061 width=484 height=317]Sample_TTX888_START=9sec_TSD v4-1-11_Expert Tools_TS Demuxer_Streams.png[/attach][attach id=12059 width=497 height=325]Sample_TTX888_START=9sec_TSD v3-2-33_Expert Tools_TS Demuxer_Streams.png[/attach]

Cypheros

Just enable teletext extraction.
The setting can be found under Settings/Preferences/Teletext/Subtitles.

teletext1.JPG

Result:
teletext2.JPG

hvda

ZitatJust enable teletext extraction.
The setting can be found under Settings/Preferences/Teletext/Subtitles.

Thank you for the suggestion but the 'Extract Teletext subtitles' IS ALREADY ENABLED in my TS-Doctor v4.1.11 Teletext/Subtitles preference setting on my PC 'A' (see screenshot attached).

And remember:
ZitatNote : there is no problem with TS-Doctor v4.1.11 when doing following steps (and with Settings - Preferences - Stream Select : Teletext = Keep):
(1) Open a transport stream file .ts containing a teletext subtitle elementary stream : the subtitle elementary stream shows correctly in the main window.
(2) Prepare cutting.
(3) Save new file : this step creates a correct extracted teletext subtitle file (srt format, included color and italic attributes).

Something else must go wrong.

Also the differences between the lists 'Select streams to demux' of sample file 'Sample_TTX888_START=9sec.ts' obtained by
  • Expert Tool TS Demuxer of TS-Doctor v4.1.11 64-bit on my PC 'A' with Windows 10 x64
  • Expert Tool TS Demuxer of TS-Doctor v3.2.33 32-bit on PC 'A' with Windows 10 x64
  • Expert Tool TS Demuxer of a TS-Doctor version on your PC
are remarkable :
On my PC 'A' with TS-Doctor v4.1.11 64-bit : TS Demuxer
  • does not find the teletext subtitle stream '$14B6 Subtitle page 888 UND'
  • finds a '$010A EIT,ST' stream, not shown with TS-Doctor v3.2.33 on my PC 'A' or with TS-Doctor on your PC
  • does not find/show language codes for the audio and teletexts treams (although this information is perfectly available in the Program Mapping Table of the sample ts file).

TS-Doctor v4.1.11 TS Demuxer test on other PCs.
Having some other PCs available, I installed TS-Doctor v4.1.11 on 2 other PCs and did the TS Demuxer test on sample file 'Sample_TTX888_START=9sec.ts' :
  • On a PC 'B' with Windows 10 32 bit : TS-Doctor v4.1.11 automatically installed the 32-bit version; result TS Demuxer test = PERFECT OK : streams seen by TS Demuxer exactly as shown on your screenshot, correct extracted teletext subtitle file (srt format, without color or italic attributes).
  • On a PC 'C' with Windows 10 64 bit : TS-Doctor v4.1.11 automatically installed the 64-bit version; result TS Demuxer test = BAD : streams seen by TS Demuxer as shown on PC 'A', no extracted teletext subtitle file.

Conclusion : the TS Demuxer expert tool of TS-Doctor v4.1.11 64-bit seems to fail for specific sample transport stream files (and possibly fails on PCs with a specific Windows 10 64-bit situation).

Another test with unexpected result.
Inspired by your request to enable 'Extract Teletext subtitles' under Settings/Preferences/Teletext/Subtitles, I DISABLED on PC 'A' TS-Doctor v14.1.11 all the settings related to teletext subtitles (disabled 'Teletext processing', 'Teletext analysis', ''Extract Teletext subtitles') and did the expert tool TS Demuxer test with another sample file I know not to give problems with the TS Demuxer tool.

Result : despite all Teletext/Subtitle settings being disabled,the test completed OK (list of streams to demux = OK; correct extracted teletext subtitle file (srt format, without color or italic attributes).

This means : Expert tool TS Demuxer functions seems to be totally separated from teletext/subtitle functions used when transport stream cutting is done (Prepare cutting, Save new file) and expert tool TS Demuxer ignores Teletext/Subtitle settings.

My question
If expert tool TS Demuxer of TS-Doctor v4.1.11 is build with off-the-shelf tools (ffmpeg ? other ?) it would be interesting I could do tests with the tool that produces the 'list of streams to demux' and do this test outside TS-Doctor because apparantly you can not reproduce the error on your equipment (I am not afraid of tests involving Command line or Powershell).
Is this something that would be possible with your help/information ?

Suggestion : the possibility to install a 32-bit version of TS-Doctor v4.1 on a Windows 64-bit device would be interesting.

Cypheros

Hi, sorry for the trouble. The teletext subtitle detection in TS Demuxer did work inconsistendly because of an uninitialized counter problem. EIT,ST was detected instead of PMT and as PMT holds language and teletext discriptors, things went wrong. 
Strangely enough, it worked for me after activating the teletext extraction, although this setting actually has no effect on the TS Demuxer. That was just a coincidence.

With version 4.1.12 the problem is fixed.

teletext3.JPG


TS-Doctor does not use FFmpeg for demuxing and has it's own internal engine, we developed over the past 12 years from scratch.

TS-Doctor uses Inno-Setup for installation and that tool does not support an option to force the 32 bit version on a 64 bit OS.

hvda

ZitatWith version 4.1.12 the problem is fixed.
Thank you very much for the correction. Perfect, or almost. Sorry to be such a 'pinailleur' (Kleinigkeitskrämer) but the entry '$14B6 Subtitle page 888 UND' in list 'Select streams to demux' seems not entirely correct : language code 'UND' (undetermined) should be 'ENG'. See extract from the PMT - Stream with elementary_PID: 0x14B6 (5302) - teletext descriptor - teletext (0) from teletext list :

      |   |   +-teletext [0]
      |   |   | +-ISO_639_language_code: eng
      |   |   | +-teletext_type: 0x2 (2) => Teletext subtitle page
      |   |   | +-teletext_magazine_number: 0x0 (0)
      |   |   | +-teletext_page_number: 0x88 (136)

Something must go wrong with the parsing.

ZitatTS-Doctor uses Inno-Setup for installation and that tool does not support an option to force the 32 bit version on a 64 bit OS.

Looks like someone else has been asking the same question :
Allow user to install 32bit version on 64bit windows

Cypheros

No, the parsing is ok but not as complete as possible. No one asked for it. If you open the file the regular way, the language for page 888 will be shown correctly.

teletext4.JPG

We will try to add a more complete approach.

The stackoverflow thread describes only the file copy part, what is easy, but not the problem of the different registery keys. TS-Doctor needs to register some directshow filters and application settings what will fail because of the Windows 64bit registry redirection (Wow6432Node).


www.cypheros.de