Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to reduce delay in playing rtsp live video stream in java using vlcj

I have developed a video chatting application,but the video is displayed with high latency.video is streamed over rtsp.how to reduce the delay in playing the rtsp stream?

like image 700
Raji A C Avatar asked May 29 '12 04:05

Raji A C


2 Answers

What video codec are you using? You should be able to reduce latency to <1s using following options:

  1. Add :live-caching=0 to input handling options (e.g. when opening webcam)
  2. Play around with codecs, for example change codec to mpeg-4 (seems to work better for my configuration where I have Android device as stream receiver)
  3. Add :sout-mux-caching=10 (or some other low value) to stream options

With following line used to stream webcam video (notice: no audio) to my Android I was able to slightly reduce latency:

:sout=#transcode{vcodec=mp4v,vb=800,fps=30,scale=0.25,acodec=none}:rtp{sdp=rtsp://:8554/} :sout-keep :sout-mux-caching=10

like image 88
vArDo Avatar answered Oct 12 '22 07:10

vArDo


Currently you have to configure like this

String[] options = {
                ":file-caching=0",
                ":network-caching=300",
                ":sout = #transcode{vcodec=x264,vb=800,scale=0.25,acodec=none,fps=23}:display :no-sout-rtp-sap :no-sout-standard-sap :ttl=1 :sout-keep"};
mediaPlayer.playMedia(address, options);

The most important is network-caching=300. Defualt is 1000 ms.

like image 23
Eliasz Kubala Avatar answered Oct 12 '22 09:10

Eliasz Kubala