-
Notifications
You must be signed in to change notification settings - Fork 704
Description
The "smart" style h265 encoding saves lots of bandwidth, but it has very low i-frame rates. This makes it difficult to use for on-demand live streaming which this project is aimed at.
Is it possible to define a stream that takes two inputs, a "fast, low quality stream" and a "high latency, low i-frame, HD stream" and migrates to the higher quality stream as soon as an i-frame is received?
It theoretically may be possible using 'exec', multiple processes, pipes and probes for i-frames. Perhaps may need to use the 'overlay' filter as well. But I am not sure about the 'switch-over' of streams. I don't mind how much CPU it uses as I expect it to only be running temporarily on-demand.
The use case for this is to "live-view" a camera using its 'detect' stream and move over to the higher quality 'h265/record/hd' stream once it can be successfully decoded for viewing, which could take 20 seconds or more.
Is this something that is already possible? Or a potential feature to implement? I can imagine it would have plenty of application for users of this project and may be a better solution to some of the other proposals like "pre-loading" etc.