<div dir="ltr"><div><div>Regarding language: you can give a try to Vala (<a href="http://live.gnome.org/Vala">http://live.gnome.org/Vala</a>). It has Java-like syntax, but internally compiles down to C, producing fast native code, which may make sense in environments such as rpi. It has very good support for GStreamer and other libraries from GLib family.<br><br></div>In terms of your issue:<br><br>1) rtsp server: in order to pass data to the RTSP server, you have to end pipeline with RTP payloader, e.g. rtpopuspay with name payN where N is 0..n. Your current playbin call won't fit into this requirement.<br><br>2) receiver: try to play it with playbin or even gst-play-1.0 command first. Regardless of that, I think your pipeline lacks further elements after rtspsrc.<br><br></div>m.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-03-20 18:26 GMT+01:00 Vassiliev <span dir="ltr"><<a href="mailto:Valera.Vassiliev@gmail.com" target="_blank">Valera.Vassiliev@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I want to stream video from my RPi's camera to my PC via Internet (Not local<br>
network). I found that I can use RTSP server for that reason.<br>
Firstly I tried to stream RPi cam's video on the localhost via TCP, than<br>
server receives it and sharing (Or it just I thought that it will work like<br>
this) combining founded info. But nothing happend and I decided to sort out<br>
with server first.<br>
<br>
The other problem is that my knowledge of C is pretty poor and I use Python,<br>
while 9 of 10 examples are on C. So, here is the code that should stream<br>
sample_video.mp4. Later I am going to change that line for rpicamsrc plugin.<br>
<br>
#!/usr/bin/env python<br>
import gi<br>
gi.require_version('Gst', '1.0')<br>
gi.require_version('GstRtspServer', '1.0')<br>
from gi.repository import Gst, GObject, GstRtspServer<br>
<br>
GObject.threads_init()<br>
Gst.init(None)<br>
<br>
class RTSP_Server:<br>
    def __init__(self):<br>
        self.server = GstRtspServer.RTSPServer.new()<br>
        self.address = '192.168.1.13' #my RPi's local IP<br>
        self.port = '8554'<br>
        self.launch_description = '( playbin<br>
uri=file:///home/pi/sample_video.mp4 )'<br>
<br>
        self.server.set_address(self.address)<br>
        self.server.set_service(self.port)<br>
        self.factory = GstRtspServer.RTSPMediaFactory()<br>
        self.factory.set_launch(self.launch_description)<br>
        self.factory.set_shared(True)<br>
        self.mount_points = self.server.get_mount_points()<br>
        self.mount_points.add_factory('/video', self.factory)<br>
<br>
        self.server.attach(None)<br>
        print('Stream ready')<br>
        GObject.MainLoop().run()<br>
<br>
<br>
server = RTSP_Server()<br>
<br>
Then on PC I launch this gst-launch-1.0 -v rtspsrc<br>
location=rtsp://<a href="http://192.168.1.13:8554/video" rel="noreferrer" target="_blank">192.168.1.13:8554/video</a> (Likely it is not full but I dont<br>
know what to write else). And get this:<br>
<br>
C:\gstreamer\1.0\x86_64\bin>gst-launch-1.0 -v rtspsrc<br>
location=rtsp://<a href="http://192.168.1." rel="noreferrer" target="_blank">192.168.1.</a><br>
13:8554/video<br>
Setting pipeline to PAUSED ...<br>
Pipeline is live and does not need PREROLL ...<br>
Progress: (open) Opening Stream<br>
Progress: (connect) Connecting to rtsp://<a href="http://192.168.1.13:8554/video" rel="noreferrer" target="_blank">192.168.1.13:8554/video</a><br>
Progress: (open) Retrieving server options<br>
Progress: (open) Retrieving media info<br>
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not<br>
get/se<br>
t settings from/on resource.<br>
Additional debug info:<br>
gstrtspsrc.c(6845): gst_rtspsrc_setup_streams ():<br>
/GstPipeline:pipeline0/GstRTSP<br>
Src:rtspsrc0:<br>
SDP contains no streams<br>
ERROR: pipeline doesn't want to preroll.<br>
Setting pipeline to PAUSED ...<br>
Setting pipeline to READY ...<br>
Setting pipeline to NULL ...<br>
Freeing pipeline ...<br>
<br>
<br>
So, guys, what should I do?<br>
Thnx in advance,<br>
Valeriy<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/GstRtspServer-RTSPServer-on-Raspberry-Pi-Python-tp4676461.html" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/GstRtspServer-RTSPServer-on-Raspberry-Pi-Python-tp4676461.html</a><br>
Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br></div>