Я хочу открыть именованный канал с использованием Java и извлечь содержимое этого архива (rar/zip/etc ..) в именованный канал, а затем запустить Mplayer с расположением этого канала и воспроизвести фильм ,JAVA IPC для Windows
Я попытался открыть IPC в Java, используя этот проект CLIPC , но мой код замерзает в fifo.openWriter(); линия
FIFO fifo = new FIFO("jtpc_fifo");
fifo.create();
fifo.openWriter();
Я пытался, чтобы создать небольшой сокет сервера в Java, который ожидает соединения и отправить содержание видео файла в качестве исходных данных, , но я не знаю, как сказать MPlayer, чтобы получить исходные данные по сети.
Я хочу использовать трубку, потому что я думаю, что его лучшее решение никакого физического и большой файл не обрабатывать, его изменчивы и наиболее гибкий
Это то, что я пытаюсь сейчас, чтобы использовать сокеты но сокет сервера Java принять соединение только после того, как MPlayer не работает на тайм-аут
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();
}
Я принимаю это в виду, как я сказал, не знаю, может ли mplayer взять необработанные данные из сокета, ему нужен знакомый протокол для получения данных по сети. – shay
Извините, я упустил из виду, что вы уже рассматривали сокеты. Вы пробовали что-то вроде 'mplayer -demuxer rawvideo -rawvideo w = WIDTH: h = ВЫСОТА http: // localhost: port/file.raw'? –
это не работает для меня, я обновляю вопрос с тем, что я делаю сейчас – shay