Zum Inhalt springen

Gstreamer One Liners: Unterschied zwischen den Versionen

Amir (Diskussion | Beiträge)
KKeine Bearbeitungszusammenfassung
Vierlex (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 5: Zeile 5:
=== Capture & send synchronized video streams ===
=== Capture & send synchronized video streams ===
<pre>
<pre>
gst-launch-0.10 -v gstrtpbin name=rtpbin \
gst-launch-0.10 -v gstrtpbin name=rtpbin\
\ # Capture video0 \
\ # Capture video0\
v4l2src device=/dev/video0 ! \
v4l2src device=/dev/video0 !\
'image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)30/1' ! \
'image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)30/1' !\
\ # Session 0: Create \
\ # Session 0: Create\
rtpjpegpay ! rtpbin.send_rtp_sink_0 \
rtpjpegpay ! rtpbin.send_rtp_sink_0\
rtpbin.send_rtp_src_0 ! multiudpsink clients="127.0.0.1:9996" \
rtpbin.send_rtp_src_0 ! multiudpsink clients="127.0.0.1:9996"\
\ # Session 0: Send RTCP packets \
\ # Session 0: Send RTCP packets\
rtpbin.send_rtcp_src_0 ! multiudpsink clients="127.0.0.1:9997" sync=false async=false \
rtpbin.send_rtcp_src_0 ! multiudpsink clients="127.0.0.1:9997" sync=false async=false\
\ # Session 0: Receive RTCP packets \
\ # Session 0: Receive RTCP packets\
udpsrc port=10000 ! rtpbin.recv_rtcp_sink_0\
udpsrc port=10000 ! rtpbin.recv_rtcp_sink_0\
\ # Capture video1\
\ # Capture video1\
v4l2src device=/dev/video1 !\
v4l2src device=/dev/video1 !\
'image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)30/1' ! \
'image/jpeg, width=(int)640, height=(int)480, framerate=(fraction)30/1' !\
\ # Session 1: Create\
\ # Session 1: Create\
rtpjpegpay ! rtpbin.send_rtp_sink_1\
rtpjpegpay ! rtpbin.send_rtp_sink_1\
rtpbin.send_rtp_src_1 ! multiudpsink clients="127.0.0.1:9998" \
rtpbin.send_rtp_src_1 ! multiudpsink clients="127.0.0.1:9998"\
\ # Session 1: Receive RTCP packets\
\ # Session 1: Receive RTCP packets\
rtpbin.send_rtcp_src_1 ! multiudpsink clients="127.0.0.1:9999" sync=false async=false \
rtpbin.send_rtcp_src_1 ! multiudpsink clients="127.0.0.1:9999" sync=false async=false\
\ # Session 1: Send RTCP packets\
\ # Session 1: Send RTCP packets\
udpsrc port=10001 ! rtpbin.recv_rtcp_sink_1
udpsrc port=10001 ! rtpbin.recv_rtcp_sink_1
</pre>
<pre>
Thomas Steinbrenner
</pre>
</pre>


Zeile 90: Zeile 87:
=== Play dumped videos ===
=== Play dumped videos ===
<pre>
<pre>
gst-launch-0.10 -v \
gst-launch-0.10 -v\
\ # Open session0.mjpeg \
\ # Open session0.mjpeg\
filesrc location=session0.mjpeg ! \
filesrc location=session0.mjpeg !\
\ # Decode video & adjust framerate \
\ # Decode video & adjust framerate\
jpegdec ! videorate ! video/x-raw-yuv,framerate=15/1 ! \
jpegdec ! videorate ! video/x-raw-yuv,framerate=15/1 !\
\ # Play video \
\ # Play video\
xvimagesink \
xvimagesink\
\ # Open session1.mjpeg \
\ # Open session1.mjpeg\
filesrc location=session1.mjpeg ! \
filesrc location=session1.mjpeg !\
\ # Decode video & adjust framerate \
\ # Decode video & adjust framerate\
jpegdec ! videorate ! video/x-raw-yuv,framerate=15/1 ! \
jpegdec ! videorate ! video/x-raw-yuv,framerate=15/1 !\
\ # Play video \
\ # Play video\
xvimagesink
xvimagesink
</pre>
</pre>
Zeile 110: Zeile 107:


<pre>
<pre>
gst-launch-0.10 -v \
gst-launch-0.10 -v\
\ # V4l2: Open \
\ # V4l2: Open\
v4l2src device=/dev/video0 ! 'video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)480, framerate=(fraction)15/2' ! \
v4l2src device=/dev/video0 ! 'video/x-raw-yuv, format=(fourcc)YUY2, width=(int)640, height=(int)480, framerate=(fraction)15/2' !\
\ # v4l2: Apply alpha \
\ # v4l2: Apply alpha\
ffmpegcolorspace ! alpha method=custom target-r=0 target-g=255 target-b=0 angle=40 ! \
ffmpegcolorspace ! alpha method=custom target-r=0 target-g=255 target-b=0 angle=40 !\
\ # v4l2: mix \
\ # v4l2: mix\
videomixer name=mix ! \
videomixer name=mix !\
\ # Mixer: display \
\ # Mixer: display\
ffmpegcolorspace ! xvimagesink \
ffmpegcolorspace ! xvimagesink\
\ # Background: open \
\ # Background: open\
filesrc location=bg.avi ! decodebin ! \
filesrc location=bg.avi ! decodebin !\
\ # Background: mix \
\ # Background: mix\
ffmpegcolorspace ! mix.
ffmpegcolorspace ! mix.
</pre>
</pre>
Zeile 143: Zeile 140:
</pre>
</pre>
[[Kategorie:CLI]]
[[Kategorie:CLI]]
[[Kategorie:Howto]]