bonjour,
j'essaye de lire un flux "streaming" d'un camera ip grâce au protocole RTSP avec JMF.
je rencontre cependant des soucis :
voici le code :
voici les erreurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public static void main(String[] args) { // TODO code application logic here Player player = null; String mediaFile ="rtsp://[]:554/live.sdp"; try { MediaLocator mrl = new MediaLocator(mediaFile); //URL url = new URL(mediaFile); // DataSource ds = Manager.createDataSource(mrl); player = Manager.createPlayer(mrl); //player = Manager.createPlayer(mrl); // player.realize(); // player.prefetch(); JFrame jf = new JFrame(); jf.add(player.getControlPanelComponent()); jf.add(player.getVisualComponent()); jf.setVisible(true); jf.pack(); //player.start(); } catch (Exception e) { System.err.println("Got exception "+e.getMessage()); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 javax.media.NotRealizedError: Cannot get control panel component on an unrealized player at com.sun.media.BasicPlayer.getControlPanelComponent(BasicPlayer.java:509) at[] Exception in thread "main" javax.media.NotRealizedError: Cannot get control panel component on an unrealized player at com.sun.media.BasicPlayer.getControlPanelComponent(BasicPlayer.java:509) at []
en changeant quelque peu le code :
j'ai un nouveau message d'erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 String mediaFile ="rtsp://[monip]:554/live.sdp"; try { MediaLocator mrl = new MediaLocator(mediaFile); //URL url = new URL(mediaFile); // DataSource ds = Manager.createDataSource(mrl); if(mrl != null) { try { player = Manager.createPlayer(mrl); } catch(NoPlayerException e) { System.out.println(e.getStackTrace()); player = null; } catch (MalformedByteSequenceException e) { System.out.println(e.getStackTrace()); player = null; } player.realize(); //player = Manager.createPlayer(mrl); // player.realize(); // player.prefetch(); JFrame jf = new JFrame(); //jf.add(player.getControlPanelComponent()); //jf.add(player.getVisualComponent()); jf.setVisible(true); jf.pack(); //player.start(); } else { System.out.println("MRL can't build because mrl is empty"); } } catch (Exception e) { System.err.println("Got exception "+e.getMessage()); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Exception in thread "JMF thread: com.sun.media.content.rtsp.Handler@181497d[ com.sun.media.content.rtsp.Handler@181497d ] ( realizeThread)" java.lang.ArrayIndexOutOfBoundsException: 0 at com.sun.media.content.rtsp.RtspUtil.rtspStart(RtspUtil.java:310) at com.sun.media.content.rtsp.Handler.initRtspSession(Handler.java:166) at com.sun.media.content.rtsp.Handler.doRealize(Handler.java:84) at com.sun.media.RealizeWorkThread.process(BasicController.java:1400) at com.sun.media.StateTransitionWorkThread.run(BasicController.java:1339)
Partager