airplay survey tang jian-heng, compal. bonjourjmdnsbonjour service avahi network protocol platform...
TRANSCRIPT
AIRPLAY SURVEY
TANG JIAN-HENG, COMPAL
Bonjour JmDNSBonjour
Service
Avahi
Network Protocol
Platform
iPhone / iPad Windows Mac OSX Linux Android
Platform and its service
DAAP RTSP RTSP
Bonjour
• Why– We want to discover available services and
choose one from a list, instead of having to know each service’s name or IP address in advance.
• What– Bonjour is Apple’s proposal for zero-
configuration networking over IP. • Self-assigned addressing • Multicast DNS(mDNS)• Service Discovery
DAAP
iOS Devices
Non-iOS Devices
RTSP
Bonjour JmDNS
Query by service type
response
Request IP address & domain name
Receive IP address
Request Response
Request domain name and port
Receive domain name and port
Publication
Discovery
Resolution
Register SRV Record
JmDNS
• Java implementation of mDNS.• Used for service registration and
discovery. • Compatible with Apple's Bonjour.
Start
Initial network
Set up buffer
Bonjour Emitter
True
Receive a packet
Parse DNS packet
DAAP
EndNo
Yes
Zeroconf registration
Bonjour JmDNS
DAAP
Request for server info
server info response
request mp3
stream'd mp3
Login
Login response
TVBox Applications
Framework
SystemLibraries
LinuxKernel
Android.netJava.netJavax.jmdns
Android.mediaJava.securityJavax.jmdns
Network Multimedia
mDNS
Android Libraries
Socket UDP | RTSP | DAAP
Services
iPad/iPhone
MediaDecode
JmDNS
Javax.jmdns
Discovery
iPad PC
Music Not support iTunes
Youtube Not support iTunes
Remote
(port 50287)
DAAP(HTTP) iTunes
(port 3689)
Photo
(port 50295)
HTTP Air Stream Media Player
(port 7000)
iPad PC
Music
(port 58277)
RTSP XBMC
(port 6000)
Youtube
(port 50866)
RTSP
Only voice
XBMC
(port 6000)
Remote Not support XBMC
Photo
(port 50379)
HTTP XBMC
(port 36667)
Services
• JmDNS• Socket• RTSP
Network
• Framework– Android.net– Java.net– Javax.jmdns
• Libraries– Android Libraries– JmDNS
• Technology– Socket programming
Multimedia
• Framework– Android.media– Android.security– Android.util– Javax.jmdns
• Libraries– Android Libraries– JmDNS
Multimedia(2)
• Functionality– Audio streaming– Video streaming– Photo streaming– Remote Control (play / pause / last / next /
volume)• Technology
– Audio Decode / Encode– Video Decode / Encode– Mirror
Protocol
• mDNS• DNS• Socket• TCP/IP• UDP• RAOP• RTSP• DACP