ストリーム 0: ビデオ、H264 avc1
ストリーム 1: オーディオ、AAC、mp4a の 2 つのストリームを持つ Xuggler ライブラリを使用して、Java で FLV ファイルをトランスコードしようとしています。
これでgetNumStreams()
、入力コンテナーの呼び出しは正しい 2 つのストリームを返します。
両方のストリームに/AUDIO CODEC_TYPE_UNKNOWN
ではなくタイプがあるため、問題が発生します。CODEC_TYPE_VIDEO
したがって、私のコードは次のとおり
stream.getStreamCoder().getCodecType().equals(ICodec.Type.CODEC_TYPE_AUDIO)
です。特定のストリームと実際に一致することはありません。
ストリームをストリーム 2 に手動で割り当てようとしましたが、正常に終了しましたがIStreamCoder
、 からコーデックを照会すると null になります。CodecID
同じのIStreamCoder
が正しいCODEC_ID_AAC
で、コーデックの種類はCODEC_TYPE_UNKNOWN
前述のとおりです。
私の質問は、これらのストリームが正しいオーディオ/ビデオではなく、不明としてマークされているのはなぜですか? このコードは、mp4 コンテナーなどの他のほとんどの形式で問題なく動作します。私の全体的な目標は、トランスコーディング用のオーディオ ストリームを抽出することです。
何かを作成するために必要なもののかなりの部分を切り取る必要があるため、この質問によりよく答えるためにサンプルコードセグメントが必要な場合はアドバイスしてください。
編集:VLCを使用して問題のFLVを変換しようとしたため、これはXugglerの問題ではないと思いますが、変換時にVLCがクラッシュしますが、既知の動作するmp4ファイルをmp3に変換しようとしましたが、うまくいきました