EXT-X-PROGRAM-DATE-TIME not visible in m3u8

Hi,

I’m trying to print EXT-X-PROGRAM-DATE-TIME in m3u8 generated by WSE. To do so I followed this tutorial and now I have the module built in Eclipse and installed in WSE, with the custom property cupertinoEnableProgramDateTime correctly enabled.

But now, testing my stream, I still cannot see the string in m3u8 chunks. Now my question is: should the string be visible in the chunks? Or I will only see the string testing the output in other ways?

Can you see the EXT-X-PROGRAM-DATE-TIME in the chunklist? And what are you using to check if the ID3 tag is available in the chunk? My experience is that the “ID3V2FrameTextInformationUserDefined” suggested by the sample code, does not work in all player types. For another project, I used instead this one:

ID3V2FrameTextInformation comment = new ID3V2FrameTextInformation(ID3V2FrameBase.TAG_TIT1);

Hi, thanks for you answer.

Maybe I am being quite naive here (this is new to me) but I’m just opening the chunklist with a text editor before testing with any player, and the content doesn’t show EXT-X-PROGRAM-DATE-TIME.

This is what I found in my sample chunklist:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:5
#EXTINF:10.01, media_w802528636_5.ts
#EXTINF:10.01, media_w802528636_6.ts
#EXTINF:10.01, media_w802528636_7.ts

I just did a test for myself, it worked for me.

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PROGRAM-DATE-TIME:2017-05-13'T'08:33:00.000'+00:00'
#EXTINF:9.666,
media_w722896743_1.ts
#EXTINF:10.0,
media_w722896743_2.ts
#EXTINF:10.0,
media_w722896743_3.ts

When I analyzed a single chunk with ffprobe, I also saw that it had a timed ID3 tag.

Stream #0:0[0x102]: Data: timed_id3 (ID3  / 0x20334449)

Did you add the cupertinoEnableProgramDateTime to the /Root/Application/HTTPStreamer? Make sure that you did choose the HTTPStreamer section; there are several sections in the Application that you can add properties to!

Hi, thanks, yes I’m sure I did everything by the book, but still. Maybe it depends on the encoder, so far I only tried the Wowza gocoder app and with vMix. I’m going to try with my Teradek Vìdiu and Wirecast as well.

Also make sure you added the module to the Application; that the JAR file for the module is in the /lib folder and that there are no error messages in the logs. If you need further help, send an email to support@wowza.com, or for help from a Wowza authorized consultant; contact me on karel.boek@raskenlund.com

@Karel Boek I have followed the same guide.

copied the jar file in lib

added module in application

enable cupertinoEnableProgramDateTime custom property
restarted wowza server

when i inspect xhr chunklist in chrome debugger, it does not show any date time.
it looks like this

#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:3 #EXT-X-MEDIA-SEQUENCE:168804 #EXTINF:2.0, media_w1150285863_DVR_168804.ts #EXTINF:2.0, media_w1150285863_DVR_168805.ts #EXTINF:2.0, media_w1150285863_DVR_168806.ts #EXTINF:2.0, media_w1150285863_DVR_168807.ts #EXTINF:2.0, media_w1150285863_DVR_168808.ts #EXTINF:2.0,

it works well for me but if you use DVR and not only live it doesn’t, I have this issue and I reported it

try only live to confirm

@Karel Boek did it worked for you finally? I am facing the same issue only when DVR is enabled.

@Arvind Kumar, it has always worked for me, but allegedly not for other people. I suppose it’s a configuration issue then.

in dvr it’s not yet implemented but support answered me it was in roadmap

but it works when dvr is disabled

Works for me after double check Fully Qualified Class Name being

com.wowza.wms.plugin.test2.hlsprogramdatetime.ModuleCupertinoProgramDateTime

I have followed all steps in the guide for program date and time headers but I can’t get it to work (tried on Wowza version 4.8.0 and 4.7.7).

  1. Compiled the module using the guide for the Wowza IDE. I used Java 1.8 as a target framework seeing as Wowza 4.7.7 uses that verison.
  2. Copied the .jar file to the /lib folder under the Wowza install dir
  3. Registered the module with the correct class name under the application
  4. Added the cupertinoEnableProgramDateTime property to the application, using the correct path and value according to the guide
  5. Restarted application + Wowza process

Result: The application fails to start, i.e. it has a permanent status of “not running”:

which effectively renders the server useless.

Actually, this happens as soon as I copy the .jar file to the /lib dir and restart the Wowza process, before even registering the module and adding the property. The only way to fix it is to kill the Java process, remove the .jar file and restart the server machine.

This makes me suspect that there is a bug in the code or that something is wrong with the Java version or something. Is there perhaps a pre-compiled version of this module available for download somewhere, so that I can rule that out?

@Anders Hammer, is there anything in the logs that can show why it doesn’t work? An error or warning when you start Wowza, or when you try to publish a stream?

@Karel Boek-Senior Consultant Hi, thanks for mentioning streaming. As soon as I started the stream it started working. Maybe it’s a UI bug or something, it says “Not running” until you actually starts a stream.

The module works fine as well.

Thanks for sharing an update.

Do you have the jar file somewhere for download? i can not get it compiled