2016-06-16 2 views
1

こんにちは私は、raspberry piからリモートPCへのマルチメディアストリーミングにgstreamerを使用しています。今私は、PythonのコードをPC上でストリームを表示したいビューストリームに私は、このコマンドを使用しています私のPC上で私のラズベリーパイ既存のgstreamerビデオストリームをPythonと統合する方法

raspivid -t 0 -h 720 -w 1080 -fps 25 -hf -b 2000000 -o - | gst-launch- 1.0 -v fdsrc ! 
h264parse ! rtph264pay config-interval=1 pt=96 ! gdppay ! tcpserversink host=YOUR_RPI_IP_ADDRESS port=5000. 

gst-launch-1.0 -v tcpclientsrc host=YOUR_RPI_IP_ADDRESS port=5000 ! gdpdepay ! 
rtph264depay ! avdec_h264 ! videoconvert ! autovideosink 
sync=false 

をこれらpiplelinesを使用して イム。私はピグストを調べ始めましたが、これを達成する方法を理解できませんでした。誰かがこれを手伝ってください。

答えて

0

python3/Gst1。*/Gtk3 pygstは、基本的に非推奨です。 GObject introspection APIに移動する必要があります。 a lot of examplesthis oneです。私はPythonでの作業のGStreamerのパイプラインのを考え出すことができる

最も単純な例では、GST-打ち上げを行うだろうようにあなたが宣言パイプラインを指定するためにGst.parse_launchを使用することができます

import gi 

gi.require_version('Gst', '1.0') 
gi.require_version('Gtk', '3.0') 

from gi.repository import Gst, Gtk 

Gst.init(None) 


pipeline = Gst.parse_launch('playbin uri=file:///path/to/my/video.ext') 

pipeline.set_state(Gst.State.PLAYING) 

Gtk.main() 

です。パイプラインの作成/機能をさらに細かく制御する必要がある場合は、プログラムで作成する必要があります。この場合、詳細と例については、GStreamerのドキュメントを読んでください。

ビデオ出力をあるウィンドウ(通常はGTKのもの)に埋め込むことをお勧めします。this tutorial

関連する問題