2013-02-28 1 views
12

Я хочу создать трансляцию в андроиде, в котором мое устройство Android будет работать как сервер (приемник) и устройство iPhone, будет работать в качестве приемника. Я использовал jmdns в своем приложении, которое является библиотекой с открытым исходным кодом в java для трансляции. Он отлично работает для аудио. Но когда я прихожу к видео и изображения, то есть много борьбы за меня, даже с открытием устройства .Здесь мой код Создание и регистрация службы:Реализация андроида в качестве сервера (приемника) в эфире

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); 

, когда я изменить это ._raop в первой строке к ._airplay тогда устройство было обнаружено для изображения и звука в iPad. Когда я выбираю устройство для воспроизведения видео, оно отображает сообщение «Это видео воспроизводит андроид (имя сервера)». Но на стороне сервера я не получаю никаких пакетов для обработки. Я изучаю Jmdns lot. Но я не понимаю, как реализовать видео и изображение в эфире, используя jmdns. Есть идеи ?

+0

JmDNS не делает ничего, кроме приветствия bonjour. в вашем приложении для Android-сервера вам необходимо внедрить сервер Http Live Streaming (для обслуживания фото и видео), используя другую существующую библиотеку или с нуля. – yorkw

+0

@yorkw: так есть ли существующая библиотека для достижения этого? –

+0

@ V-Xtreme Может, пожалуйста, помогите мне немного? –

ответ

3

Вам нужен потоковый сервер. FFmpeg мне кажется интересным местом для начала. См. Компонент ffserver.

Вот хороший учебник о том, как обернуть его в ffmpeg-java.

+0

Кроме того, я нашел это: http://stackoverflow.com/questions/1244861/live-video-streaming-using-java. На всякий случай FFmpeg как-то не работает для вас. – stpn108

Смежные вопросы