Open abrar71 opened 1 year ago
I'll take a look. Thank u.
I found the reason, because the server will play back from the nearest keyframe position, and then when it receives the latest keyframe, it will directly jump to the latest keyframe and start playing. The value of fps displayed in ffmpeg is calculated based on the beginning, not in real-time. The real fps will not change, and the server will have other additional operations besides the previous one. You can also access /api/stream? StreamPath=app/hello123
obtains information about the stream, which includes real-time calculated fps
Thank you very much for finding out the reason, How can we fix this as its crucial FPS and TBR values remain unchanged while remuxing the stream
In fact, FPS has not changed, it is only caused by the skip frame operation at the beginning. If the skip frame operation is not performed, the playback stream will always maintain a delay time
By the way, why do you care so much about the FPS displayed in ffmpeg
It is critical because that FPS is used by live encoders to determine the FPS of the output video for people who are relaying to other platforms or have their own encoders.
The standard is that the metadata like FPS and other video encoding parameters should not be modified when remuxing or relaying live streams.
Description:
I've recently run into an issue with the Monibuca streaming server while streaming a 60 FPS video file named
frame_counter_4k_60fps.flv
. I used the following FFmpeg command to stream the video:When I attempted to play back the RTMP stream using:
or through the HTTP MP4 URL:
I observed that the output video's frame rate was altered to 62.5 FPS.
For reference, here are some observations:
Moreover, I've also noticed that both the FPS (frames per second) and TBR (target bitrate) values are modified in the output video.
I've attached both the
Expected Behaviour: The Monibuca streaming server should retain the original frame rate and TBR values of the input video without modifying them.
Actual Behaviour: The server changes the frame rate and TBR values during streaming.
Steps to Reproduce:
frame_counter_4k_60fps.flv
using the provided FFmpeg command.I'd appreciate any guidance or resolution on this matter.