Вопрос

Я на самых ранних этапах проекта, требующего вещания, используя RTP, DataStream создан из А. MediaLocation. Отказ Я следую в следующем примере кода, который в настоящее время не сдается rptManager.initalize(localAddress) с ошибкой "Не могу открыть локальный порт данных: XXXX", конкретно:

Exception in thread "main" javax.media.rtp.InvalidSessionAddressException: Can't open local data port: 34586
at com.sun.media.rtp.RTPSessionMgr.initialize(RTPSessionMgr.java:2688)
at com.sun.media.rtp.RTPSessionMgr.initialize(RTPSessionMgr.java:2515)
at RTPBroadcast.main(RTPBroadcast.java:20)

Я разрабатываю в Lucid, и мой брандмауэр полностью отключен. Я немного тупик, чтобы быть честным. Мой код выглядит следующим образом:

// http://jcs.mobile-utopia.com/jcs/26201_RTPManager.java
public class RTPBroadcast { 
    public static void main (String[] args) throws InvalidSessionAddressException, IOException, UnsupportedFormatException {

        RTPManager rtpManager = RTPManager.newInstance();
        SessionAddress localAddress = new SessionAddress();

        rtpManager.initialize(localAddress);

        InetAddress ipAddress = InetAddress.getByName("192.168.1.5");

        SessionAddress remoteAddress = new SessionAddress(ipAddress, 3000);

        rtpManager.addTarget(remoteAddress);

        DataSource dataOutput = new ScreenSource();

        SendStream sendStream = rtpManager.createSendStream( dataOutput, 1);
        sendStream.start();
    }
}

Любые идеи о том, что могут вызвать проблему?

Это было полезно?

Решение

Если ваша проблема в настоящее время не решена, попробуйте посмотреть на jlibrtp. вместо JMF.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top