问题
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.
回答1:
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,
回答2:
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.
来源:https://stackoverflow.com/questions/48505926/video-streaming-recording-solution-wowza-streaming-engine-flash-media-live-e