* .movファイルを* .mp4ファイルにトランスコードしようとしています。 入力ファイルと出力ファイルの両方がInputStreamとOutputStream形式です。 これは、ffmpegにInputStreamとOutputStreamを-iと-yのparematersとして渡す必要があることを意味します。 どうすればいいですか?FileInputStreamとFileOutputStreamをffmpegに渡してトランスコードする(JAVE-Javaオーディオビデオエンコーディングを使用)
//Read a movfile.mov converted into a FileInputStream
InputStream fileInputStream = getFileInputStream();
OutputStream fileOutputStream = new FileOutputStrea(outputMP4File) //Output
Process p = Runtime.exec("ffmpeg -i - -y -");
InputStream pInStrm = p.getInputStream();
OutputStream pOutStrm = p.getOutputStream();
int vin = 0, vout = 0;
Thread read = new Thread() {
byte[] buff = new byte[4096];
void run() {
while ((vin=fileInputStream.read(buf))!=-1) {
pOutStrm.write(buf, 0, vin);
}
}
}; read.start();
Thread write = new Thread() {
byte[] buff = new byte[4096];
void run() {
while ((vout=pInStrm.read(buf))!=-1) {
fileOutputStream.write(buf, 0, vout);
}
}
}; write.start();
「IOException:パイプが閉じています」というエラーが発生します。誰かが私を助けてくれますか? は(WindowsおよびRedHatのLinuxの場合)、このトランスコーディングを行うことができます任意のJava APIがある代わりにあれば、それはそのように動作するつもりはない
おかげ