Is it possible only to watch remote streams without access to my camera/microphone? Imagine that I only want to watch debate between Obama and Roomney.
It is possible, but if there are many viewers you will not benefit of peer2peer with webrtc only. You will need a server with an MCU that dispatch the video to viewers only.
EDIT: Obamas & Roomneys browser would go bananas if they needed to connect a stream to every viewer. Just added that for clarification.
Regards
Uffe
Related
Is it possible to control the Sony QX10/100, using the Sony’s Camera Remote API SDK from C++ Windows program?
Thank you for your patience and time...
Yes, that should be possible. See https://developer.sony.com/develop/cameras/ for more details.
I answered your question on this related other question, maybe you would want to check it out ?
Windows compatibility with the Sony Camera Remote API
The API works with any device on any OS and programming language, it's just http calls and camera discovery needs some basic socket listening. Though to make it easy to connect to the camera, the device you're connecting from, should support Wi-Fi Direct : http://en.wikipedia.org/wiki/Wi-Fi_Direct
The problem is that these APIs are incredibly simplistic. No way to transfer/delete images off the memory card, can't take pictures without a memory card, can't add a custom streaming service, (only USTERAM is supported), the device doesn't have an 'always on' mode so you need to physically walk up and turn-on/reset (for cameras where this makes sense like the AS100V). It's like Sony has one guy in the basement working on this.
Is it posible to have 2 sources in the same mount point?
Example:
Source 1 (from S1 IP adress) sends music to IP Icecast2 server.
Source 2 (from S2 IP adress) sends voice to Ip Icecast2 server.
Listener run: mplayer ip_icecast2:8000/example.ogg..
The listener listen the music and sound at the send time..
Liquidsoap should be able to handle the mixing and setting the proper metadata.. The web site is at http://savonet.sourceforge.net/
Yes, but not with Icecast alone.
What you need to do is mix the two streams. Icecast doesn't have any features for doing anything like this. There are many ways to do this. I would probably look at mixing the streams together with FFMPEG. You can use the amerge and amix filters.
Now, you need to get the output of FFMPEG to your Icecast server. With some scripting, you should be able to pipe the STDOUT from FFMPEG to a TCP connection to Icecast. Prior to sending data, you will need to send the appropriate headers and what not.
you can actually do it without anything else, you need to specify 3 streams
stream
live
autodj
the trick relies in a tag called fallback, you directly configure it on icecast xml file, and it does something like - if the live audio is not available, fall back to autodj, and any1 of it will directly play on stream, giving preference to live
I'm assuming you mean one source of audio and one of speaking, from different URLs. If you don't know how to use Soap, you could grab both the audio and music streams using a 3rd party application like SAM broadcaster.
This will decode the streams and mix them like a conventional audio mixer before re-encoding and sending out to a single Icecast server as one stream.
Keep in mind, if you are doing voice overs, there will be latency to deal with. i.e. speaking will be heard by the final listener slightly after the part of audio you will be speaking to. This depends on the buffer lengths involved, and is because SAM broadcaster will be 'listening' to the audio at the same place you are (assuming you are speaking to the source audio stream). Then you need to add to that, the playing buffer SAM needs to process, playing your voice's stream to be mixed and passed on.
We already have a functionality of Video uploading in our webapplication[built using python with Django framework]. Now we are in the process of building a livestream site where people are able to use their webcam to record the live event and it's live streamed to different participants at the sametime.
I am wondering if somebody has any idea of how to go about building a functionality like this or any pointers that would be really helpful.
I sort of looked into this same question a while ago. The dominant solution seems to be Adobes Flash Media Server. It is closed source of course and quite pricey. There are companies who run it as a service, lowering the cost of entry. And there are open source contenders, the main one being Red5, which of course also relies on flash being available on the client side.
In the future we'll probably see viable HTML5 alternatives but if you're doing something right now my feeling is that the flash route is the simplest solution and has the largest install base.
I did a video vlc record with python and it was quite simple. VLC have a stream recorder and as I know you could launch a vlc stream with a simple python code who manage the video ans the stream. I think all you need is to manage the sources and then, doing a small script who takes care about the vlc stream.
VLC stream will be launch on a different port, so I think you've to search a good server.
see vlc docs :
https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/
Enjoy :)
Check VLC or Flumotion...
Probably Photolab as well..
The latter one doesn't support audio...
Gee
In my application we will present the video stream from a traffic camera to a client viewer. (And eventually several client viewers.) The client should have the ability to watch the live video or rewind the video and watch earlier footage including video that occurred prior to connecting with the video stream. We intend to use wxWidgets to view the video and within that we will probably use the wxMediaCtrl.
Now, from the above statements some of you might be thinking "Hey, he doesn't know what he's talking about." And you would be correct! I'm new to these concepts and I confused by the surplus of information. Are the statements above reasonable? Can anyone recommend a basic server/client architecture for this? We will definitely be using C++ wxWidgets for the GUI, but perhaps wxMediaCtrl is not what I want... should I be directly using something like the ffmpeg libraries?
Our current method seems less than optimal. The server extracts a bitmap from each video frame and then waits for the single client to send a "next frame" message, at which point the server sends the bitmap. Effectively we've recreated our own awkward, non-standard, inefficient, and low-functionality video streaming protocol and viewer. There has to be something better!
You should check out this C++ RTMP Server: http://www.rtmpd.com/. I quickly downloaded, compiled and successfully tested it without any real problems (on Ubuntu Maverick). The documentation is pretty good if a little all over the place. I suspect that once you have a streaming media server capable of supporting the typical protocols (which rtmpd seems to do), then writing a client should fall into place naturally, especially if you're using wxWidgets as the interface api. Of course, it's easy to write that here, from the comfort of my living room, it'll be a different story when you're knee deep in code :)
you can modify your software such that:
The server connect, server grabs an image, passes it to ffmpeg establishing stream, then copy the encoded data from ffmpeg stream and send to client via network, if the connection drops, close the ffmpeg stream.
Maybe you can use the following to your own advantage:
http://www.kirsle.net/blog.html?u=kirsle&id=63
There is a player called VLC. It has a library for c++ and you can use it to embed the player in your GUI application. It supports a very wide range of protocols. So you should leave connecting, retrieving and playing jobs to VLC and take care of the starting and stopping jobs only. It would be easy and probably a better solution than doing it yourself.
For media playing facility, both music and audio, you can a look on GStream. And talking about the server, I think Twisted (A network library in Python) should be good option. The famous live video social website justin.tv is based on Twisted. Here you can read the story from here. Also, I built a group of server for streaming audio on Twisted, too. They can serve thousands of listener on line in same time.
I have an application that grabs video from multiple webcams, does some image processing, and displays the result on the screen. I'd like to be able to stream the video output on to the web - preferably to some kind of distribution service rather than connecting to clients directly myself.
So my questions are:
Do such streaming distribution services exist? I'm thinking of something like ShoutCAST relays, but for video. I'm aware of ustream.tv, but I think they just take a direct webcam connection rather than allow you to send any stream.
If so, is there a standard protocol for doing this?
If so, is there a free library implementation of this protocol for Win32?
Ideally I'd just like to throw a frame of video in DIB format at a SendToServer(bitmap) function, and have it compress, send, and distribute it for me ;)
Take a look at video LAN client (or VLC for short) as a means for streaming video.
As for distribution sites, I don't know how well it works with ustream.tv and similar new services.
ustream.tv works by using Adobe Flash's support for reading input from a webcam. To fake it out, you need a fake webcam driver. Looking on the ustream.tv site, they point to an application called WebCamMax that allows effects and splicing in video. It works by creating a pseudo-webcam that mixes video from one or more cameras along with other sources. Since that app can do it, your own code could do that too, although you'll probably need to write a Windows driver to get it all working correctly.