我正在使用xuggler将视频转码为不同的格式。如果我直接从文件打开IContainer,它可以完美地工作,但是这次我想使用InputStream打开IContainer。奇怪的是,我尝试使用FileInputStream打开mp4格式的视频,可以使用此FileInputStream打开IContainer,但我无法在此流中读取Ipacket。有人能给我一些建议吗?我错过了什么吗?我真的需要让我的xuggler处理流。
public static void main(String[] args) throws IOException {
//the file input stream
FileInputStream fi = new FileInputStream("test.mp4");
//icontainer format
IContainerFormat format = IContainerFormat.make();
format.setInputFormat("mp4");
IContainer container = IContainer.make();
//open container via FileInputStream
int data = container.open(fi, format);
IPacket packet = IPacket.make();
//read packet
int info = container.readNextPacket(packet);
System.out.println(data);
System.out.println(info);
}
结果
data: 0
info: -1094995529
根据IError的提示,在我尝试读取数据包时发生了未知错误。我正在使用xuggler 5.4版本。