[meta-freescale] webrtc question

Dmitriy B. rzk333 at gmail.com
Wed Jan 7 17:28:57 PST 2015


2015-01-07 16:40 GMT+03:00 Ed Sutter <ed.sutter at alcatel-lucent.com>:
>
> IIRC, no, <video> tag is handled by Chrome, but when you start "webrtc
>> context", Chrome just proxies everything to webrtc library and waits for
>> answer from it. It is due to webrtc nature of being a separate library
>> ready for integration to any application. This is how Google wants it.
>>
>> What do you mean by not getting near HTML? If you just want to use webrtc
>> in your application it is one situation, when you want a "webrtc context"
>> inside Chrome being accelerated - that is another situation. Sadly, both of
>> these situations will need you to dig into webrtc sources and add imx-vpu
>> support. There is no "easy way" here.
>>
> My use of this will (hopefully) not require a browser; hence, no HTML.  I
> just want to use webrtc libraries in my application.
> I've dug into this a few years ago (pre-webrtc-availability), using VP8
> alone in a different project.  Wasn't too messy but that
> was prior to the point when all this "stuff" was integrated into webrtc.
>  Also, then I was working on a PC (no acceleration needed).
> The difference here is that iMX6-quad != Intel-I7-quad; so I assume I'll
> need as much acceleration as I can get.
> Really not sure what burden this will put on the iMX6Q, so that is yet to
> be determined.


People successfully ran various video software on i.MX6 (xbmc, gstreamer,
etc.), so with right amount of time you'll be able to add enc/dec support
to webrtc.

App that I've been working on was also just webrtc compiled for ARM
application, without Chrome or WebKit. On Exynos4412 we've been able to
render lowres video on libvpx CPU decoding, when webrtc is compiled in
hardfloat mode.


>  Hmmm...(get ready for a naive comment)...
> I would have thought once you get into VP8 then regardless of who calls
> it, the acceleration would be the same.
> I realize it can be tuned and run in different modes; however I would have
> thought that
> the bowels of the algorithm that acceleration would be applied to would be
> below this.
>

Embedded world has no "standardization" around video acceleration. There is
no VDPAU/VAAPI here. :)

For i.MX there's now gstreamer-imx available, both in 1.0 and 0.10 versions
and a library for lowlevel VPU access - imx-vpu. You can try to hook
gstreamer with webrtc, but I guess that will be really hard, unless webrtc
added support for gstreamer (which is unlikely, but check for that). Better
look at what Carlos did for Chrome browser and adapt that to libvpx. IIRC
he did not use gstreamer directly there.

For debugging purposes you can compile webrtc examples that come with the
library, you can find "p2p web cam chat" application there, as well as
other examples and unittests. Web cam app uses both encoder and decoder, so
it is great for performance testing right out of the box.

Also, just in case, if you'll be doing all this on i.MX, please share
bitbake recipes, if you will write ones. webrtc has a big load of
dependencies that might need fine tune in Yocto.


> Thanks very much for your comments.

Regards,
> Ed
>

Best Regards,
Dmitry Beykun
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20150108/cea40fd4/attachment.html>


More information about the meta-freescale mailing list