Gstreamer One Liners: Unterschied zwischen den Versionen
Amir (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
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> | ||
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]] |