if there is a big difference between the previous timestamp and the current timestamp - playback error
srs/trunk/src/app/srs_app_source.cpp
Line 73 in b066615
| | srs_error_tSrsRtmpJitter::correct(SrsSharedPtrMessage* msg, SrsRtmpJitterAlgorithm ag) |
ffplay
[flv @ 0000000000555700] DTS 16925 < 16983 out of order
srs_trace("%d ==> %d, last_pkt_time:%d, delta: %d, %s", msg->timestamp, last_pkt_correct_time, last_pkt_time, delta, msg->is_audio() ? "audio" : "video");
Format:
msg->timestam ==> last_pkt_correct_time, last_pkt_time, delta
38012 ==> 16764, last_pkt_time:37989, delta: 23, audio
38035 ==> 16787, last_pkt_time:38012, delta: 23, audio
38058 ==> 16810, last_pkt_time:38035, delta: 23, audio
38082 ==> 16834, last_pkt_time:38058, delta: 24, audio
38105 ==> 16857, last_pkt_time:38082, delta: 23, audio
38128 ==> 16880, last_pkt_time:38105, delta: 23, audio
38151 ==> 16903, last_pkt_time:38128, delta: 23, audio
38174 ==> 16926, last_pkt_time:38151, delta: 23, audio
38198 ==> 16950, last_pkt_time:38174, delta: 24, audio
38221 ==> 16973, last_pkt_time:38198, delta: 23, audio
correct jitter: dts: 37730, last_pkt_time: 38221, delta: 10, video //use default 10ms to notice the problem of stream
37730 ==> 16983, last_pkt_time:38221, delta: 10, video //LAST VIDEO FTS
correct jitter: dts: 38244, last_pkt_time: 37730, delta: 10, audio //use default 10ms to notice the problem of stream
38244 ==> 16993, last_pkt_time:37730, delta: 10, audio
38267 ==> 17016, last_pkt_time:38244, delta: 23, audio
38291 ==> 17040, last_pkt_time:38267, delta: 24, audio
38314 ==> 17063, last_pkt_time:38291, delta: 23, audio
38337 ==> 17086, last_pkt_time:38314, delta: 23, audio
38360 ==> 17109, last_pkt_time:38337, delta: 23, audio
38176 ==> 16925, last_pkt_time:38360, delta: -184, video // BAD timestamp (last video DTS = 16983) Video freezes in Chrome, but continue in ffplay
SRS: 4.0.178
7条答案
按热度按时间f1tvaqid1#
Well it seems a discussion, and it not likely to happy so that we don't need to fix it?
8gsdolmq2#
I suggest disabling the default option
bz4sfanl3#
I didn't get you, what's the issue? To play RTMP stream? How to replay this issue?
wtlkbnrh4#
I didn't get you, what's the issue? To play RTMP stream? How to replay this issue?
this is a borderline case. When changing the video resolution, my encoder(android yasea) sends the timestamps that I described at the beginning. Only disabling the jitter helped me
Yes, issue with playing (flv)
nhn9ugyo5#
Rather than changing the default config value, it's much better to fix the jitter algorithm to fix this borderline case.
Patch welcome. 😄
whitzsjs6#
Alas, I can't make a patch. although with jitter disabled there are audio problems (flvjs) ... ohhh, I dream of switching completely to webrtc, I'm still testing, but it works great. flvjs is still a crutch...
h43kikqp7#
WebRTC is not designed for live streaming, so there's a lot of problems.Parts of them have been solved by SRS, but some still exists. Be careful, it's really really complex.
Welcome for more discuss in discord .