4

GStreamerテストアプリケーションを試していますが、実行時に次の行が失敗します。

demuxer = gst_element_factory_make ("oggdemux", "ogg-demuxer"); // returns NULL

私はMacOSXを使用しており、MacPortsを介してGStreamer、libogg、およびvorbis-toolsをインストールしています。だから私はそれが失敗する理由がわかりません。

それを機能させる方法について何か提案はありますか?

編集:解決しました!

問題は、gst-plugins-goodパッケージからautodetectプラグインをインストールする必要があることでした。

これを機能させたアクションのリストは次のとおりです。

MacPortsインストールを削除します。

sudo port uninstall gstreamer

〜/.profileに次の行を追加します

export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

gstreamer、gstreamer-plugins-base、gstreamer-plugins-良いソースをダウンロードしてください。

gstreamerをビルドしてインストールします(./configure、make、make install)

gstreamer-plugins-baseをビルドしてインストールします(./configure、make、make install)

そして、gstreamer-plugins-goodの場合、autodetectパッケージのみをビルドしました。これは、すべてをビルドすると、現在必要のない、または気にしない一部のプラグインでエラーが発生したためです。私はこのようにしました:

./configure
cd gst/autodetect/
make
sudo make install

現在、プログラムはビルドされて実行されます。ただし、オーディオ出力が得られないようです:(しかし、それは別の問題です。

4

2 に答える 2

3

gstelementfactory.c(GStreamer バージョン 0.10.25) 463 行目 (関数定義) を読むと、リターンgst_element_factory_makeを引き起こす 3 つのエラーがあります。NULL

  1. 最初の引数 ('factoryname') はNULL(コードでは明らかに問題ありません)
  2. 指定された要素ファクトリが見つかりませんでした (関数gst_element_factory_findが返されましたNULL)
  3. 要素インスタンスを作成できませんでした (関数gst_element_Factory_createが返しましたNULL)

コードは大量のログを実行するため、これをオンにできる場合は、根本的な問題についてさらにヒントが得られる可能性があります。

oggdemux プラグインが正しく構成されていることを確認するには、次のコマンドを実行してみてください。

gst-inspect oggdemux

これで結果が返されない場合は、 を使用gst-registerして登録してみてください。

于 2009-11-11T12:27:18.073 に答える
2

ubuntu システムを使用している場合は、次のようにします。

sudo apt-get install gstreamer1.0-*

これで問題は解決します。

于 2013-04-09T15:19:46.527 に答える