Implementación de android como un servidor (receptor) en airplay
Quiero crear el airplay en Android en el que mi dispositivo Android funcionará como un servidor de radio (receptor) y el dispositivo iPhone funcionará como un receptor. He utilizado jmdns en mi aplicación que es la biblioteca de código abierto en java para el airplay. Está funcionando bien para el audio. Pero cuando llego al video ya la imagen hay mucha lucha por mí incluso con el descubrimiento del dispositivo. Aquí está mi código para crear y registrar el servicio:
ServiceInfo info = ServiceInfo.create(identifier + "@" + name + "._raop._tcp.local", identifier + "@" + name, port, "tp=UDP sm=false sv=false ek=1 et=0,1 cn=0,1 ch=2 ss=16 sr=44100 pw=false vn=3 txtvers=1"); dns = JmmDNS.Factory.getInstance(); ((JmmDNSImpl)dns).inetAddressAdded(new NetworkTopologyEventImpl(JmDNS.create(InetAddress.getByName("localhost")), InetAddress.getByName("localhost"))); try { Thread.sleep(1000); // If this isn't done the Announcement sometimes doesn't go out on the local interface } catch (InterruptedException e) { e.printStackTrace(System.err); } dns.registerService(info);
Cuando cambio eso ._raop en la primera línea al .airplay entonces el dispositivo se ha descubierto para la imagen y el audio en el iPad. Cuando selecciono el dispositivo para reproducir el video, aparece el mensaje " Este video está jugando android (nombre del servidor) ". Pero en el lado del servidor no estoy recibiendo paquetes para procesar. Estoy estudiando mucho Jmdns. Pero no estoy consiguiendo cómo implementar el video y la imagen en el airplay usando jmdns. Algunas ideas ?
- JmDNS no funciona correctamente en android 4.1
- Cómo resolver un nombre de dominio Bonjour con JmDNS
- Jmdns registra en la interfaz IPv4, pero transmite IPv6
- JmDNS: No se puede resolver el servicio
- Implementación de Bonjour en Android
- Xamarin.Android JmDNS vinculante cuestiones
- Realizando operaciones de larga duración en onDestroy
- ¿Es Android NSD (Network Service Discovery) compatible con el servicio Bonjour en iOS?
- Android - jmdns no descubre los dispositivos
- Descubrimiento del dispositivo de red
- La compilación de Android con jmDNS falla
Necesita un servidor de streaming. FFmpeg me parece un lugar interesante para empezar. Consulte el componente ffserver .
Aquí hay un buen tutorial sobre cómo envolverlo en ffmpeg-java .