More about Casting(Screen Mirroring) Technology (Protocols) - windows

So recently, Casting technology is almost poping up everywhere i know, and those Smart TVs and TV boxes starting to "claims" to support such technology, and i was like hmmm, how do they works? wat protocol they use?
and one day, as im a Nexus6P user, which built-in a feature of "Casting" on it, and my friend claims that his TV support "Casting" feature, and then he use his IPhone to drop his screen onto his tv, but when i try to open my Casting feature, it won't find the TV devices, and i tried all my devices on my hand such as PC(Chrome), and even tried some 3rd parties software, no lucks. (mostly they just use the API of phone built-in casting protocol, which is useless)
And the the funny thing is, some random video platform software in China, BiliBili found the devices and work likes a charm, with my Nexus6P, so im completely confused and did some research on Protocols of Casting Technology, here are the information i've found
Here are the protocols of Casting Technology list i got
DLNA/UPNP casting (Media streaming)
This is probably the oldest protocol of casting technology, DLNA was originally developed for media transfer just like FTP, it probably send signal to the receiver device and ask it to receive data feed from the source, as it was not designed for Casting technology, it leaks of feature such as playback controlling and video streaming, and it need application to write its own data feeding codes, thats why there is only a few big brand software in the market support such protocol.
(Fun facts, Windows also support this protocol hiddenly)
Chromecast Built-in (Google Cast)
Chromecast, obviously developed by Google, and this one is directly designed for the casting technology only, such protocol seems is the leading one in the market, one fun fact is, Chromecast Built-in Projection device seems also able to cast on device that uses Miracast
Miracast
Miracast, developed by Wi-Fi Alliance, an extend of Intel WiDi, is probably the second choice in the market, and its widely used in China as it has no relation to Google, also Windows built-in this protocol too, kinda powerful as Chromecast too
[Deprecated] Intel WiDi
No longer supported
AirPlay
Developed by Apple, well they have their own market thats isolated from us... watever, but this protocol is the most useful one, as AirPlay projection devices is able to project on all of the devices used any protocols above, which is really powerful, give one like to apple this time, only
Sources
https://newsletter.icto.um.edu.mo/wireless-display-and-screen-mirroring-technology/
https://en.wikipedia.org/wiki/Google_Cast
some random china website i forget
If there are any incorrect information or missing, plz notice me im willing to update them, im just
trying to tidy up all the protocols we have, as internet seems leak of information on such area
so now comes with my questions
as DLNA/UPNP is the oldest Screen Mirroring Technology, why google and WiFi Alliance has to develop a new protocol for casting? you might tell me because its leak of control such as playback one, but if u have ever used BiliBili, or this one i found in the PlayStore "Video & TV Cast for DLNA Player: UPnP Movie Mirror" by 2kit consulting, u will notice that actually there is some kind of way to control it, even streaming Youtube. currently i can't find any opensource project of DLNA casting player too, why is everyone dont want to update DLNA and just heading into a new way??
Can i use Miracast enabled projection devices to cast on a chromecast device?? Say i want to use the Windows' built-in Miracast to cast on a Chromecast Built-in device
Currently, casting technology also seems leak of security, you can easily project on neighbor's TV without permission, ppl even play adult video or horror video to trick the others.. why no one care about that? even google??
Miracast from ethernet to Wifi?? why such thing still not exist?? according the information i got from internet, the projection device must be using WiFi why??

Related

Altbeacon spec and setup beacons

I want to know if I can setup altbeacon uuid, major and minor with altbeacon library for any beacon hardware that support altbeacon layout. I haven't seen this information in any place. Because of operational reasons, I need to set them up remotely, with open source software. All of them are proprietary. I am looking for an open source solution for set them up. Any help or information would be apreciate it.This question is related to altbeacon, because I couldn't find a non property solution for ibeacons.
Altbeacon is 'old' and not used so much now. In any case, it sends out a URL, not unique id(s). You should instead look into Eddystone if you really don't want to use iBeacon. All beacons just use 'standard' Bluetooth advertising so there's nothing to stop you designing your own Bluetooth advertising payload. There's an overview of advertising at BeaconZone.
The Android Beacon Library does not provide a SDK for configuring beacon identifiers. Unfortunately this is not possible because every beacon manufacturer has a different way of configuring their beacons, and the mechanisms are often proprietary and does not have a published API.
The open source AltBeacon standard is supported by a wide variety of beacon hardware manufacturers. However, there is simply no standard way of configuring the identifiers. You must follow manufacturer instructions.

Installing Eddybeacon

