As all of you knows, Apple is offering his own http based media adaptive streaming architecture,<br>based on apache on server side they claims <br>better than rtsp because of firewalls   <br>better than FlashMediaServer that is proprietary and expensive and so on...<br>
<br>being adaptive streaming ,client-side player can both seek position <br>and change the stream to be played depends on available bandwidth.<br>see <a href="https://developer.apple.com/resources/http-streaming/">https://developer.apple.com/resources/http-streaming/</a> for details.<br>
<br><br>So on the server side there is a m3u playlist in Utf-8 , m3u8<br>see <a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-04">http://tools.ietf.org/html/draft-pantos-http-live-streaming-04</a> for draft<br>
<br>Of course on iPhone,iPad,iPod QuickTime player streams from such m3u8 playlist, further more to be admitted in the store, <br>apps have to be compliant at all, so there are a lot of streaming server on the web that adhere to this standard.<br>
<br>i would really like very very much to be so wicked to implement a Qt player for such streaming servers             <br><br>As concrete test case here is a m3u8 :<br><br>#EXTM3U<br>#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=128000<br>
compass_16_9xIpod6090910_ep_128k.m3u8<br>#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=56000<br>compass_16_9xIpod6090910_ep_56k.m3u8<br>#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=512000<br>compass_16_9xIpod6090910_ep_512k.m3u8<br>
<br>just a plain text recursive playlist ... lets see the first one  <br><br>#EXTM3U<br>#EXT-X-TARGETDURATION:10<br>#EXT-X-MEDIA-SEQUENCE:1<br>#EXTINF:10,<br>compass_16_9xIpod6090910_ep_128k-00001.ts<br>#EXTINF:10,<br>compass_16_9xIpod6090910_ep_128k-00002.ts<br>
#EXTINF:10,<br>compass_16_9xIpod6090910_ep_128k-00003.ts<br>#EXTINF:10,<br>compass_16_9xIpod6090910_ep_128k-00004.ts<br>#EXT-X-ENDLIST<br><br>here we are , .ts are the effective data to be stream ... <br>At first it looks hesoteric to me ,never heard about .ts...<br>
in the case you are still reading here is a wikipage about Transport Stream     <br><a href="http://en.wikipedia.org/wiki/MPEG_transport_stream">http://en.wikipedia.org/wiki/MPEG_transport_stream</a> <br>      <br>that is, in very simple words, packetized transport of h264 (in my case) chunks encoded as MPEG-2<br>
<br>Let's see what can be done from Qt ...<br>1) m3u8 manager class to get from http uri , parse and build object model ...  trivial<br>2) QTMobility Bearer based class to receive async signals about roaming so we can react to bandwidth changes on the fly ...trivial <br>
3) .ts manager class to rebuild the  MPEG-2 stream as needed ... not trivial         <br>4) QIODevice derived class for MPEG-2 buffer  ...not trivial            <br>5) Phonon MediaObject that use the device as MediaSource  ...trivial, i suppose    <br>
<br>Please let me know your thought about , maybe you are already working on this ,i would like to partecipate in some way<br><br>