0

私のプロジェクトでは、RTP 経由でビデオをストリーミングするために DSP を利用するための gstreamer と TI プラグインを使用して、gumstix overo を使用しようとしています。私はこれらの 2 つのチュートリアルを見つけ、それらをうまくフォローすることさえできました。

http://jumpnowtek.com/index.php?option=com_content&view=article&id=81:gumstix-dsp-gstreamer&catid=35:gumstix&Itemid=67

^^これで、gstreamer と GstTIPlugIn 要素を使用して、組み込みの Linux OS をコンパイルできます。その後、videotestsource をリモート PC に正常にストリーミングできます。

ただし、そのチュートリアルは caspa ビデオ カムを対象としています。このチュートリアルで使用されている Logitech Pro C920 を使用しています。

http://www.oz9aec.net/index.php/gstreamer/473-using-the-logitech-c920-webcam-with-gstreamer

^^これでは、H264 モードで C920 カメラを使用します。V4l2 ドライバーはこれをサポートしていないため、ac スクリプトを使用してカメラからフレームごとにキャプチャし、標準出力にストリーミングします。ここから、ファイル ソースからキャプチャするように Gstreamer に指示します。この場合は (/dev/fd/0) の標準です。ここでも、これを正常に完了して C920 カメラからストリーミングできますが、DSP を利用するために TIplugin を使用する必要はありません。

次に問題に進みます。

./キャプチャ -c 10000 -o | gst-launch -v -e filesrc location=/dev/fd/0 ! h264パース!rtph264ペイ!udpsink ホスト=192.168.1.100 ポート=4000

^^このコマンドはキャプチャ プログラムを実行し、gstreamer は h264parse パイプラインを使用してビデオを取得し、ストリーミングしてエンコードします (そうですか?)

h264parse を最初のチュートリアルの TIplugin に置き換えると、次のようになります。

./キャプチャ -c 10000 -o | gst-launch -v -e filesrc location=/proc/self/fd/0 ! TIVidenc1 codecName=h264enc engineName=codecServer ! rtph264ペイ!udpsink ホスト=192.168.1.100 ポート=4000

次のエラーが表示されます。

パイプラインを PAUSED に設定しています ... パイプラインは PREROLLING です ... エラー: エレメント /GstPipeline:pipeline0/GstTIVidenc1:tividenc10 から: ビデオ エンコーダーの作成に失敗しました: h264enc

追加のデバッグ情報: gsttividenc1.c(1584): gst_tividenc1_codec_start (): /GstPipeline:pipeline0/GstTIVidenc1:tividenc10 エラー: パイプラインはプリロールを望んでいません。パイプラインを NULL に設定しています ...

また、両方の要素を保持しようとしましたが、h264parse0をtividenc10にリンクできないというエラーが表示されました

GstTIPlugin の経験があり、私が間違っていることを知っている人はいますか? ありがとう

4

1 に答える 1

1

正確には、どのような問題を解決しようとしていますか? TI のエンコーディング要素を使用して H.264 をエンコードしようとしていますか? これをすべて正しく読んでいれば、「./capture」ユーティリティはすでに H.264 でフレームを受信して​​いるため、エンコードする必要はありません。

この黄金の例があると仮定します (これはうまくいきますよね?):

./capture -c 10000 -o | gst-launch -v -e filesrc location=/dev/fd/0 ! 
h264parse ! rtph264pay ! udpsink host=192.168.1.100 port=4000

「h264parse」は、RTP シンクのために H.264 ストリームを H.264 NAL ユニットに解析します。これが機能している場合、キャプチャ プログラムから H.264 データを取得しているため、h264parse 要素は問題ありません。

h264parse を TI H.264 エンコーダ要素に置き換えようとしている場合、それは混乱を招くだけです。繰り返しますが、あなたが解決しようとしている問題を正確に把握していないため、全体像を把握していない可能性があります。

まだ慣れていない場合は、「gst-inspect」コマンドを理解してください。例: 「gst-inspect h264parse」。これにより、要素が消費または生成できるデータの種類についての洞察が得られます。

于 2013-03-24T03:24:15.983 に答える