2

私は、RTP を使用してDataStreamから作成されたのブロードキャストを必要とするプロジェクトの非常に初期の段階にいMediaLocationます。具体的には、「 Can't open local data port: xxxxrptManager.initalize(localAddress)というエラーで現在失敗しているサンプルコードに従っています。

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

問題の原因について何か考えはありますか?

4

1 に答える 1

0

問題が現在解決されていない場合は、jmfではなくjlibrtpを調べてみてください。

于 2010-06-26T19:45:50.887 に答える