As far as I understand eddybeacon (just released by Google) is effectively a new 'operating system' for Bluetooth 4.0 Low energy devices (iBeacons). I have been experimenting with iBeacons for sometime now and want to try out a few things with eddybeacon. Has anyone had a go with it yet? I've read a few sites and they say it can be installed to some devices... Can anyone share how to do this?
If you want to start out by playing with Eddystone, you have a couple of options:
You can use a software transmitter. Just download my free Locate App in the Google Play store which will both act as an Eddystone transmitter and decode other Eddystone-compatible beacons in the vicinity. Google also has posted an Android app that can transmit the Eddystone-UID frame here, but you have to compile it yourself.
You can get a few hardware beacons for testing with a Developer Kit from Radius Networks (my company) here.
Once you have a transmitter, you can try writing some software to work with it. Here's a tutorial I wrote on how to build a basic Eddystone-capable Android app.
One other thing that might be useful is an Eddystone detector tool. You can use the free Android Locate app to detect and decode all of the frames transmitted by Eddystone.
So:
Eddystone is a specification for Bluetooth Smart (usually just called BLE) devices to behave like beacons — it defines the Bluetooth frames and content they need to broadcast to be seen as beacons.
iBeacon is not a generic term. iBeacon is actually Apple's specification for Bluetooth beacons. Eddystone and iBeacon are both examples of beacon specifications for BLE devices.
There are a few ways to get started with Eddystone beacons.
a. A number of hardware manufacturers sell developer kits that will let you get started with Eddystone beacons right away, and there is plenty of example software out, either from those vendors, or from the google pages on GitHub — github.com/google/eddystone and github.com/google/beacon-platform.
b. Some people have had good luck with Arduinos and Raspberry Pis. You can see an Arduino example here (Note: I have no idea how well that project works, I've just seen it used a few times.)

Is there an official Apple API for streaming from a Mac app to Apple TV?

I have been searching high and low, but have so far been ineffable. I am now turning for the stackoverflow community for advice.
My goal is to build a Mac app in XCode, that will allow me to send MP4 content from my Mac (or from a public URL on the web) to my Apple TV.
I have located numerous classes within the framework for iOS that enables this (quite easily it seems), but the trail ends there. It just seems like there is no API to do the same from OSX, but I am hoping that I have overlooked something :-) There seems to be well established methods for sending audio to AirPlay enabled devices, but not video?
I am aware of the 3rd party specification of the protocol at http://nto.github.io/AirPlay.html, and it looks a tangible plan B for my needs, but I would appreciate any pointers if anyone knows of a more official way.

Distinguishing between iphone ibeacon versus a hardware beacon

As a beginner in ibeacon technology, I've been trying to get an answer to the following question online but I couldnt find anything that comes close to it!
So here goes...I'm aware that there are hardware ibeacons (eg: by Estimote, Radius Networks etc..) and then there is an iphone which can act as an ibeacon. My question is : When I receive a signal from an ibeacon, is it possible to distinguish whether the signal is from an iphone ibeacon or a hardware ibeacon?
Using the basic CoreLocation APIs, all beacons that meet the iBeacon specs will be indistinguishable. You can make some guesses (e.g. does the beacon use the default Radius Networks or Estimote UUID?) but these won't always be reliable.
If you have access to a proprietary configuration SDK for the hardware beacons (hardware beacons are sometimes configurable via Bluetooth), you might be able to use the CoreBluetooth APIs to try to connect to the beacon and determine its manufacturer. But doing this would require you to write different code for each proprietary hardware beacon you might encounter. You have to decide if this is worth the trouble (it's a lot of work) especially since you'll never be able to cover all the different hardware beacon types out there.

Bluetooth AVRCP control from Windows

I'm trying to implement an AVRCP/A2DP connection between my Android phone and my car PC. The A2DP bit basically works out of the box so no issue there. I want the PC to be the AVRCP CT (controller) and the A2DP sink. The phone is the AVRCP TG (target) and the A2DP source.
Where I'm having trouble is getting any sort of AVRCP connection that I can use. Windows 7 comes with a toolbar application that at least provides the basic play/pause/skip/stop type functions. So it definitely works with the software I have without any extra drivers or otherwise. However my searching has produced little results on any way to do this or documentation on creating an L2CAP connection which I believe I need.
The 32feet.NET libraries don't support L2CAP connections unless you use a Broadcom/Widcomm stack. Buying a new BT USB device may be a viable solution but at the moment I'm trying to do this all in software :). i.e. like this although there a problems noted there that weren't solve (or reported as solved)
link: How can I establish an AVRCP connection from Windows 7 (controller) to phone (target) using L2CAP on Widcomm SDK?
I'd prefer to do it C# if possible but if I had some kind of library to interface with my code, that would be fine (like the 32feet.NET library which works quite well for the things it does work on.)
This is about the closest I've got but is all a bit Greek to me and not quite enough to get me started (I'm an embedded guy):
http://msdn.microsoft.com/en-us/library/windows/hardware/ff536674(v=vs.85).aspx
Is Bluetooth really such a mess on Windows that it seems to be from my searching? There are multiple different stacks that all seem to be significantly different in terms of the API etc.
Can anyone point me in the right direction? I've done a lot of searching/reading other posts here and elsewhere and not really made any progress.
Thanks
Christian

Resources