Changes between Version 5 and Version 6 of StreamingGuide


Ignore:
Timestamp:
Jun 18, 2012, 9:26:12 PM (4 years ago)
Author:
rogerdpack
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • StreamingGuide

    v5 v6  
    1 FFmpeg can basically stream through one of several ways:  It either streams to an instance of ffserver, which serves out the streams (not available in windows, at least yet), or it streams to any rtmp server (ex: wowza, flash media server, etc.), or it can stream via UDP directly to some receiving host.  It can even stream to an instance of VLC, which picks up the stream, then redistributes it as the server.  Since ffmpeg is sometimes more efficient than VLC at encoding, this can be a useful option. 
     1FFmpeg can basically stream through one of two ways:  It either streams to a some "other server", which restreams for it, or it can stream via UDP directly to some destination host. 
     2Servers which can receive from ffmpeg (to restream) include ffserver (linux only, though cygwin might work), or wowza, or flash media server.  Even VLC can pick up the stream, then redistribute it.  Since ffmpeg is sometimes more efficient than VLC at doing the raw encoding, this can be a useful option compared to doing it all in VLC. 
    23 
    34Here's how one guy broadcast a live stream: 
     
    2425 
    2526NB that when you are testing your streams, you may want to test them with both VLC and ffplay, as ffplay sometimes introduces its own artifacts when it is scaled (it has poor quality scaling).  Don't use ffplay as your baseline for determining quality. 
     27 
     28Also note that encoding it to the x264 "baseline" is basically for older iOS devices or the like, see [http://sonnati.wordpress.com/2011/08/30/ffmpeg-%E2%80%93-the-swiss-army-knife-of-internet-streaming-%E2%80%93-part-iv/ here]. 
     29 
     30Here is what another person did for streaming: 
     31 
     32{{{ 
     33Ffmpeg -f dshow -I video="Virtual-Camera" -vcodec libx264 -tune zerolatency 
     34-b 900k -f mpegts udp://10.1.0.102:1234 
     35}}} 
     36 
     37The "-re" flag means to "Read input at native frame rate. Mainly used to simulate a grab device." i.e. if you want to play a video file, but at realtime, then use this.  I guess you typically don't want this flag when streaming from a live device.