0

現在は mjpeg ストリームであるビデオ ストリームを受信しようとしています。プログラムをブロードキャスト プロトコルやビデオ ストリーム形式から独立させるために、playbin2 を使用しています。動作しますが、playbin がストリームに接続するのに多くの時間がかかります。私がテストしたとき、問題はデコーダーだと思います:

gst-launch-0.10 soupthhpsrc location=http://some_location timeout 5 ! jpegdec ! autoaudiosink

そしてそれはうまく動作します。接続には 1 秒ほどかかります。質問は次のとおりです。プレイビンのデフォルトのデコーダーとして jpegdec を設定する方法はありますか?

4

1 に答える 1

1

playbin2のデフォルトとしてmjpegデコーダーを指定することは不可能だと思います。playbin2は、動作するストリームの形式を自動的に検出する必要があるため、私には論理的に聞こえます。不明な形式の場合、playbin2はエラーを報告する必要があります(コード例を参照)。playbin2を使用して正しく検出できるように、mjpegストリームを適切に設定する必要があると思います。

ただし、自分が考えていることを理解するには、次のトリックを使用できます。

まず、さまざまな種類のストリームをデコードおよび再生できる一般的なplaybin2パイプラインを実行してみてください。それが機能する場合は、他に何もする必要はありません。それ以外の場合は、mjpegのみをデコードする代替パイプラインを実行する必要があります。

mjpegのみをデコードする代替パイプラインを作成するにはどうすればよいですか?playbin2を使用して作成を試みることができます(それが機能するかどうかはわかりません)。これを行うには、( gst_pad_set_capsを使用して)capsをシグナルハンドラーsource-setup内で「image/jpeg」として明示的に指定する必要があります。それ以外の場合は、たとえば、質問で指定した別のパイプラインを選択する必要があります。

于 2012-05-28T09:56:46.050 に答える