Highlighted

Integrate native WebRTC audio/video on all AIR platforms including Adobe Media Server

Contributor ,
Mar 21, 2014

Copy link to clipboard

Copied

Hey everybody,

It is apparent that Adobe is very busy trying to keep up with improving and fixing video and audio bugs on all platforms. Thankfully, in the past month Adobe finally made a H264 video with Nellymoser audio stream work on Androids! That took a while to make that work. But even though that is working, AIR on Androids still cannot transmit H264 video. Also AIR on iOS cannot view live video, but instead video has to be wrapped inside a Apple HLS (HTTP Live Streaming) format which introduces way too much latency for live audio/video streaming. Also AIR cannot transmit AAC Audio, and echo cancellation with Nellymoser just doesnt make the cut.

Everybody is aware that Flash Player can only stream video/audio smoothly for 1 in 10 users. There is just way too much for Adobe to do to get audio/video to work again and to work for everybody on every device.

So because WebRTC has much more development effort going into it, and because it is being promoted as free source to try to make the proprietary licensing world to rethink H264 and AAC audio, perhaps Adobe should just focus their efforts on implementing the existing and mostly working WebRTC libraries into Adobe AIR.

Since these libraries are becoming so popular, Adobe could also integrate support for WebRTC into the Adobe Media Server for recording, peer-to-peer negotiation, and firewall hole punching.

See my feature request here to integrate native WebRTC audio/video on all platforms

https://bugbase.adobe.com/index.cfm?event=bug&id=3728399

So will you vote with me to get WebRTC into Adobe AIR and Adobe Media Server?

Adobe could essentially deprecate many existing features requests and bug fixes related to audio video and solve many problems with WebRTC such as:

Implement Opus Codec:

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3016518

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3331640

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3633142

Fix Enhanced Microphone issues:

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3711062

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3521224

Add support to stream AAC HE-AAC v2 audio, allowing iOS to be an endpoint that can receive audio and video:

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3694393

Add support to transmit H264 video from an Android:

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3648262

Decreased video latency and more performance on Androids regardless of the 32-bit/64-bit ARM Intel processors

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3648268

Improve video quality and bandwidth:

HEVC, H265, VP9

No there has been no update nor comment from Adobe regarding adding support for WebRTC. According to this year's roadmap they are booked! So it appears that we will not be seeing WebRTC in the ActionScript platform this year unfortunately. Back in March I made some predictions as to what might be considered higher priority for Adobe to be working on. It appears that list is still being worked on by the Adobe AIR/Flash team. They still have not finished support for iOS 8, and they still have several months to get hardware accelerated video finished. And VideoTexture is still in beta and will probably be in beta until AIR version 19 I would guess. Then 64-bit AIR runtime will be completed 3rd quarter along with HTML5 improvments for the 4th quarter. It looks like Adobe is completely booked.

TOPICS
Development

Views

4.4K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Integrate native WebRTC audio/video on all AIR platforms including Adobe Media Server

Contributor ,
Mar 21, 2014

Copy link to clipboard

Copied

Hey everybody,

It is apparent that Adobe is very busy trying to keep up with improving and fixing video and audio bugs on all platforms. Thankfully, in the past month Adobe finally made a H264 video with Nellymoser audio stream work on Androids! That took a while to make that work. But even though that is working, AIR on Androids still cannot transmit H264 video. Also AIR on iOS cannot view live video, but instead video has to be wrapped inside a Apple HLS (HTTP Live Streaming) format which introduces way too much latency for live audio/video streaming. Also AIR cannot transmit AAC Audio, and echo cancellation with Nellymoser just doesnt make the cut.

Everybody is aware that Flash Player can only stream video/audio smoothly for 1 in 10 users. There is just way too much for Adobe to do to get audio/video to work again and to work for everybody on every device.

So because WebRTC has much more development effort going into it, and because it is being promoted as free source to try to make the proprietary licensing world to rethink H264 and AAC audio, perhaps Adobe should just focus their efforts on implementing the existing and mostly working WebRTC libraries into Adobe AIR.

Since these libraries are becoming so popular, Adobe could also integrate support for WebRTC into the Adobe Media Server for recording, peer-to-peer negotiation, and firewall hole punching.

See my feature request here to integrate native WebRTC audio/video on all platforms

https://bugbase.adobe.com/index.cfm?event=bug&id=3728399

So will you vote with me to get WebRTC into Adobe AIR and Adobe Media Server?

Adobe could essentially deprecate many existing features requests and bug fixes related to audio video and solve many problems with WebRTC such as:

Implement Opus Codec:

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3016518

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3331640

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3633142

Fix Enhanced Microphone issues:

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3711062

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3521224

Add support to stream AAC HE-AAC v2 audio, allowing iOS to be an endpoint that can receive audio and video:

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3694393

Add support to transmit H264 video from an Android:

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3648262

Decreased video latency and more performance on Androids regardless of the 32-bit/64-bit ARM Intel processors

https://bugbase.adobe.com/index.cfm?event=selectBug&CFGRIDKEY=3648268

Improve video quality and bandwidth:

HEVC, H265, VP9

