2011-10-27 48 views
0

gstreamerについて質問があります。 私はgst-rtsp-serverを使ってストリーミングサーバを作った。私は(ローカルネットワーク上の)別のマシンにカメラキャプチャを送信し、それを.ogvファイルに解析しようとしています。gst-rtsp-serverでストリームを受信

ストリーミングの送信はうまく動作し、情報をファイルに解析することができます。私はそれを読むことができないか、この解析後にどのアプリケーションでも使用することはできません。 (C++コード内)(おそらく符号化技術との関係で、私は本当にそれについて多くを知らない)

サーバー側のコマンドが不足していくつかの情報があるようです:

.... 
gst_rtsp_media_factory_set_launch (factory, "(v4l2src device=/dev/video0 ! videorate !   
video/x-raw-yuv,width=320,height=240,framerate=30/1 ! videoscale ! ffmpegcolorspace ! 
theoraenc ! rtptheorapay name=pay0 pt=96)"); 

gst_rtsp_media_factory_set_shared (factory, TRUE); 

/* attach the test factory to the /test url */ 
gst_rtsp_media_mapping_add_factory (mapping, "/stream", factory); 
.... 

クライアント側コマンド(端末コマンド):

gst-launch -v rtspsrc location=rtsp://192.168.0.115:8554/stream ! 
rtptheoradepay name=pay0 ! oggmux ! filesink location=/home/jean/Desktop/stream.ogv 

何か助けがありがとうございました!

ジャン

+0

誰も考えがありますか? – Athanase

+0

これが最新の場合は、RTSPクライアントアプリケーションが表示しているエラーに関する情報を追加できます。 – che

答えて

0

次のように私はそれをデコードしに書き込む前にvideorateでそれをバックエンコード

gst-launch -v rtspsrc location="rtsp://localhost:8554/test" ! application/x-rtp, payload=96 ! rtptheoradepay ! theoradec ! videorate ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=GIBBERISH.ogg

それをデコードするためにそれをgst-launch -v rtspsrc location="rtsp://localhost:8554/test" name=demux demux. ! queue ! rtptheoradepay ! theoradec ! ffmpegcolorspace ! autovideosink

を表示するためにパイプラインをデコードすることができファイル。同じことを行う最適な方法があるかもしれませんが、単なる回避策です。

関連する問題