Changes between Version 61 and Version 62 of StreamingGuide


Ignore:
Timestamp:
Nov 20, 2013, 9:40:08 PM (6 years ago)
Author:
rogerdpack
Comment:

add some mplayer notes

Legend:

Unmodified
Added
Removed
Modified
  • StreamingGuide

    v61 v62  
    9696By default, ffplay (as a receiver for testing latency) introduces a small latency of its own, so if you use it for testing (see troubleshooting section) it may need some of these parameters, as well.  NB that ffplay has somewhat poor video output, though, so don't base quality levels on that.  Also some settings mentioned above like "probesize" might help it start more quickly.
    9797
    98 Also useful is mplayer with its -nocache for testing latency (or -benchmark).
     98Also useful is mplayer with its -benchmark for testing latency (-noaudio and/or -nocache *might* be useful, though I haven't found -nocache to provide any latency benefit).
    9999
    100100Using the SDL out option while using FFmpeg to receive the stream might also help to view frames with less client side latency: "ffmpeg ... -f sdl -"   
     
    213213   ffmpeg -i INPUT -f mpegts udp://host:port
    214214
    215 If you run into packet loss (since UDP is not guaranteed delivery, this might occur) first make sure your FFmpeg is compiled with pthreads support enabled (if it is, then it uses a separate thread to receive from the UDP port, which can cause less packet loss).
     215If you run into packet loss (since UDP is not guaranteed delivery, this might occur) first make sure your FFmpeg is compiled with pthreads support enabled (if it is, then it uses a separate thread to receive from the UDP port, which can cause less packet loss).  You can tell that it is by specifying a url like udp://host:post?fifo_size=10000 (if it accepts fifo_size, then you're good to go).  Similarly, for mplayer, you can use mplayer ffmpeg://udp://host:port?fifo-size=XXX for possibly better results on the receiving end.
    216216
    217217Another option is to use some transmission type that uses TCP for your transport. (The rtmp protocol, popular in streaming to servers, uses TCP probably for this reason--you just can't use that for point to point streaming).