futzu / umzz

SCTE-35 Injection for Adaptive Bitrate HLS
GNU General Public License v3.0
7 stars 4 forks source link

Incorrect m3u8 ts segment length #15

Open gauravv5 opened 2 months ago

gauravv5 commented 2 months ago

Hi mate, We have tested Umzz to create multi bitrate m3u8 with SCTE-35 and Validated stream using Apple MediaValidator Tool.

Its showed few Must fix Issues:-

  1. Segment length mismatch with playlist duration ------- In this case if we mentioned 6 sec ts length the entry in m3u8 fie reflect 6 sec but seg.ts is of 5 sec. ------- we have tested multiple times with different segment length , Ts created by umzz is always 1 sec less than the declared.

whereas i cant see any issue in playback. WhatsApp Image 2024-07-04 at 11 26 24_ea66484d

Regards Gaurav

futzu commented 1 month ago

I have a hard time believing that the segments are perfectly cut at 6 seconds and umzz is cutting them perfectly at 5 seconds, I think someone is rounding, mine tend to come out like this.

umzz_out3/3/seg0.ts:   start: 39374.240444   end: 39380.246444   duration: 6.006000
umzz_out3/1/seg0.ts:   start: 39374.240444   end: 39380.246444   duration: 6.006000
umzz_out3/3/seg1.ts:   start: 39380.246444   end: 39386.252444   duration: 6.006000
umzz_out3/0/seg0.ts:   start: 39374.240444   end: 39380.246444   duration: 6.006000
umzz_out3/3/seg2.ts:   start: 39386.252444   end: 39392.258444   duration: 6.006000
umzz_out3/2/seg0.ts:   start: 39374.240444   end: 39380.246444   duration: 6.006000
umzz_out3/3/seg3.ts:   start: 39392.258444   end: 39398.264444   duration: 6.006000
umzz_out3/1/seg1.ts:   start: 39380.246444   end: 39386.252444   duration: 6.006000

umzz cuts on iframes, check your GOP size.

If you want me to check it out, I need a link to the master.m3u8, I can't do anything without seeing the stream.

futzu commented 1 month ago

Hey man if you just want to add SCTE-35 to existing HLS without re-segmenting take a look at sideways.

https://github.com/futzu/SCTE-35-HLS-Sideways.

It does pretty much the same thing as umzz, but only splits segments that have a scte-35 splice point in them. Sideways makes new m3u8 files on your server and it rewrites segments with the full uri to existing segments. I made specifically to work over networks.

Sideways uses sidecar files too,, and you can play the m3u8s live. try it.

gauravv5 commented 1 month ago

Thanks mate I will try this

On Sun, 14 Jul, 2024, 11:26 am Adrian of Doom, @.***> wrote:

Hey man if you just want to add SCTE-35 to existing HLS without re-segmenting take a look at sideways.

https://github.com/futzu/SCTE-35-HLS-Sideways.

It does pretty much the same thing as umzz, but only splits segments that have a scte-35 splice point in them. Sideways makes new m3u8 files on your server and it rewrites segments with the full uri to existing segments. I made specifically to work over networks.

Sideways uses sidecar files too,, and you can play the m3u8s live. try it.

— Reply to this email directly, view it on GitHub https://github.com/futzu/umzz/issues/15#issuecomment-2227205827, or unsubscribe https://github.com/notifications/unsubscribe-auth/AGOUU7GQ4G442BGCP22TV33ZMIHI7AVCNFSM6AAAAABKK2WWMOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRXGIYDKOBSG4 . You are receiving this because you authored the thread.Message ID: @.***>

futzu commented 1 month ago

I'd love to help you more man, but therre's nothing I can do without see the stream

futzu commented 1 month ago

If you want help, you have to give me some information. This is the second issue you opened on me with no information. I'm not trying to be an asshole, but you are wasting my time.

You're showing me output from some script of yours, that doesn't tell me anything, I don't need to see your output, I need to aee the output from umzz

Show me the command you're running, and the output, and I can tell you what your problem is in less than 5 minutes.

This is what I need to see.

Rendition Process Started /home/a/gogogo/0
Rendition Process Started /home/a/gogogo/1
input = ../foam4/0/index.m3u8                                                   
sidecar_file = None
output_dir = /home/a/gogogo/0
time = 2
hls_tag = x_cue
window_size = 5
live = True
iframe = False
byterange = False
continue_m3u8 = False
delete = True
no_throttle = False
program_date_time = False
replay = False
shulga = False
no_discontinuity = False
version = False
input = ../foam4/1/index.m3u8                                                   
sidecar_file = None
output_dir = /home/a/gogogo/1
time = 2
hls_tag = x_cue
window_size = 5
live = True
iframe = False
byterange = False
continue_m3u8 = False
delete = True
no_throttle = False
program_date_time = False
replay = False
shulga = False
no_discontinuity = False
version = False
throttling 1.991/seg0.ts:   duration: 2.000000  end: 6.266667  start: 4.266667  
throttling 1.950/seg0.ts:   duration: 2.000000  end: 6.266667  start: 4.266667  
throttling 1.980/seg1.ts:   duration: 2.000000  end: 8.266667  start: 6.266667  
throttling 1.981/seg1.ts:   duration: 2.000000  end: 8.266667  start: 6.266667  
throttling 1.980/seg2.ts:   duration: 2.000000  end: 10.266667  start: 8.266667 
throttling 1.991/seg2.ts:   duration: 2.000000  end: 10.266667  start: 8.266667