No there has been no update nor comment from Adobe regarding adding support for WebRTC. According to this year's roadmap they are booked! So it appears that we will not be seeing WebRTC in the ActionScript platform this year unfortunately. Back in March I made some predictions as to what might be considered higher priority for Adobe to be working on. It appears that list is still being worked on by the Adobe AIR/Flash team. They still have not finished support for iOS 8, and they still have several months to get hardware accelerated video finished. And VideoTexture is still in beta and will probably be in beta until AIR version 19 I would guess. Then 64-bit AIR runtime will be completed 3rd quarter along with HTML5 improvments for the 4th quarter. It looks like Adobe is completely booked.

TOPICS
Development

Views

4.4K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Mar 21, 2014 5
Explorer ,
Apr 20, 2015

Copy link to clipboard

Copied

As there been any update from Adobe regarding support for WebRTC?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Apr 20, 2015 0
Contributor ,
Apr 20, 2015

Copy link to clipboard

Copied

No there has been no update nor comment from Adobe regarding adding support for WebRTC. According to this year's roadmap they are booked! So it appears that we will not be seeing WebRTC in the ActionScript platform this year unfortunately. Back in March I made some predictions as to what might be considered higher priority for Adobe to be working on. It appears that list is still being worked on by the Adobe AIR/Flash team. They still have not finished support for iOS 8, and they still have several months to get hardware accelerated video finished. And VideoTexture is still in beta and will probably be in beta until AIR version 19 I would guess. Then 64-bit AIR runtime will be completed 3rd quarter along with HTML5 improvments for the 4th quarter. It looks like Adobe is completely booked.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Apr 20, 2015 0
Contributor ,
Aug 19, 2015

Copy link to clipboard

Copied

I mentioned this to some colleagues and they had a hard time wrapping their minds around how this could be done, assuming that WebRTC is an HTML5 thing only. So allow me to clarify to everybody, that WebRTC is not an HTML5 thing. WebRTC is some low-level C/C++ Code that has been developed with compatibility in mind for Windows, Macs, iOS, and Androids. Many browsers are taking an initiative to integrate the WebRTC C/C++ code into their browsers and add API hooks so that people can use JavaScript to activate the native WebRTC code.

I am proposing that Adobe also takes the native C/C++ code and integrates into the Adobe AIR platform for Windows, Macs, iOS, and Androids. (There would no HTML5 involved with this, just low-level native code that performs outstandingly well.)

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 19, 2015 0
Contributor ,
Aug 19, 2015

Copy link to clipboard

Copied

Once the VideoTexture feature is fully integrated on Windows, Mac, iOS, and Android...(hooray Adobe, and great work)...the flash.display.Video object can become deprecated as well as the StateVideo object. How great is it now that we can use one a hardware accelerated video path that can be integrated into a fully GPU accelerated app with Starling and other GPU based ActionScript frameworks?!

The VideoTexture object supports the following methods now:

attachCamera(theCamera:Camera):void

attachNetStream(netStream:NetStream):void

Unfortunately though the NetStream class is bulky and not fully cross-platform capable due to shortcuts taken on iOS, and legacy code taken from ActionScript 2.0. Now imagine with me a new method added to the VideoTexture object that could help get rid of the NetStream bugs and limitations and provide an alternative (royalty free) streaming solution such as:

attachRtcStream(rtcStream:RTCStream):void

or

attachWebMStream(webmStream:WebMStream):void

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 19, 2015 0
Community Beginner ,
Sep 21, 2015

Copy link to clipboard

Copied

Hey flashdictionary,

Great posts, thank you.

Personally, I am leaning towards ANE's. The less we throw on the Adobe AIR team, the more they can focus on core issues (e.g. faster performance, support for Windows 8 phone etc.)

Given Google released the WebRTC source codes, how hard is it to make ANE's? They would be just wrappers. And for desktop, Chrome browser already supports it (in fact, for Android, newer Chrome's also support it -- so really iOS is the challenge).


I am also interested in this, maybe we can set up a crowdfunding initiative?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Sep 21, 2015 0
Contributor ,
Sep 21, 2015

Copy link to clipboard

Copied

I was hoping to get some support in creating an ANE for this. The Adobe AIR engineering team is so busy that they cannot get VideoTexture to work yet on iOS and Android, not even for the traditional Sorenson codec. I think that the only solution for video on mobile platforms is to create our own ANEs.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Sep 21, 2015 0
Community Beginner ,
Sep 21, 2015

Copy link to clipboard

Copied

I was under the impression videotexture works for h264 / aac - native video. That's normal, as it uses the GPU. Anything else, you have to do it yourself and use the CPU, which is why we would develop the ANE for WebRTC (which .. would use the CPU, at lease partially as the codec used by WebRTC is unlikely to be a closed one). It's not the job of Adobe AIR to support every single application. Some things have to go native.

So, do we start a crowdfunding campaign?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Sep 21, 2015 0
Contributor ,
Sep 24, 2015

Copy link to clipboard

Copied

Unfortunately VideoTexture is still failing for many use cases. It only works with a certain subset of videos and is continually crashing for me on iOS and Android. Because of this, it seems the only option to get solid and cross-platform consistent audio/video transmission and playing is through an ANE (Adobe Native Extension). If crowdfunding is the way to go, then lets do it.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Sep 24, 2015 0
Community Beginner ,
Sep 26, 2015

Copy link to clipboard

Copied

It seems that an ANE is the only way to go at this point, let's hope somebody make one for WebRTC for android and iOS

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Sep 26, 2015 0
Advisor ,
Jan 05, 2017

Copy link to clipboard

Copied

let's do it...

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 05, 2017 0