ATSC "multiple string structure" - AVS Forum
Forum Jump: 
 
Thread Tools
post #1 of 18 Old 07-24-2014, 11:00 AM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Question ATSC "multiple string structure"

I doubt this is the best place to ask a question like this, but I figured I'd give it a go anyway.

I am attempting to write a script for an EPG generator, and have come up on a bit of a snag. I would like to encode Program Title, and other text imformation/ WIthout this, the EPG is useless. Combing through the ATSC books I have, it appears that this is acheived using the "multiple string structure". Throwing this into Google give me no information on how one goes about encoding this information. My muxer Opencaster, has no documentation on this either.

Anyone here knowledgeable about what this is and how it works? Most importantly, I need to know how it is formatted and structured in a XML format.

If not, know anywhere/anyone that could possibly help me with this? Thanks.
jowijo is offline  
Sponsored Links
Advertisement
 
post #2 of 18 Old 07-24-2014, 08:11 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,153
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 14 Post(s)
Liked: 20
It's in the specification. The ATSC website seems broken right now, so I've put it on my site.

http://www.w6rz.net/A65_2013.pdf

Ron

HD MPEG-2 Test Patterns
To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.
dr1394 is offline  
post #3 of 18 Old 07-26-2014, 07:12 PM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Exclamation Thank you, but....

Quote:
Originally Posted by dr1394 View Post
It's in the specification. The ATSC website seems broken right now, so I've put it on my site.

http://www.w6rz.net/A65_2013.pdf

