before some weeks ago i red a newsletter that adobe has include a h.264 encoder in FP 11.
Well, here we go i thought and start to develope a web based h.264 encoder for our CDN. Here is a first version that i want to share with you developers.
Onlinelib Web Encoder Version 0.2:
Please do not use this in serious projects. You will need also a RTMP Server for testing and of course a web-player. I will include a player option inside the encoder for internal testing.
There are a lot of features missing, but the basic h.264 encoding is working on my Mac Pro and our CDN.
What i found out during the development:
Please correct me if i post something wrong.
- AAC Encoding for Audio is missing. Without AAC we cant product ipad / iphone compatbile streams. Flash iOS cross-compiler supports CPU native speex decoding, same for nellymoser, but you cant mix them cause native h.264 decoding in iOS is also not working and you cant send the iOS native quicktime player a bytearray for decoding h.264.We can have access to the raw micro data, but its useless cause you cant transmux the packets to the camera stream. I think a native AAC encoder in AS3 or alchemy is possible but without more access to the encoder its useless.
- No Stereo Encoding. That is really a big minus point. I study all docs and cant find if its possible to encode 2 channels.
- No access to compressed frames for video or audio. Without getting access to the compressed frames we cant use HTTP streaming, packing for the new HTTP protocol that is accessable sinse FP 10.1. In times of hacks and security its important that we developer can protect our streams with own encryption technologies. Not possible right now. RTMP(e) is a option, but this encryption is really useless (my 2 cent mind). A DES is stronger than the hole RTMP(e).We also are not able to calculate our own bandwidth alogs.
- I thought that adobe will include VP8 Encoder / Decoder in FP11. I hope they will do this.
- I think the encoder is based on MainConcept SDK, works for me. Baseline and Main is fast enought toDo realtime. I cant find a way to set motionVectors, bframes that can be used in mainprofile. I saw that in some level(s) profile h2.64 the encoder makes some strange colorspace effects (false colors).
-We can change cameras, micro, bitrate, fps during a streaming-sessions. That´s cool and not possbile with Flash Media Desktop (FME) Encoder. You have to disconnect the FME first, then set the changes re-connect again.
- p2p is also working and you can mix server and p2p. We port the rtmfp protocol to an embedded device:
The p2p option in the public encoder is not useable cause adobe has patent-rights on the rtmfp protocol. If i have time i will inlcude a cirrus service.