rounce / nginx-hls-module

Smooth Streaming Module fork
Other
53 stars 36 forks source link

audio sync issue #2

Open ankurss opened 10 years ago

ankurss commented 10 years ago

audio goes out of sync for some files,

here is an example : http://62.210.123.72/sync-issue.m3u8 you can grab original file : removed , this plays fine in vlc 2.1.3

ankurss commented 10 years ago

@rounce , did you check this ?

ankurss commented 10 years ago

have more such files, if you want to analyze them

do you have a donation page, some place where we can support you ?

rounce commented 10 years ago

Sorry, I was away from the computer for about a week. The issue reproduced, i'll try to fix it. don't have donation page yet.

ankurss commented 10 years ago

oh ok, no problem; looking forward for the fix

do let us know once your donation page is up

ankurss commented 10 years ago

@rounce , any luck with this mp4

rounce commented 10 years ago

Unfortunately no luck. Quickly could not find cause of the issue and don't have time for in-depth analysis. I think https://github.com/rounce/nginx-hls-module/issues/9 and https://github.com/rounce/nginx-hls-module/issues/10 are the same issue.

T-bagwell commented 10 years ago

Hi rounce, perhaps the issue 10 is pts problem of the video, isn't it?

newestbie commented 10 years ago

perhaps this issue is elst atom problem.

http://wiki.multimedia.cx/index.php?title=QuickTime_container#elst

rounce commented 10 years ago

It's unlikely that the issue is related to elst atom.

newestbie commented 10 years ago

I have fixed this bug:

output_ts:

- u_int to_break = 1;
+ u_int to_break = 0;
for(i = 0; i < fragment_size; ++i) {
if(fragment[i].trak == NULL) continue;
- if(fragment[i].first != fragment[i].last) to_break = 0;
+ if(fragment[i].first == fragment[i].last && to_break ==0) to_break = 1;
}
ankurss commented 10 years ago

i tried the above & it didn't fix the issue with the file specified in opening post

c8seki commented 9 years ago

Additionally when audio codec is HE-AAC (not AAC LC), the video fast-forward itself. (somehow wierd)