Hello,
Damn can't believe that no one replied to this. If you are handy with the client side configuration such as configuring all the video input parameters it can be done. Remember to eliminate buffers at all points in the stream capture and at the receiving end. It is very possible, also try to look into VLVC
http://www.vlvc.net
If you are in control of the endpoints for a one off solution you could handle alot of the configuration in some fairly straight forward ways. Here is what I mean if both ends are windows xp and running IE and you are an admin on both you can modify the IE security zone settings so that when the users open the page it automatically installs the activex.....if you have given them rights to..which can also be handled via VBScript. If this is for something that is in a corporate environment where they are sold on Micro$hat that is.
The configuration of the ActiveX plugin is handled by way of javascript and well documented thanks to the VLC dev group. look into using the command string that you would use if you were launching an instance of vlc from the command line....cool thing is you can use the gui for the most part to give you a reference of what is being done to over come the learning curve. once you understand what it takes to create two instances of vlc, 1 to send, 1 to receive, on each client, then you can modify that command string, by reasearching how the settings from the command line can be set using the vlc "option" parameters for the activex..............blahh blah blah
Oh yeah about the javascript API comment....anything you can do from the command line you can do from the plugin this includes acting as a streaming server....look into "option" parameters
I setup a realtime campus multicast of Bill Gates when he spoke to a crowd of 1600+ via 384k ISDN videoconference, I used Ubuntu Linux on an HP DL380 with 2 xPVR350's and VLC, sent a side by side mosaic of both endpoints, across the local lan to all clients who viewed via IE embedded VLC activex. Then I had another DL380 running 2K3 and an instance of VLC acting as a proxy...receiving a roughly 20Mb MPEG-2 Multicast stream and sending out 4 UDP unicast streams of MPEG4 to 4 Blade servers on static global IPs running another *nix (distro unkown to me) each running an instance of VLC as proxy serving their streams via round robin DNS to 300+ Web clients by way of a dedicated OC3 155Mbps ohh yeah!!!!!
Let me know if that makes sense....or at least let me know that you now are confused, on the issue of "Can VLC......" it can!!!!
Hi jabarth,
Thanxs for the reply, I have had some progress since my last post. I am trying to stream live video from a vlc instance embedded in a webpage. I wrote the following javascript code to open the camera feed and stream it, but I can't seem to get the streaming started:
var vlc = document.getElementById("vlc");
var options = [":sout=#transcode{vcodec=H263,vb=1024,scale=1}", ":duplicate{dst=display,dst=std{access=udp,mux=ts,dst=47.135.122.226:30002}}"];
vlc.playlist.clear();
vlc.playlist.add('dshow:// :dshow-vdev="" :dshow-adev="" :dshow-size="176x144" ', null, options);
vlc.playlist.play();
When I use :
vlc.playlist.add('dshow:// :dshow-vdev="" :dshow-adev="" :dshow-size="176x144" ')
I can see the feed from the camera dispalyed on my webpage. But ofcourse there is no streaming - adding the options parameter - no streaming happens and the camera feed isnt even diplayed. No errors are raised in the process.
I then tried another approach:
var vlc = document.getElementById("vlc");
vlc.playlist.clear();
var options= [":sout=#transcode{vcodec=H263,vb=1024,scale=1}" , ":duplicate{dst=display,dst=std{access=udp,mux=ts,dst=47.135.122.226:30002}}"];
vlc.addTarget('dshow:// :dshow-vdev="" :dshow-adev="" :dshow-size="176x144" ' ,options, 2, 0);
vlc.play();
But this throws an error on the addTarget method saying that the vlc object doesnt support the method. I am using version 0.8.6 of vlc. Is addTarget supported there?
I did a lot of digging into the threads of this forum, and I believe one of these methods should work. I would appreciate it if someone points out what I am doing wrong.