-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not inserting cue markers. #29
Comments
i saw the same problem here. |
hmmmmm, let me look into it. I just can't seem to get everything working at the same time. |
https://github.com/futzu/x9k3/blob/8ed2b65b3d667e0ec47e22ef8fd98917ef619160/x9k3.py#L345 I'm thinking if we change I hate markdown, I spend more time editing markdown that writing damn code. |
https://github.com/futzu/x9k3/blob/8ed2b65b3d667e0ec47e22ef8fd98917ef619160/x9k3.py#L343 change that to : One other thing to keep in mind. I'm no longer clearing the sidecar file after it's read,
I'll do an update shortly. |
good, thanks |
I have to hold off on the update, I got something wrong on the splicing and I need to figure it out, but that fix should work for you. |
Yeah completely understandable!
Haha me to0, I think I will have to spend more time on github doing more opensourcing :) |
Is the chunk size exceeding target duration problem related to the same issue? |
No, the issue was I'm an idiot. :) I was sending a CUE-OUT without a CUE-IN and didn't understand why it was returning from the break. It will exceed target duration if your GOP size is too big. v0.2.29 fixes the sidecar issue. |
I just pushed v0.2.31 |
Thanks Mate,
My GOP size is 48 and my target duration is 4 seconds on ffmpeg as well as
Umzz/X9k3,
Sometimes I see it exceeding the segments size than Target duration is it
anyway related to timer and reader classes? If not with this one.
…On Thu, Dec 14, 2023, 8:43 PM Adrian ***@***.***> wrote:
No, *the issue was I'm an idiot*. :)
I was sending a CUE-OUT without a CUE-IN and didn't understand why it was
returning from the break.
So I finally realized this morning what I was doing and added an auto
CUE-IN.
*It will exceed target duration if your GOP size is too big.*
Segments have to be cut on iframes if you want the video to play correctly.
Use a GOP size of 60 or better yet 30.
*v0.2.29 fixes the sidecar issue.*
—
Reply to this email directly, view it on GitHub
<#29 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/BB3OMKRNMXEVJY3OTROXBULYJMJRLAVCNFSM6AAAAABASXWLB2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJWGAZTENBUHA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Hi, there are still a number of problems with the correct CUE tag inserting. First of all, if we are talking about muxing a pre-transcoded stream with tags, transcoder always puts an iframe after the CUE tag. So in this case, chunk splice should be maid exactly at tag's pts. The second point is that there is also an "immediate" tags, which is set at the moment the command arrives (self.now). |
I got to ask , how did you come up with 48? I That's kind of odd. I use a GOP of 60 for an iframe every two seconds, 48 is not going to line up as easily. You see what I'm saying? |
We are talking about is echoing a PTS,Cue pair into the sidecar file while x9k3 is running, Then we were talking about chunk size exceeding target duration and I explained that chunk size is dependent on GOP size, we can't hit target duration unless we have iframes where we need them., If there are a "number of problems" , then you need to send me the streams with the issues. All the segments from x9k3 start on iframes, check them yourself. |
@anuj998877 |
So with a GOP size of 48, here's how the iframes are placed. iframes msnbcGOP48.ts 5354.066667 # 4 seconds would be 5358.066667 |
here's GOP size 60 iframes, they line up every 4seconds a@fu:~$ iframes msnbcGOP60.ts |
Let me explain my setup. There is ffmpeg process which reads input on UDP port and then generates ABR hls stream . Above output is then passed to Umzz / x9k3 to insert SCTE 35 CUEs in the HLS playlist it is working really well for about half or a day so and then I start seeing Variable Chunk size in the UMZZ/X9k3 output where as the Original Stream is working fine without any problem. here is my umzz command: and here is output log of umzz/x9k3: if u see here duration is quite constant but sometimes it is 60 or 64 Note : even with single X9k3 process I saw similar issue. In original Stream I don;t see variable chunk now.
|
@ edward-rafalovsky Are you using 0x9k3 .2.31 with umzz? Here's what I get with a GOP size of 60 , frame rate of 30 and 4 seconds. Your GOP has got to be a multiple of your frame rate if you want to be able to cut accurately on iframes. GOP size / frame rate = iframes per second 30 frames per second, GOP size of 30 , gives you 1 I frame every second. You know the oplayer guys? They are the ones who did ll-hls, they say the same thing. https://www.theoplayer.com/blog/optimizing-ll-hls-the-impacts-of-gop-size-on-viewing-experience |
here is umzz doing 4 renditions, over a network, parsing SCTE-35 from the segments, all in sync. That is perfect. |
yeah after updating x9k3 to latest version the variable chunk issue seems to be resolved, but with live option enabled the umzz is not clearing sidecar cues and hence cues are reoccuring, which I have fixed on my local environment. I tried to raise Merge Request but got this error Apart from above issue I found another one where x9k3 and umzz both were consuming lot of CPU after a keeping these process running for more than 18 hours. Here is link to the issue |
you're using the splice immediate with umzz, and that is kind of tough. umzz can't always push to all renditions fast enough. I would not use splice immediate with umzz. What do you consider a lot of CPU? This sort of thing is CPU expensive, ffmpeg uses like 500% of my CPU, I haven't seen x9k3 above 20%. |
you could always just restart the process and continue it. That's why we added the --continue_m3u8 |
Hi Adrian,
I think because of latest changes there is a bug where If I try to add Cue marker immediately with
below sidecar data it is not working.
printf '0,/DAhAAAAAAAAAP/wEAUAAAAJf78A/gASZvAACQAAAACokv3z\n' > sidecar.txt
Where as if replace 0 with Time that is less than next_start it is working.
I think bug is somewhere here if I am not wrong.
https://github.com/futzu/x9k3/blob/8ed2b65b3d667e0ec47e22ef8fd98917ef619160/x9k3.py#L375
The text was updated successfully, but these errors were encountered: