Dash-Industry-Forum / livesim2

DASH Live Source Simulator v2 in Go
Other
34 stars 5 forks source link

Keep an existing UTCTiming element, option "/utc_keep/" #138

Closed Murmur closed 7 months ago

Murmur commented 8 months ago

Add url option /utc_keep/ to not drop and touch an existing UTCTiming element in a source manifest. This would give an easy enough configuration case-by-case and worked in a strictly closed firewalled test environments. <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://my.private.system/utctiming.php"/>

Current /utc_none/ option drops UTCTiming field from the manifest and probably is best work like that.

tobbee commented 8 months ago

Sounds like a good approach to be able to set up any UTCTiming if you have your own content.

tobbee commented 8 months ago

@Murmur Please have a look at PR #139

Murmur commented 7 months ago

@tobbee Tested this PR change on our server and works ok, please merge to a master trunk. https://nginx.dev/livesim2/tsbd_240/mup_4/spd_8/utc_keep/00_llama_h264_v9/manifest_1080p.mpd <UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-iso:2014" value="https://nginx.dev/videos/utctiming.php"></UTCTiming>

Sidenote about the response format:

/utc_httpxsdate/ -> urn:mpeg:dash:utc:http-xsdate:2014 | https://time.akamai.com/?iso | reply=2023-11-30T09:15:01Z
/utc_isodate/ -> urn:mpeg:dash:utc:http-iso:2014 | https://time.akamai.com/?isoms | reply=1701335750

I have always expected urn:mpeg:dash:utc:http-iso:2014 response should use 2023-11-30T09:15:01Z format.

tobbee commented 7 months ago

I merged the utc_keep PR. Regarding the UTCTiming, the ?isoms is the new thing that Daniel Silhavy said he wanted to use. I agree that a simple number looks less like an iSO timestamp. Maybe Daniel has some more insight? May be worth bringing up in another discussion thread.

dsilhavy commented 7 months ago

There is a minor error in the string, what I would like to use is this combination:

 defaultTimingSource: {
     scheme: 'urn:mpeg:dash:utc:http-xsdate:2014',
      value: 'https://time.akamai.com/?iso&ms'
 }

Adding &ms gives us millisecond precision

Murmur commented 7 months ago

LiveSim2 should give two options for urn:mpeg:dash:utc:http-iso:2014 and urn:mpeg:dash:utc:http-xsdate:2014 variants:

Accordingly /utc_httpxsdate/ | /utc_httpxsdatems/ and /utc_isodate/ | /utc_isodatems/

tobbee commented 7 months ago

@Murmur Good to get this clarified, but I think you shouldn't hijack one issue to discuss a to another. It is much clearer to start a new one.