XBMC-Miracast
#1
Hi,

We are doing a project to add Miracast support for XBMC for Raspberry Pi. We already spoke to WiFi alliance regarding this and they asked us to buy the technical specifications. So we came up with the following choices to implement Miracast. This is considering that we use Android 4.2's open source code for sink as our reference in each of the approach. Please feel free to give suggestions.

Approaches:
1) XBMC for Android
We were thinking about porting XBMC for Android to Raspberry Pi and use the already existing files for Miracast from Android 4.2.
But we are stuck since there is no Android 4.2 image so far for a Raspberry Pi.

2) XBMC for Raspbian
We can download a Raspiban Wheezy on Raspberry Pi and install XBMC. But for that, developing Miracast functionality would be a difficult since with each change we have to re-build the kernel, which takes a lot of time.

3) Raspbmc
We haven't played with it so far. So can't really comment on this for now.


Which would be the best approach to handle this? Do you suggest other approaches?

We are using the following

1. Raspberry Pi Model B
2. TP-Link WN725N WiFi Dongle
3. Samsung Galaxy S4 (source device)

We are going to host this project on GitHub for other developers to contribute.


Cheers !
Reply
#2
Great initiative! Maybe a good idea to aim at making the server library for it portable, starting first with Linux for x86, then ARM?

(2013-06-19, 08:33)salil.ra Wrote: Which would be the best approach to handle this? Do you suggest other approaches?
Maybe try to make it the same type of Python Addon implementation as AirPlay and AirTunes as in this pull request?

https://github.com/xbmc/xbmc/pull/698


or same type of native implementation as AirPlay and AirTunes have in latest XBMC's master / mainline repository?


Another good idea might be a to look how Shairport and Shairplay are designed and how XBMC use them today in any case?

https://github.com/abrasive/shairport
https://github.com/juhovh/shairplay
Reply
#3
There are Android TV 4.2 devices you can get relatively low cost like Rikomagic MK802IV that might help with approach 1.
Reply
#4
Have you looked at openelec as an option?
Reply
#5
Hi there,

What about modifying XBMC for android? You can make use of the trial below.
http://www.youtube.com/watch?v=IeXtIGuha80
https://github.com/kensuke/How-to-Miracast-on-AOSP

He tweaks Android 4.2.2 which has Miracast sink classes implemented already.
https://android.googlesource.com/platfor...play/sink/

The problem is which board should be used?
Raspberry pi: can't support Android 4.2.2 so far.
BeagleBone Black: has bad graphic performance.
Pandaboard: the only option for now.....expensive though....
hope Raspberry or Beaglebone improves soon. Or minimized android 4.2 for xbmc that can run on Raspberry

What do you think guys?
Reply
#6
Well i don't like the limitation to android here. Just imagine i would have implemented airplay only for XBMC on iOS. Sad story. If miracast is that special that it needs a special operating system for working - at least i don't want to have that sucker ...
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#7
I think you definitely shouldn't be looking at just a single platform. airplay is great because the effort was spent correctly to implement it on all operating systems, xbmc world benefit greatly from having an Android equivalent
Reply
#8
@Memphiz I totally agree with you.

Ok what about that -I don't know how difficult is it- To migrate Android 4.2.2 Miracast classes to Linux. It will be work around buying miracast specs. Linux miracast stack will be very useful for lot of people. It will be a milestone to get Miracast on XBMC.
Reply
#9
issues with miracast are mostly due to the hardware component and requirements

it is based on intel's wifi-direct for wireless displays

it is not a software only solution like apple's airplay

the devices have to have a direct wi-fi connection to each other, it doesn't work over lan

it really baffles me that google decided to back such a limiting platform
Reply
#10
Odd Approach indeed ...
Reply
#11
You could work together with Sam Nazarko, the developer of RaspBMC who is very active in developing unique and new features for RaspBMC.
Reply
#12
Sure, not contributing back to upstream is how open source development should be done, let's encourage people to do so.
... wait, if everybody did this no new features or bugfixes would ever get into master anymore ....
Reply
#13
Is this meant to be a -one way solution? I'm looking for a tool to use my pi as miracast-reciever for my android Tablet.
Reply
#14
http://www.youtube.com/watch?v=WMlTxTyoaOs
Reply
#15
Just fyi, yesterday I was looking at pictures on my HTC One, and I've always had the option "Select Player" in the menu. When watching pictures, a video etc. So this time I tapped on that option and I was happily suprised to see "XBian"! Which is XBMC on my Raspberry Pi. After selecting XBian, I saw the pictures on my TV Smile And I could control slideshow buttons on my phone. Perfect!

Unfortunately my HTC uses a ridiculously high bitrate for shooting videos (22mbit/s) so this would never work on my wifi network but tonight I will definitely try some 720p bluray mkv rips!

I guess this is just DLNA? And since DLNA is already supported on most devices, this seems to be the best solution. For me there is no need for Miracast! Just DLNA should be better intergrated in the UI of (android) devices.

EDIT: yes it is DLNA:
https://support.htc.com/en-uk/005-HTC_One/080/030/020

if I would be able to play mkvs, that would be amazing. Will report back.
Reply

Logout Mark Read Team Forum Stats Members Help
XBMC-Miracast1