2010-05-12 16 views
2

Je suis au tout début d'un projet nécessitant la diffusion, en utilisant RTP, d'un DataStream créé à partir d'un MediaLocation. Je suis quelques exemples de code qui failingin actuellement sur le rptManager.initalize(localAddress) avec l'erreur « Impossible d'ouvrir le port de données locales: xxxx », plus précisément:Problèmes de création d'un flux RTP avec JMF

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) 

Je développe sur Lucid et mon pare-feu est complètement désactivée. Je suis un peu perplexe pour être honnête. Mon code est le suivant:

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

Des idées sur ce qui pourrait causer le problème?

Répondre

0

Si votre problème n'est actuellement pas résolu, essayez de regarder jlibrtp au lieu de jmf.