Je veux ouvrir un tube nommé en utilisant Java et extraire le contenu de cette archive (rar/zip/etc ..) dans un tube nommé, puis lancer Mplayer avec l'emplacement de ce tube et lire le film .JAVA IPC sur Windows
J'ai essayé d'ouvrir IPC en Java en utilisant ce projet CLIPC mais, mon code est en train de geler dans fifo.openWriter(); ligne
FIFO fifo = new FIFO("jtpc_fifo");
fifo.create();
fifo.openWriter();
j'ai essayé, de créer un petit serveur Socket en java qui attend une connexion et envoyer le contenu du fichier vidéo en tant que données brutes, mais je ne sais pas comment dire mplayer pour obtenir des données brutes sur le réseau.
Je veux utiliser une pipe, parce que je pense que la meilleure solution aucun fichier physique et pour être manipulés, son volatile et la plus souple
C'est ce que je suis en train maintenant, d'utiliser des prises mais la socket serveur java accepte la connexion seulement après mplayer échoue sur délai
mplayer http://localhost:5555/file.raw
try{
String file = "D:\\tmp\\lie.to.me.201.the.core.of.it-sitv.mkv";
ServerSocket socket = new ServerSocket(5555);
System.out.println("UnrarTest.main() START");
Socket s = socket.accept();
System.out.println("UnrarTest.main() ACCEPT");
final InputStream sin = s.getInputStream();
new Thread(){
public void run(){
try{
while(true){
if(sin.available() > 0){
int read = sin.read();
System.out.println((char)read);
}
}
}catch(Exception ee){
ee.printStackTrace();
}
}
}.start();
final OutputStream sout = s.getOutputStream();
final FileInputStream fin = new FileInputStream(file);
new Thread(){
public void run(){
try{
while(fin.available() > 0){
int in = fin.read();
System.err.println(in);
sout.write(in);
}
}catch(Exception ee){
ee.printStackTrace();
}
}
}.start();
}catch(Exception e){
e.printStackTrace();
}
Je prends cela à l'esprit, je ne sais pas si mplayer peut prendre des données brutes d'une socket, il a besoin d'un protocole familier pour obtenir des données sur le réseau – shay
Désolé, j'ai oublié que vous avez déjà considéré les sockets. Avez-vous essayé quelque chose comme 'mplayer -demuxer rawvideo -rawvideo w = LARGEUR: h = HAUTEUR http: // localhost: port/fichier.raw'? –
cela ne fonctionne pas pour moi, je mets à jour la question avec ce que je fais maintenant – shay