Reputation: 662
I want to have a RTSP server which should work on top of UDP , but when I tried to use Gstreamer RTSP server its giving video artifact/glitches when there is a packet loss.
I have tried to follow this example for RTSP re-transmission.
gst_rtsp_media_factory_set_profiles (factory, GST_RTSP_PROFILE_AVPF);
When the profile is set like above , ffmpeg / mplayer / VLC is not able to play and says that it is an unsupported protocol. I don't know which player supports this protocol, only the gstreamer player is able to play the video.
When the gst_rtsp_media_factory_set_profiles
line is removed then all the players are working but there is a lot of artifact on the video if there is packet loss.
everything is working fine on local env but on cloud there are artifact because of packet loss
I also tried making retransission_time to 10 sec but it did not work.
gst_rtsp_media_factory_set_retransmission_time (factory, 10000 * GST_MSECOND);
Tried enabling RTCP as required for NACK (did not work i can see RTCP messages in wireshark )
gst_rtsp_media_factory_set_enable_rtcp(factory , 1);
Tried setting retransmission true (Did not worked )
gst_rtsp_media_factory_set_do_retransmission(factory,1);
I still get the artifacts / glitches on the video some time video just stuck on the client side
I can confirm that its due to packet loss because when i switch the RTSP to use TCP instead of UDP everything works fine.
Upvotes: 1
Views: 642