-
Notifications
You must be signed in to change notification settings - Fork 115
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
FPS declaration required even with SPS headers? #62
Comments
SPS does not contain timing information. You must provide either fps or chunk duration. |
I'm feeding jmuxer h264 from a raspberry pi camera module via the picamera python framework. and the documentation says the following.
I'm not familiar enough with the h264 spec to speak authoritatively, but from what I have researched thus far passing the framerate sounds like it within spec, but not common and not required. |
Sorry, I meant to say |
However, I am adding it to my TODO list. It could try grabbing timing information from SPS if nothing is explicitly declared during jMuxer initiating. |
It will be interesting to see how this works, because this might be a good way to deal with variable framerate streams. |
You can always provide a chunk duration in every feed, this is how it works with a variable frame rate at the moment. |
I believe SPS timing info only give you fps, not the individual frame timings needed for variable frame rate. (From what I can tell these are only possible to capture to a separate file with raspivid.)
|
I'm looking at this myself, as I would really like to not have to provide the fps or duration. In the stream I'm looking at, coming from VLC, the SPS data does have the correct info needed to calculate fps on the fly. I did notice, however, that your SPS parser isn't correctly getting the two fields needed to do this (time_scale and num_units_in_tick), so the issue there will need to be figured out first. For reference, another library I'm using (to demux an MPEG-TS stream before handing the video stream over to jmuxer) does decode the SPS info correctly: |
I'm passing SPS headers, but i've noticed if the framerate is higher than 30fps latency will continue to get worse as a stream plays. If I declare fps when instantiating jmuxer then the stream plays perfectly fine.
Is fps declaration required even if you are passing SPS headers?
The text was updated successfully, but these errors were encountered: