What are my options for streaming for silverlight? - 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.

Related

Silverlight streaming video

I'm creating a web platform destined to the customers of a certain company. The company requires that the platform allows the streaming of videos.
It's important to note that the company will be the one to add the videos to the platform, dinamically, from a software built by me for that purpose, and each video will be referenced on a sql server table.
I've never done streaming before so I'm asking 2 things:
The first is about some guidance in silverlight streaming(tutorials, articles, examples, etc)
The other is my main concern. I have a few video samples from the company, and all of them are over 200 MBytes and can go up to 2GB, so I know I have to re-encode them to become smaller. But, how do I do this... I mean, do I have to re-enconde them, manually, one at a time, or is there a way to do it automatically as a new video is added?
I have Expression Studio Encoder 4 pro, but never really used it, and as far as I can tell, I have to manually add each video to do the enconding. Again... is there a way to do this dinamically??
Thanks
Not all video formats and encodings are supported by Silverlight. See this page for a list of supported formats. You will probably need to recompress your videos not only to reduce their size but also to normalize the format.
The recompression could be done in a windows service running in the background, the more appropriated libraries to be used will probably depend on the target format you will use. For wmv files I would recommend using Windows Media Format SDK,the (currently deprecated) Windows Media Encoder SDK or its succesor Expression Studio Encoder SDK. For using H264 as target I would recommend using ffmepg.
You should decide on a delivery protocol depending on the number of users you can forsee for your website. HTTP might not be the best choice, since there are other protocols like RTTP, usually more suitable for video streaming.

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.

Is it possible to connect Adobe Flash CS to Database of any kind?

Can I build flash application that connects to database? (MySQL)
For example: Photo Gallery that brings me the photos from database...
Or Music Player...
Maybe PHP? :-)
AMF is a technology that allows a Flash app to execute remote code. Server side implementations exist for a number of server side environments and languages, check out the list in the wikipedia article.
Simple answer: yes.
As fvu mentioned, you can get into AMF which is an excellent choice for heavy lifting, but it's not required.
Using combinations of URLRequest, URLLoader and URLVariables it is very easy to send and receive data in HTTP requests, which then frees you to employ whatever server-side solution you prefer. The data format you choose is then also up to you; Flash natively supports XML, and full JSON support is found in as3corelib.
Perhaps Adobe FlashBuilder (formerly FlexBuilder) is something that would interest you.

Access to webcam in browser?

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

JPEG 200 (aka J2K) handling in Silverlight app - any suggestions?

I need to handle JPEG 2000 (aka J2K) images in my silverlight app. Files stored either in the DB or file system on the server. Any suggestions how to handle them on the client? The only working converter I came across was written in Java. There are some ports to J#, but most likely they are not going to work on the client. The requirement is that the conversion should happen on the client to conserve the bandwidth and speed up the streaming of huge images.
It's not supported by Silverlight and .Net Image Tools don't support it too at the moment. So you have to write your own, port the (Java) version or ask the ImageTools developers if they can help you.

Resources