I installed red5 server on my Ubuntu 12.04 server. It is up and running.
I am trying to do live streaming. I set up rtmp protocol as well. Port 1935 is listening for red5.
I installed midiDemo app and I started my flash media encoder to start streaming. When I go to demo apps publisher.html I can see my streaming which means that rtmp is working.
I tried couple of players on my site to stream and they work just when flash media encoder is streaming. How can I stream on my site without flash media encoder? Also I want, when user comes to site to have option to start and stop streaming. My web site is php.
You can use the publisher app to "publish", similar to using FMLE. One difference is that the only audio and video codecs available in that demo app are Sorenson video and NellyMoser audio.
One option would be to use the html test bed where you can setup streaming and view the results by running one of several demos provided. Download the html5 sdk. The link below will show you how:
https://www.red5pro.com/docs/server/
Download the Red5 Pro WebRTC SDK to use the sample streaming apps. Download here:
https://www.red5pro.com/docs/client/webrtc/
Related
I am working on a php based web application where I need the end user to be able to record video response through the application using his webcam and then that video gets stored to my server. I have been looking into Wowza streaming Engine for sometime now and have been able to figure out that I need a streaming engine and an encoder to successfully stream a video . Using Adobe Flash media live encoder (thanks to my mate jolumg) I was able to stream live video on my locally installed Wowza streaming engine, which is cool if I want to broadcast live video, however I cannot expect my enduser to install the encoder on his device. If I am not mistaken, the end user will have access to some kind of recorder through my application. So I need to know few things:
How do I create such recorder which can capture the video using user's webcam?
Which programming language do I need to create the recorder?
Assuming the Adobe Flash media live encoder(FMLE) is installed on my server, what configuration changes do I need to make so that the recorder can send the video to FMLE which is connected to my Wowza streaming engine and can thus publish the stream.
After the incoming stream is published, how do I programmatically record it(rather than using the record button on the wowza engine manager)? Do I create an api? if yes in what language?
Finally in terms of storage, would a standard AWS instance would do or do I need something with larger space?
Any ideas?
Pardon me if I am lacking in my understanding of the entire video streaming/recording platform. I am a reletively young programmer and this is totally new for me. Thanks is advance.
I think that what you are looking for is not exactly called recorder. If what you want is live streaming you will need an encoder module. Same function than FMLE.
If you can not ask user to install FMLE you need same function embeded in the webpage.
and 2.- Usually this has been done with a flash plugin. There are samples in internet of that module. But this will not work in mobiles and with Flash being phased out soon it will not work in desktop browsers either.
If you target is mobile, check Wowza GoCoder, you have an SDK to create native applications and you also have a simple application that is ready to use (but user need to install it)
Since recently we have WebRTC technologies to use the webcam in the browser. (Wihtout depending of external plugins, or applications) Wowza already support an webRTC input. This seems to be the way for the future, but this is quite new and only will work in the latest browsers but it should work in desktop and in mobiles.
WebRTC samples:
https://webrtc.github.io/samples/
3- You do not need the FMLE in this scenario. End users is doing the encoding.
4- In Wowza configure you can set that all the streams in an application being recorded automatically. You can also have an http API to start/stop the recording at any moment, if you want fine control.
5- It will depend of your usage. This is is sometging you need evaluate,
Jolumag explained well.
FMLE, Wirecast, OBS are desktop based encoder. If you are looking for recording option from browser then its Flash component that support RTMP protocol.
You can set this rtmp://wowzaip:1935/wowzapp/streamname in your flash publisher component.
Flash is now being called "dead" so you can go for WebRTC if you want this recording support in mobile as well.
Chrome stopped support for Flash as primary technology for webcam access... your users will have to enable flash plugin in chrome.
I have been trying to find out how to live stream my webcam feed to my wowza server. I am trying to make a web application in php that lets users stream live video through their webcam.
I am confused, if i need to install FFMPEG in every user's computer that uses my application or just installing it in my web server will do??
Thank you in advance. A little help would be much appreciated.
The user's webcam stream is on the client-side and the problem is getting that stream from each client to your server so having FFmpeg on the server won't help you a lot.
This is achieved by using some form of browser plugin, like Flash or Silverlight and hopefully in a near future using directly HTML5 / WebRTC.
For Wowza you can use the FlashRTMPPlayer . Here's the documentation showing how to record a webcam feed and how to setup a live video chat application which is probably a good starting point for your live streaming application.
There are some other libraries that can do the same. Search for webcam Flash RTMP capture.
I have tried a lot of things out there: red5, jquery webcam, html5 ... but none of these solution record a video and leave it ready to upload to a server.
Is there anyway (html5, flash, whatever ... the better cross-broswer solution, the best) to upload video (+ audio!) and upload the result to a server (I guess through AJAX) ?
Summarize:
jQueryWebcam (https://github.com/infusion/jQuery-webcam): it has flash video, uploads to a server image, not a video
Eric Bidelman's solution (http://ericbidelman.tumblr.com/post/31486670538/creating-webm-video-from-getusermedia):records video in html5 and allows you to download (so you can upload
to a server), but no audio !
Red5 (http://www.red5-recorder.com/services.php): paid services, not
uploading in free version :(
DMV (https://github.com/rwldrn/dmv): it just captures a photo ... besides not cross-browser
I have developed video recording solutions for the better part of the last 5 years and contributed a lot to fixing video recording bugs in Red5.
There are currently 2 production ready technical solutions for recording audio and video on the web. One for desktop and one for mobile.
On desktop you will need a Flash application that sits embedded in a web page, captures the visitors webcam and mic, encodes the raw video and audio data and streams it as it is recorded (through rtmp) to a media server.
You have at least 3 options for the media server:
Red5 is free and open source (btw. recording works out of the box in Red5)
Wowza ($65/month)
Adobe Media Server Pro ($4500)
The media server receives (again through streaming/rtmp not through http) the data and, depending on the codec used on the client, saves it to mp4, flv or f4v files.
This Flash client + media server recording process - which has worked pretty well since Flash Player 6 in 2002 - will most likely replaced by the HTML5 alternative named MediaStream Recorder (not yet implemented fully by any browser).
On mobile you can use HTML Media Capture (explained here with screenshots) to record video using the device's native video recording app and codecs. HTML Media Capture records locally (on the device) and then you upload (normal HTTP upload process) the file to the web server.
A commercial solution that implements both (Flash client + media server on desktop and HTML Media Capture on mobile) is HDFVR.
You could use something like binary download via javascript.
Here is one example
As you have not much info about video protocols i cant give you better answer
you can try this library, RecordRTC. It generates a blob file to put in video source and you can upload this file later to your server.
RecordRTC Library
This library is a container for other libraries, like Whammy for video, Recorderjs for audio and jsGif for gifs.
You can use Whammy library for record videos too:
Whammy
My hosting service doesn't allow Flash server or Red5 to be used on the shared hosting account, only with a VPS account. This is something, I do not want to pay for. I have managed to create a MXML application and successfully compile it into a .SWF file that will grab the user's live cam. Now the problem I'm having is displaying that webcam to other users. So I'm assuming I need some sort of server to send that video to, so that I can connect to it, and then display the stream. Now my question is, is there a work around in which I don't need another server, such as Red5 or Flash server? Why can I not handle the live webcam myself and display the live stream using ActionScript3.0?
Go for Adobe Cirrus as Reboog711 mentioned. Its a peer-2-peer protocol.
Well to answer your questions..
is there a work around in which I don't need another server, such as
Red5 or Flash server?
Yes, you don't need any servers involved here. Just connect to the service and get a token id. Exchange that token id with your remote end user and do the vice-versa, such that both of you can able to see yourselves.
Why can I not handle the live webcam myself and display the live
stream using ActionScript3.0?
Who said you can't ;) ? You can very well control the settings including the webcam video size, aspect ratio, quality, bandwidth , etc everything using your actionscript 3.0.
I want to let users record video via webcam and then upload the recorded video to the site all through the browser.
Here is an example that works exactly how I want my site to work except it does not seem to capture video, just images.
http://www.xarg.org/project/jquery-webcam-plugin/
Please let me know if there is a way I can customize this or if there is something else out there that I can use.
I want something standalone and don't want to rely on another service to accomplish this.
Thanks!
We've been looking for the same thing, but from my research, it appears there's no way to do it strictly through jquery and Flash without some back end help.
What I've found is three options:
Adobe Flash Media Server
Wowza Media Server
Red5 Media Server
There's advantages and disadvantages to all three. Flash and Wowza are not free, but have great documentation and support. Red5 is free, but the documentation can be lacking depending on what you're doing.
We just signed up for a free 180-day Developer license for Wowza and are currently evaluating that.
HaxeVideo is an multithread FLV streaming server entirely written using the Haxe programming language.
And this link for information Haxe programming language.
But I found an easy way out for me. I have 2 options for you.
youtube api (Free) https://developers.google.com/youtube/youtube_upload_widget
http://nimbb.com/ (Not Free)
But if you want to try.
Check out http://hdfvr.com . It is a commercial video recording solution developed in Flash. It can record to both .flv and .mp4 files and when used with Wowza and the Wowza Transcoder it can record MP4 files with AAC audio and H.264 video.
It works with all 3 media servers in the top answer: Adobe Media Server, Wowza Media Server and Red5 Media Server .
You had better to use a third party tool like red5 or wowza. I already implemented wowza with php.
you can chech http://www.wowza.com/streaming/record. It is easy to implement and video recording is too good and fast. But it is not free.
This can be a good helpful resource for further readers. Click here
Wowza seems a good solution for recordings considering price/documentation&reliability ratio. Many users reported broken videos when trying to record with Red5.
This solution mentioned in Wowza Streaming Engine forums works with latest Wowza server.
http://www.wowza.com/forums/showthread.php?35683-Webcam-Video-Recorder-for-PHP-scripts
It's free to download and try so it could be a great method to test your setup and start such project.