Does a webcam require Flex recording strictly for a media server (FMS, Red5, Wowza, etc.)?

I am trying to implement a flex application that can record video from a webcam and then upload it to a server.

I just found manuals and examples for which a media server such as Red5, Flash Media Server and Wowza, and an open rtmp stream to the server were running on the server.

However, I want to know if it is possible to record video locally and then send it to the server using a simple HTTP request.

Is there a tutorial somewhere that shows how to do this? I am really new to the development of agile systems and would like to complete the procedure step by step: P

+5
source share
3 answers

There is a chance:)

haXevideo is an FMS / Red5 server developed by haXe . The difference is that it is very lightweight and does not require any installation.

So what you can do is redistribute it along with your application so that you can record audio and video locally to the FLV file.

Not sure if you remember Screenweaver, but the latest version was developed using haXe and is called SWHX. On top of SWHX, yours really built a wrapper called HippoHX , and HippoHX does the whole setup for you. If you download it, there will be a sample that will do exactly what you need (write to a local file).

After you wrote the file, the remaining bit remained on the server, but it is not.

, - , ( ) .

- ,

!

+2

. - . Flex .

+2

FLV ByteArray, ByteArrayFlvEncoder. , updateDurationMetadata(), . , kill(), :?

var baFlvEncoder:ByteArrayFlvEncoder = new ByteArrayFlvEncoder(myFrameRate);

baFlvEncoder.setVideoProperties(myWidth, myHeight, VideoPayloadMakerAlchemy);
// (Omit the 3rd argument to NOT use Alchemy if you're targeting Flash 9)
baFlvEncoder.setAudioProperties(BaseFlvEncoder.SAMPLERATE_44KHZ, true, false, true);

baFlvEncoder.start();

baFlvEncoder.addFrame(myBitmapData, myAudioByteArray);
baFlvEncoder.addFrame(myBitmapData, myAudioByteArray); // etc.

baFlvEncoder.updateDurationMetadata();

saveOutMyFileUsingFileReference( baFlvEncoder.byteArray );

baFlvEncoder.kill(); // for garbage collection

FLV ( AIR), FileStreamFlvEncoder FileStream, , :?

var myFile:File = File.documentsDirectory.resolvePath("video.flv");
var fsFlvEncoder:FileStreamFlvEncoder = new FileStreamFlvEncoder(myFile, myFrameRate);
fsFlvEncoder.fileStream.openAsync(myFile, FileMode.UPDATE);

fsFlvEncoder.setVideoProperties(myWidth, myHeight, VideoPayloadMakerAlchemy);
fsFlvEncoder.setAudioProperties(BaseFlvEncoder.SAMPLERATE_44KHZ, true, false, true);

fsFlvEncoder.start();

fsFlvEncoder.addFrame(myBitmapData, myAudioByteArray);
fsFlvEncoder.addFrame(myBitmapData, myAudioByteArray); // etc.

fsFlvEncoder.updateDurationMetadata();

fsFlvEncoder.fileStream.close();

fsFlvEncoder.kill();

:

http://www.zeropointnine.com/blog/updated-flv-encoder-alchem/

0
source

All Articles