Access to webcam in browser? - silverlight

For an internal project we would like to play with building a video conferencing system. We are able to decide the browser that the user has to use and can install plugins.
The only requirement is that the browser and plugins must be free and work over Linux and Mac. (Don't care about Windows)
What is the best way to do access the webcam and mic stream from a user for sending to a server?
Ideally I would like to do this plugin free but I can see no implementation of the devices tag in HTML5 in any browser yet, unless someone knows different.
If its flash/silverlight, any quick examples of capture and sending to a server?
Also any examples of streaming video from a server to a client would be useful, so we can stick it all together. This I know we can do in HTML5 so this would be a preference.
The client connection part is all I would need as we are building the server, this is the internal challenge.
Basically I'm looking for good examples and best practices for sending and receiving this information.
Edit: As I have discovered from some groups the device tag is no where near completion. So answers will have to be flash/silverlight (does that work on linux??).
See a demo of device tag done on a webkit custom build: https://labs.ericsson.com/blog/beyond-html5-conversational-voice-and-video-implemented-webkit-gtk

Check out the Red5 project. I think that it is what you're looking for. The examples are quite good.
http://red5.org

Related

How to publish AIML embedded with javascript?

I've written an AIML file for a chat bot and I'd like to build an interactive web application which allows me to chat with the bot in the web browser.
Is it possible to achieve this with HTML & Javascript?
There is no short answer on how to write a web application which allows a user to interact with your AIML. Writing such an application from scratch will be much more work then compiling the AIML was.
The easiest option would be to use a pre-built service like PandoraBots which allows you to upload AIML files and interact with them in the web browser. It's free to use the explorer part of website. They also have paid developer options which generates an API to bridge your AIML script and any applications you might want to build. It can be easily connected to work with common chat apps like Google talk ect.
If you decide to build everything from scratch you might want to check out the AIML Interpreter library for nodejs.
UPDATE: Here is a node.js based interpreter that you might find useful https://github.com/mrchimp/surly2
I was looking at AIML too and had similar questions. I just found RiveScript RiveScript and it looks like it fits your need to run javascript based on a match. It is not AIML, but very close. There is also at least one tool to convert from AIML to RiveScript, so I would say this fits your needs within those constraints.

Is it possible/workable to store a large (1 hr MP3) in an offline cache for a web app?

I need to be able to create a way of delivering a web app which includes being able to play a long - up to 1hr MP3 file without having to be connected to the internet.
The end user would be a tourist who would incur roaming charges if the gprs internet were used. The idea is that it can be preloaded while the user has access to wifi (e.g. in the hotel). They can then go out and about and still use the application and access the audio content.
Of course one way would be to provide it as an iPhone app/android, but I wondered whether there could be another way? Perhaps through writing a suitable web app using Angular?
Unfortunately, there is no reliable way to this, although it may work on Google Chrome.
e.g. -
http://www.html5rocks.com/en/tutorials/file/filesystem/
But the specifications are DEAD
W3C - [fileapi-directories-and-system/filewriter]

Silverlight vs ActiveX for lightweight app with system access

Just an R&D question. We need to develop an application that can be run in a browser that has the capability of performing some system checks to gather support information to be emailed to us. These checks will include basic system information, but also will need to scan the filesystem and pull out version information about various DLLS, executables, and .NET assemblies that might be installed. The idea being that we can direct a client to a page and have the application gather the relevant information needed for support, and potentially even populate some database fields. We need it to have as small a footprint as possible.
I've worked with ActiveX before, and know it is capable of these things, but particularly on modern systems security is a nightmare to get around, with a lot of people blocking ActiveX altogether. Is Silverlight easier to deliver to clients? Does it have a lighter footprint? Is it even capable of doing these things?
Silveright has access to isolated storage, but I don't think it can do what you are looking for (I may be wrong). As for footprint, if I remember correctly, the runtime is reasonably small, and the .xap packages are limited to 4Mb.
Silverlight out-of-browser has access to the file system. http://msdn.microsoft.com/en-us/library/dd550721(v=vs.95).aspx#special_features_for_outofbrowser_applications
If you intend to run your app in the browser, you will still have to configure the trust as if it where oob. http://msdn.microsoft.com/en-us/library/gg192793(v=vs.95).aspx
However, iTunes has a neat way of doing something somewhat related. It has a custom protocol (itms://) that allows the browser to invoke a client side program (iTunes). Then you can embed html in a webpage that passes parameters as command line arguments to that app. The website also knows if the iTunes is installed by a cookie. We this in mind, you might be able to encourage your users to install some small app that setups the custom protocol on install. You could pass command-line parameters to it from the web, and the app will push information from the client back to the server.
To create a real-time experience, you could use sockets + more javascript to update the page with the info you just got off the machine.
HTH,
Silverlight runs in a pretty restricted silo and can't do a lot of low level things - such as checking the file system. So I would say it does not fit your use case, unfortunately.

Easiest way to get online notifications

I have some C simulations running on my university servers and I am bored of having to sit and wait for them to end, considering they take quite a while. So I want to develop some kind of mechanism to know when they have ended. I was thinking of implementing an SMTP client with gmail, but considering I can't install anything on the system I wasn't able to add the SSL libraries to do so. I also can't remote access my desktop from outside campus. So once I leave I can't VNC y desktop.
So I was thinking if there is some way where I can rent some online space for free and be able to talk with the server through ftp or http and set add some text that the simulation has ended. That way I can check the space from home and know it ended.
I know the question is quite messy, and hope someone can help point me out to someideas.
Thanks
I'd recommend, 100webspace.com, it allows PHP and MySQL, all for free! Then just send data to it with HTTP PUT and/or GET and view the results over the interweb.
My trawling of the web consistently turns up libcurl as the library of choice for interfacing C with HTTP commands. This is a sample using it with the PUT method.
A possibility would be using a simple blog and updating it via HTTP. Just as an example, blogger supports simple messages in XML. (REST would be my first choice but XML is not that bad)
Edit:
Tumblr does support using an HTTP POST without XML.

What are my options for streaming for silverlight?

I would like to implement limited scope streaming (LAN, multicast, even broadcast) where the client is implemented in silverlight. More importantly, I would like to stream from a desktop OS, not a server OS. As a result, I can't use the MS media server, which I believe requires WS2003 or WS2008.
Ideally the solution would have some sort of API so I can plug in or provide a custom frame source.
If I need to encode my own video, how can I encode using H.264 or another Silverlight supported codec?
if I need to implement my own server, where can I find information about how a client starts to receive a stream?
thank you! I know, it's a lot of questions, but it basically boils down to "how do I stream from a non-server OS?"
My Friend Vikram wrote a blog post about Overview of Live Smooth Streaming,Live Encoding and Streaming with Expression Encoder 2 – Part 8. Check it out and see if it helps. I dont think he used a server for the article.

Resources