나는 두 개의 스트림이있는의 Xuggler 라이브러리를 사용하여 자바에서 FLV 파일을 변환하기 위해 노력하고있어 :
스트림 0 : H264은
스트림을 avc1, 비디오를 1 : 오디오, AAC, mp4aXuggler 읽기 특정 FLV 파일
이제 입력 컨테이너에서 getNumStreams()
호출이 올바른 2 스트림을 반환합니다.
두 스트림 모두 CODEC_TYPE_VIDEO
/AUDIO가 아닌 CODEC_TYPE_UNKNOWN
유형을 가지고 있기 때문에 문제가 나타납니다.
따라서 여기에 내 코드 :
stream.getStreamCoder().getCodecType().equals(ICodec.Type.CODEC_TYPE_AUDIO)
결코 실제로 특정 스트림과 일치하지 않습니다.
IStreamCoder
에서 코덱을 쿼리 할 때 스트림 2에 스트림을 수동으로 할당하려고 시도했지만 null입니다. 동일한 IStreamCoder
의 CodecID
은 올바른 CODEC_ID_AAC
이며 위에 언급 한 것처럼 코덱 유형은 CODEC_TYPE_UNKNOWN
입니다.
내 질문은 왜 이러한 스트림이 올바른 오디오/비디오가 아닌 알 수 없음으로 표시 되었습니까? 이 코드 조각은 mp4 컨테이너와 같은 대부분의 다른 형식에서도 완벽하게 작동합니다. 내 전반적인 목표는 트랜스 코딩을위한 오디오 스트림 추출입니다.
이 질문에 더 잘 대답하기 위해 예제 코드 세그먼트가 필요한지, 내가 뭔가를 생산해야하는 것을 꽤 많이 잘라 내야한다고 조언 해주십시오.
편집 : VLC와 VLC를 사용하여 문제의 FLV를 변환하려고 했으므로 이것이 Xugler 문제가 아니라고 생각합니다. 변환 작업시 알려진 작동중인 mp4 파일을 시도해 보았지만 정상적으로 진행되었습니다