Ron
Appreciate it, I have a copy of a similar document in my home folder. The issue with the multiple_string_structure seems to be the layout--or it could be lack of support from Opencaster iself.. Here is the section where it should be (It's in bold):

Code:
eit = event_information_section(
    table_id = 0xCB,
    service_id = atsc1_service_id,
    transport_stream_id = atsc_transport_stream_id,
        source_id = 0x1,
        event_loop = [
        event_loop_item(
        event_id = 1,
        start_hours = 0x00, # use hex like decimals
        duration_seconds = 0x00,
                title_length = 0x3,
                title_text = multiple_string_structure (?),
        event_descriptor_loop = [],
        ),            
            ],
        segment_last_section_number = 1,
        version_number = 1,
        section_number = 0,
        last_section_number = 0, # pay attention here, we have another section after this!
        )
jowijo is offline  
post #4 of 18 Old 07-26-2014, 10:28 PM
AVS Special Member
 
Joe Bloggs's Avatar
 
Join Date: Apr 2007
Location: UK
Posts: 2,555
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 127 Post(s)
Liked: 56
Doesn't page 79 of the linked .PDF document say what the multiple string structure should be (I don't really understand it but it looks like it's something like that)?
Joe Bloggs is offline  
post #5 of 18 Old 07-26-2014, 11:37 PM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Quote:
Originally Posted by Joe Bloggs View Post
Doesn't page 79 of the linked .PDF document say what the multiple string structure should be (I don't really understand it but it looks like it's something like that)?
It's not so much the structure I'm worried about, it's the context. Is it a section of its own? Is it within the "title_text" object? How it is laid out in relation to my configuration is what I don't seem to get here. Kind of frustrating.
jowijo is offline  
post #6 of 18 Old 07-27-2014, 05:25 AM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,153
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 14 Post(s)
Liked: 20
Here's an EIT section from a local station. The cursor is on the first byte of the multiple_string_structure.



Ron

HD MPEG-2 Test Patterns
To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.
dr1394 is offline  
post #7 of 18 Old 07-27-2014, 11:58 AM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Unhappy

Quote:
Originally Posted by dr1394 View Post
Here's an EIT section from a local station. The cursor is on the first byte of the multiple_string_structure.
............

Ron
Did a local capture and looked on a hex editor--while it shows the string, and what looks like a language descriptor, it still does not actually show how it is entered into the muxer itself. TSreader's XML export gets me this. Not much help either.

Code:
  <EVENT>
     <START-UTC-DATE>2014-07-28</START-UTC-DATE>
     <START-UTC-TIME>01:00:03</START-UTC-TIME>
     <START-LOCAL-DATE>2014-07-27</START-LOCAL-DATE>
     <START-LOCAL-TIME>18:00:03</START-LOCAL-TIME>
     <DURATION>00:30:00</DURATION>
     <NAME>CBS Evening News</NAME>
     <DESCRIPTION>Veteran news anchor Jeff Glor and the CBS News Team reports on important events and headlining developments from all across the nation and around the world, covering social, political, environmental and economical issues and more.</DESCRIPTION>
     <ID>266</ID>
     <FREE-CA-MODE>0</FREE-CA-MODE>
     <RUNNING-STATUS>0</RUNNING-STATUS>
  <DESCRIPTOR>
   <TAG>0x81</TAG>
   <LENGTH>10</LENGTH>
   <DATA>0x08 0x38 0x05 0xff 0x0f 0x00 0xbf 0x65 0x6e 0x67</DATA>
   </DESCRIPTOR>

  </EVENT>
What I am still trying to understand, is how that information there, (name and description), are encoded on my end. The PDF and another I have explaining the huffman coding don't bother with showing a sample implementation.
jowijo is offline  
post #8 of 18 Old 07-27-2014, 06:11 PM
AVS Special Member
 
dr1394's Avatar
 
Join Date: May 2002
Location: Mizar 5
Posts: 3,153
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 14 Post(s)
Liked: 20
I tried to evaluate OpenCaster, but with all the micro-steps required to make a Transport Stream, I found it super annoying.

Ron

HD MPEG-2 Test Patterns
To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.
dr1394 is offline  
post #9 of 18 Old 07-27-2014, 07:33 PM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Quote:
Originally Posted by dr1394 View Post
I tried to evaluate OpenCaster, but with all the micro-steps required to make a Transport Stream, I found it super annoying.

Ron
The ATSC implementation isn't documented well at all. Any alternative software out there that can do what I need?
jowijo is offline  
post #10 of 18 Old 08-08-2014, 11:07 AM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Okay, I think I have the multiple_string_structure part figured out, here is that particular table:

Code:
eit = event_information_section(
    table_id = 0x12,
    service_id = atsc1_service_id,
    transport_stream_id = atsc_transport_stream_id,
        source_id = 0x1,
            event_loop = [
                event_loop_item(
                    event_id = 0x1,
                    title_length = 0x0B,
                    start_time = 1091399416,
                    length_in_seconds = 3600,
                    title_text = multiple_string_structure(
                            number_strings = 0x1,
                            string_loop = [
                                string_loop_item(
                                    ISO639_language_code = "eng",
                                    number_segments = 0x1,
                                    segment_loop = [
                                        segment_loop_item(
                                            compression_type = 0x0,
                                            mode = 0x0,
                                            number_bytes = 0x0B,
                                            compressed_string = "54 65 73 74 20 50 72 67 72 61 6D",
                                        ),
                                    ],
                                ),
                            ],
                        ),
                    ETM_location = 0x0,
                    descriptor_loop = [],
            ),
    ],
        version_number = 1,
        section_number = 0,
        last_section_number = 0,
        )
TSReader, and TS Monitor show nothing though...oddly enough, no errors appear either. A hex editor will show that the table is indeed in there, and I am following Opencaster's implementation and ATSC specifications; I'm sure I have something wrong though. Before I can validate the contents of the table though, I need to figure out why the players don't see it.

Last edited by jowijo; 08-08-2014 at 11:09 AM. Reason: mispelled a word
jowijo is offline  
post #11 of 18 Old 08-10-2014, 11:02 AM
AVS Special Member
 
bdfox18doe's Avatar
 
Join Date: Oct 2000
Location: Charlotte, NC
Posts: 6,466
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 77 Post(s)
Liked: 71
Quote:
Originally Posted by jowijo View Post
The ATSC implementation isn't documented well at all. Any alternative software out there that can do what I need?
Why? Just curious as to what is your need is that you want to try and do something like this the hard way as opposed to off the shelf tho very expensive PSIP software? I install and config PSIP generators and multiplexes all the time, it's not something one just does for fun as Ron knows.

Bob

The views expressed here are my own and do not necessarily represent those of the FOX,ABC,CBS,or CW Networks,MeTv, my employer or its parent company. Nor my wife for that matter!
bdfox18doe is online now  
post #12 of 18 Old 08-10-2014, 02:05 PM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Exclamation

Quote:
Originally Posted by bdfox18doe View Post
Why? Just curious as to what is your need is that you want to try and do something like this the hard way as opposed to off the shelf tho very expensive PSIP software? I install and config PSIP generators and multiplexes all the time, it's not something one just does for fun as Ron knows.
I forgot to update this thread...I got it working.

This is something I'm doing for curiosity. I don't run a licensed TV station, and my income is barely enough to keep me sheltered, fed, and clothed; so the idea of paying for some hardware I'd likely never use is kind of dumb.

Anyway, I am now writing a web-based front-end to automatically generate these tables. I'll likely keep it to myself unless someone shows interest in using it.
jowijo is offline  
post #13 of 18 Old 08-10-2014, 02:14 PM
AVS Special Member
 
bdfox18doe's Avatar
 
Join Date: Oct 2000
Location: Charlotte, NC
Posts: 6,466
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 77 Post(s)
Liked: 71
Quote:
Originally Posted by jowijo View Post
I forgot to update this thread...I got it working. This is something I'm doing for curiosity. .
Oh to have time to do such things..

Bob

The views expressed here are my own and do not necessarily represent those of the FOX,ABC,CBS,or CW Networks,MeTv, my employer or its parent company. Nor my wife for that matter!
bdfox18doe is online now  
post #14 of 18 Old 08-10-2014, 02:16 PM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Quote:
Originally Posted by bdfox18doe View Post
Oh to have time to do such things..
I'm fortunate enough that I have a part-time job that pays well, and live in a 1BD apartment in a nice small town for dirt cheap.

I actually find this kind of thing fun. (Probably because I don't have to do it), and I like figuring out how things work.
jowijo is offline  
post #15 of 18 Old 08-10-2014, 02:47 PM
AVS Addicted Member
 
Trip in VA's Avatar
 
Join Date: Jun 2003
Location: Alexandria, VA, US | Age: 25
Posts: 14,368
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 43 Post(s)
Liked: 60
Send a message via AIM to Trip in VA Send a message via Yahoo to Trip in VA
Quote:
Originally Posted by jowijo View Post
Anyway, I am now writing a web-based front-end to automatically generate these tables. I'll likely keep it to myself unless someone shows interest in using it.
I suspect there are people who might be interested in such a thing. (Like me, as a curiosity.)

I bet it could be turned into a nifty product or, at least, an open-source type thing that people could use. Especially if it did the TVCT and other tables.

- Trip

N4MJC

Comments are my own and not that of the FCC (my employer) or anyone else.


To view links or images in signatures your post count must be 0 or greater. You currently have 0 posts.


"Ignorance and prejudice and fear walk hand in hand..." - Rush "Witch Hunt"

Trip in VA is offline  
post #16 of 18 Old 08-10-2014, 02:49 PM - Thread Starter
Member
 
jowijo's Avatar
 
Join Date: Jan 2014
Location: Selah, WA (Yakima)
Posts: 17
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 7 Post(s)
Liked: 10
Quote:
Originally Posted by Trip in VA View Post
I suspect there are people who might be interested in such a thing. (Like me, as a curiosity.)

I bet it could be turned into a nifty product or, at least, an open-source type thing that people could use. Especially if it did the TVCT and other tables.

- Trip
I havenm't added TVCT editing, but it will be once the EIT/ETT portion is done. (90%).
jowijo is offline  
post #17 of 18 Old 08-10-2014, 03:37 PM
AVS Special Member
 
bdfox18doe's Avatar
 
Join Date: Oct 2000
Location: Charlotte, NC
Posts: 6,466
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 77 Post(s)
Liked: 71
Quote:
Originally Posted by jowijo View Post
I actually find this kind of thing fun. (Probably because I don't have to do it).
Yea, doing it for yourself as a hobby where it doesn't cause viewer reception issues is a bit different. The having to do it everyday tends to detract from the fun somewhat. Such is life..

Bob

The views expressed here are my own and do not necessarily represent those of the FOX,ABC,CBS,or CW Networks,MeTv, my employer or its parent company. Nor my wife for that matter!
bdfox18doe is online now  
post #18 of 18 Old 08-10-2014, 03:40 PM
AVS Special Member
 
bdfox18doe's Avatar
 
Join Date: Oct 2000
Location: Charlotte, NC
Posts: 6,466
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Quoted: 77 Post(s)
Liked: 71
Quote:
Originally Posted by Trip in VA View Post
I suspect there are people who might be interested in such a thing. (Like me, as a curiosity.)

I bet it could be turned into a nifty product or, at least, an open-source type thing that people could use. Especially if it did the TVCT and other tables.

- Trip
Hmmm.. an open source PSIP generator that was ATSC compliant..that did not cost multiple thousands..and worked..would attract some interest (research DTV Innovations tho..) The issue is a "cheap" ATSC modulator..as a few others here have found. While cheap 64/256QAM modulators are another story..especially ones with IP inputs.

Bob

The views expressed here are my own and do not necessarily represent those of the FOX,ABC,CBS,or CW Networks,MeTv, my employer or its parent company. Nor my wife for that matter!
bdfox18doe is online now  
Reply HDTV Technical

Tags
atsc , eet , epg

User Tag List

Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off