2017-01-19 5 views
-1

Я создал ссылку rtp с ffmpeg, и я попытался слушать и играть в этот поток. VLC и ffmpeg могут воспроизводить поток rtp, оба работают хорошо, но jmf этого не делает.Почему jmf не может воспроизводить поток rtp?

Несмотря на отсутствие каких-либо ошибок, jmf не воспроизводит поток rtp и звука нет.

Мой РТП поток (Http: .. это радио связь и РТП: ... мой поток)

FFmpeg -i http://airspectrum.cdnstream1.com:8114/1648_128 -acodec копия -f РТП «РТП: //127.0.0.1: 10000/аудио/1"

public void play() { 
    MediaLocator mediaLocator = new MediaLocator("rtp://127.0.0.1:10000/audio/1"); 
    try { 
     if (mediaLocator == null) { 
      System.err.println("null locator"); 
     } 
     player = Manager.createRealizedPlayer(mediaLocator); 
     player.start(); 
    } catch (CannotRealizeException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } catch (NoPlayerException e) { 
     e.printStackTrace(); 
    } 

} 
  1. ОС Ubuntu 16,08
  2. Java JDK 1.8
  3. javax.media.j mf 2.1.1e (версия maven repo)
+0

В одном из этих форматов? -> http://www.oracle.com/technetwork/java/javase/formats-138492.html#RTPFormats – Fildor

+0

Я изменил ffmpeg-кодек на mp2 (Audio: MPEG Layer I, II), который поддерживается jmf, но до сих пор нет голоса , это было для серверной части (произвести поток rtp). и на стороне клиента я нашел >> Формат input1 = новый AudioFormat (AudioFormat.MPEG_RTP); Формат вывода = новый AudioFormat (ContentDescriptor.RAW_RTP); PlugInManager.addPlugIn ("com.sun.media.codec.audio.mp3.JavaDecoder", новый формат [] {} вход1, новый формат [] {выход}, PlugInManager.CODEC ); но никаких изменений. –

+0

com.sun.media.codec.audio.mp3.Java ** D e ** coder для вывода? Идк, но так ли? – Fildor

ответ

0

откройте файл hosts (nano/etc/hosts) и добавьте свое имя пользователя и пользователя (192.168.X.XXX). я не знаю точной причины, но это сработало!

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