salve a tutti...
devo creare un server video streaming multiflusso su eclipse.. al momento sono riuscita a farlo, xò quando avvio il server, i film vengono mandati in streaming tutti assieme. vorrei realizzare un'interfaccia grafica in cui ad ogni bottone corrisponde un film e quando ci clicco sopra parte lo stream del film... questo è il codice ke ho fatto fino ad ora. adesso manca la parte grafica ma non so da dove iniziare perchè e la prima volta ke faccio qualcosa del genere... potreste darmi una mano???
codice:
package uk.co.caprica.vlcj.test.streaming;
import java.io.*;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import uk.co.caprica.vlcj.player.headless.HeadlessMediaPlayer;
import uk.co.caprica.vlcj.test.VlcjTest;
//The client specifies an MRL of <code>rtsp://@127.0.0.1:5555/demo</code>
// Il clientdeve specificare l'MRL es: rtsp://@127.0.0.1:555?/demo?
// ?--> indica il numero progressivo
public class StreamRtsp extends VlcjTest {
public static void main(String[] args) throws Exception {
File d = new File("/home/tiziana/Scrivania/Films"); //directory nella quale stanno i film disponibili
System.out.println("Verifico se la directory esiste: " + d.exists() );
String a[] = d.list(); //creo un array di stringhe e lo riempio con la lista dei files presenti nella directory
System.out.println("stampo la lista dei files contenuti nella directory:");
int j = 0;
int porta = 5549;
for (int i=0;i<a.length;i++)
{
j = j + 1;
++porta;
System.out.println(j + ". " + a[i] + "\n");
String media = "/home/tiziana/Scrivania/Films/" +a[i]; // percoso del film da visionare
String options = formatRtspStreamWithTranscode("127.0.0.1", porta, "demo"+i);
// passo : (indirizzo server, porta server, id)
System.out.println("Streming'"+ media + " to '" + options+ "'");
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(media);//crea un oggetto MediaPlayerFactory
HeadlessMediaPlayer mediaPlayer = mediaPlayerFactory.newHeadlessMediaPlayer();//restituisce il mediaplayer
mediaPlayer.playMedia(media, options); //mette in play
}
// Don't exit
Thread.currentThread().join();
}
private static String formatRtspStreamWithTranscode(String serverAddress, int serverPort, String id) {
//voglio ottenere questa stringa
// --> :sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/demo} :sout-keep
StringBuilder sb = new StringBuilder(300);
sb.append(":sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:");
sb.append("rtp{sdp=rtsp://");
sb.append(serverAddress);
sb.append(':');
sb.append(serverPort);
sb.append('/');
sb.append(id);
sb.append("}");
return sb.toString();
}
}