[vlc-devel] question about http/asf streaming

Changhao Jiang changhao.jiang at gmail.com
Thu Sep 7 11:41:37 CEST 2006


Sorry for the spam, I accidentally sent the msg before I finished, below is
the full version.

Dear VLC developers,

     I am writing a streaming broadcast Peer-To-Peer protocol similar to
PPLive on top of the VLC player. What I want to achieve is to take streaming
output from a vlc streaming server and broadcast it to all pariticipants in
a P2P network. I successfully realized it when using UDP/TS streaming output
from the vlc streaming server. But it seems UDP/TS streaming does not well
support wmv/wma files. When I directly use one vlc player to stream wmv
files to another vlc player with UDP/TS, the client side can't heard the
audio, but can only see the video. After some experiments, I found http/asf
can work for wmv files. So I decided to use http/asf streaming. The
implication is that I need to implement a simple http client to receive
streaming output from the streaming server, and a simple http server to
feed  the streaming media into vlc players. Both http client and http server
should work with ASF muxer. I am currently stuck at the ASF header part. I
used wireshark to packet sniff the traffice between a vlc server and a vlc
client during a http/asf session. I found that before sending the streaming
packets, the server sends some meta-info to the client right after the HTTP
header. Apparently I need to parse the meta info in my http client, and
forge some meta info in my http server to send to vlc players. This is
different from UDP/TS sceneario, in which, I can simply relay what ever I
received from the vlc server directly to vlc player, which will
automatically continue playing from the received packets. I found the header
might be written by function 'httpd_streamHeader' at 'src/network/httpd.c
line 884, which was invoked at  'modules/access_output/http.c line 424', but
i could not find where the header message was prepared, and how to parse it.
Can anyone please give me some hints on this?

Below is the scenario that I want to achieve basically.

                    UDP/TS or HTTP/ASF
<vlc server> --> [http_client]-> P2P network -->[http server] <vlc player>

Thanks for your great work!
-Changhao
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20060907/085b33cc/attachment.html>


More information about the vlc-devel mailing list