1

Xuggle を使用して mpeg-ts ストリームを作成しています。GPLバージョンのffmpegを使用していることに気付くまで、すべてがうまく機能していましたが、それはできませんでした。

そこで、ライブラリ全体を再コンパイルし、ffmpeg から --enable-nonfree フラグと --enable-gpl フラグを削除しました。

問題は、私のコードがエラーをスローすることです。

問題の行は次のとおりです。

image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
IVideoPicture outFrame = ConverterFactory.createConverter(image, IPixelFormat.Type.YUV420P).toPicture(image, timeStamp);

そして、私が得るエラーは

java.lang.UnsupportedOperationException: Converter class com.xuggle.xuggler.video.BgrConverter constructor failed with: java.lang.IllegalArgumentException: IVideoResampler not supported in this build
    at com.xuggle.xuggler.video.ConverterFactory.createConverter(ConverterFactory.java:347)

問題は、Xuggle の 3.3 バージョンで同じコードを使用していたことです。ハードウェア アクセラレーションがないという警告を ffmpeg がスローしていたにもかかわらず、すべて正常に動作していました。

これらのバージョン間で何か重要な変更がありましたか? そして、どうすればこれを克服できますか?アーカイブを検索しましたが、関連する問題は今のところ見つかりませんでした。

ありがとう!

4

1 に答える 1

2

問題は、Xuggle 3.x で FFmpeg にバンドルされているカラー スペース コンバーターが GPL モードでのみアクティブになることです。なぜFFmpegがそうするのか、私にはわかりません。しかし、これは、GPL バージョンの FFmpeg を使用できない場合、Xuggle でカラー スペース コンバーターを使用できないことを意味します (それが私たちが使用しているためです)。

于 2013-03-24T20:24:29.107 に答える