Java Xugler正在读取某些FLV文件

Java Xugler正在读取某些FLV文件,java,audio,flv,aac,xuggler,Java,Audio,Flv,Aac,Xuggler,我正在尝试使用Xugler库在Java中转换FLV文件,它有两个流: 流0:视频,H264 avc1 流1:音频、AAC、mp4a 现在,输入容器上的getNumStreams()调用返回2个正确的流。 出现我的问题是因为这两个流的类型都是CODEC\u type\u UNKNOWN,而不是CODEC\u type\u VIDEO/AUDIO 因此我在这里的代码是: stream.getStreamCoder().getCodecType().equals(ICodec.Type.CODEC\u

我正在尝试使用Xugler库在Java中转换FLV文件,它有两个流:
流0:视频,H264 avc1
流1:音频、AAC、mp4a

现在,输入容器上的
getNumStreams()
调用返回2个正确的流。
出现我的问题是因为这两个流的类型都是
CODEC\u type\u UNKNOWN
,而不是
CODEC\u type\u VIDEO
/AUDIO

因此我在这里的代码是:
stream.getStreamCoder().getCodecType().equals(ICodec.Type.CODEC\u Type\u AUDIO)

从不实际匹配特定流

我试图手动将一个流分配给流2,该流可以正常运行,但是当我从
IStreamCoder
查询编解码器时,它是空的。同一
IStreamCoder
编解码器ID
是正确的
编解码器ID\u AAC
,编解码器类型是
编解码器类型\u未知

现在我的问题是,为什么这些流被标记为未知而不是正确的音频/视频?这段代码完美地适用于大多数其他格式,如mp4容器。我的总体目标是提取用于转码的音频流

如果您需要一个示例代码段来更好地回答这个问题,请给出建议,因为我必须剪掉一些我必须制作的东西。

编辑:我认为这不是Xugler的问题,因为我曾尝试使用VLC转换有问题的FLV,VLC在转换时崩溃,而我尝试将一个已知的工作mp4文件转换为mp3,结果很好

找到了答案:
我使用以下方法打开文件,因为它会阻塞所有其他文件(mp4等)并使程序崩溃

if(input.open(file.getName(),IContainer.Type.READ,null,false,false)<0)

虽然这适用于所有其他文件,但它不会在整个文件中搜索FLV流信息。
我将其修改为:

if(input.open(file.getName(),IContainer.Type.READ,null)<0)

现在它可以正常工作了。从现在起,应该只是处理flv文件的一个简单条件