-
Notifications
You must be signed in to change notification settings - Fork 136
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
How to ensure track alignment on ABR #211
Comments
Hmm, are there multiple encodes on the same stream? Normally you should be able to force keyframe alignment with the |
I think I am able to "fix" this for now by encoding the original stream in the same quality. Example OBS streams 1080p, I encode into another ouput with same quality. Those then are always (or at least seems to be) algined. The problem is you have one more proccess for each stream |
The only problem facing know it's the bitrate it's absolutely ignored. For example I set 6000k minimun bitrate and output has 1200k, but I guess that's a problem for another day, and tomorow it's friday, so I guess another week haah |
Heya, I see I said it a bit confusing. So let me make it a bit more clear, as I definitely could do better there: You need the Source track to only be available for processing Even easier honestly is to just make the whole bitrate tree a single command through MKV-exec. It would be more reliable considering you can then at least force all those qualities to have the same keyframe interval. The multiple processes clearly isn't doing well for you:
That should generate a video with the following qualities:
The reason you see the bitrate "ignored" is because FFmpeg will by see the bitrate as a target, if it's capable of doing the target quality with lesser bitrate it will. You can counter this with setting a constant bitrate. That would be adding a
But honestly I would first try it without the minrate/maxrate/bufsize and see if you're happy with that quality. |
Hi, sorry for the late reply. This absolutely fixes both the bitrate and track alignment. The only problem now It's I am not able to inhibit some track based on source width and height. Before I would use your built-in solution like: But now with the single ffmpeg command I don't know how to approach this. Using ffmprobe seems to consume the stream and ffmpeg doesn't work |
You can still do that with the |
I went with that and it works great. One thing that would make this greate would be to be able to pass video input resolution to a custom script somehow. I tried using Example: Input is |
Hi! (You must think I am crazy at this point)
Well I am trying and succeding (sometimes) to create multiple qualities for a stream. It works with stream proccesses both with ffmpeg and AV. The problem is that consuming the streaming with HLS (hls.js) sometimes receives all the video tracks sometimes just the original one:
index.m3u8
Sometimes the tracks are able to align and I get all tracks and so I am able to swap between them.
My Hls config in the frontend is this one:
A stream proccess for 720p with ffmpeg looks like this:
Sometimes it just works, then you load the stream event and it doesn't anymore.
Is there any way to ensure track alignment even if it takes a bit for the player to load the stream??
Thank you and I know I am a pain in the ass!! Have a nice day
The text was updated successfully, but these errors were encountered: