[vlc-devel] Live HTTP Streaming (iPhone) for VLC

Keary Griffin keary.griffin at unwiredappeal.com
Fri Mar 26 16:28:23 CET 2010


Apologies if this hit's the list twice.  I think my first response went 
directly to just David.

David Glaude wrote:
> I assume your code only produce one video bitrate and do not generate 
> multiple TS files with various bitrate from the same time period.
>  
> Do you think that at least running multiple instance of VLC 
> transcoding and splitting the same input stream we could get the real 
> benefit from the X-style HTTP streaming (X come from Quicktime X wich 
> is the other place where the new streaming is supported appart from 
> iPhone)?
>  
> Thanks.
>  
> David Glaude
That is correct, it only produces an index/segments for a single 
bitrate.  Since multiple bitrate streaming simply involves creating a 
"master" index file containing the bandwidth and url's to the regular 
index files, it can be a static file and created ahead of time.  From an 
example in the spec, an index file master.m3u8 could be created ahead of 
time:

  #EXTM3U
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1280000
  http://example.com/low.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2560000
  http://example.com/mid.m3u8
  #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=65000,CODECS="mp4a.40.5"
  http://example.com/audio-only.m3u8

And then run multiple instances of VLC to create each of the 
bandwidth/codec options (low.m3u8, mid.m3u8 and audio-only.m3u8)

I'm not really familiar enough yet with the capabilities and command 
line format of VLC, but it may be possible to create the multiple 
bitrate segments/indexes using a single instance of VLC by using 
"duplicate" and multiple "transcode" in the output chain, but it's a 
little advanced for me at the moment.  (But you would still be required 
to hand-craft the static master index file)

Keary




More information about the vlc-devel mailing list