鱼儿慢慢游~~

导航

 

命令行调试日志:

 --gst-debug-level=X 或 --gst-debug=myelement:X(X的取值为[0,5])

Udpsrc

Sender:

./gst-launch-1.0 videotestsrc is-live=true ! video/x-raw,framerate=25/1 ! videoconvert ! x264enc ! h264parse ! rtph264pay pt=96 ! udpsink host=127.0.0.1 port=5000

Receiver:

/gst-launch-1.0 -v udpsrc port=5000 ! application/x-rtp,clock-rate=90000,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! glimagesink

采集摄像头:

./gst-launch-1.0 -v -m  autovideosrc ! videoconvert ! osxvideosink

采集麦克风 pcmu

./gst-launch-1.0  autoaudiosrc ! audioconvert ! audioresample !  mulawenc ! rtppcmupay !  udpsink host=127.0.0.1 port=8888

接收:

/gst-launch-1.0 -ve  udpsrc port=10002 !  application/x-rtp, clock-rate=8000, payload=0  ! rtppcmudepay ! mulawdec ! audio/x-raw, format=S16LE, layout=interleaved, rate=8000 ! audioconvert  ! audiomixer name=mix ! audioconvert ! audioresample ! autoaudiosink

 

生成mp4:

gst-launch-1.0 -v -e videotestsrc !  video/x-raw,width=1920,height=1080  ! openh264enc ! h264parse  ! mp4mux name=mux   ! filesink location="bla.mp4" audiotestsrc wave=4  ! opusenc   ! mux.

 

 

#opus

./gst-launch-1.0  autoaudiosrc ! audioconvert ! audioresample !  opusenc ! rtpopuspay pt=127 !  udpsink host=127.0.0.1 port=10001

 

混流demo

./gst-launch-1.0  intervideosrc !  video/x-raw,framerate=\(fraction\)10/1,width=3200,height=2400 ! videomixer name=mix sink_2::xpos=1000 sink_2::width=140 sink_2::height=140 sink_1:xpos=0 ! videoconvert ! glimagesink filesrc location=./ttt.mov ! decodebin ! video/x-raw,width=1280,height=720 ! mix.  videotestsrc ! video/x-raw,framerate=\(fraction\)10/1 ! mix.

 

 

./gst-launch-1.0 intervideosrc channel=aaaa !  video/x-raw,framerate=\(fraction\)10/1,width=320,height=240  !   videomixer name=mix background=2   sink_1::alpha=1 sink_1::xpos=400 sink_2::zorder=0 sink_3::zorder=1 ! video/x-raw, width=1280, height=720 ! clockoverlay ! videoconvert ! glimagesink  videotestsrc ! video/x-raw,format=AYUV,framerate=\(fraction\)5/1,width=1280,height=720 ! videobox left=-10 ! videoscale ! video/x-raw, width=320,height=180  ! mix. videotestsrc ! videobox border-alpha=1 bottom=-5 ! mix. filesrc location=./bule.jpg ! jpegdec ! videoscale ! video/x-raw,width=320,height=240 ! imagefreeze ! mix.

 

 

 

./gst-launch-1.0 intervideosrc !  video/x-raw,framerate=\(fraction\)10/1,width=320,height=240  !   videomixer name=mix sink_0::alpha=1 sink_1::alpha=1 sink_1::xpos=100 !  videoconvert ! glimagesink  videotestsrc ! video/x-raw,format=AYUV,framerate=\(fraction\)5/1,width=120,height=100 !  videocrop ! mix. videotestsrc ! mix.

 

两路mix

./gst-launch-1.0 intervideosrc !  video/x-raw,framerate=\(fraction\)10/1,width=320,height=240  !   videomixer name=mix sink_0::alpha=1 sink_1::alpha=1 sink_1::xpos=100 sink_2::ypos=100 !  videoconvert ! glimagesink  videotestsrc ! video/x-raw,format=AYUV,framerate=\(fraction\)5/1,width=120,height=100 !  videobox border-alpha=0 top=70 bottom=70 right=22 ! mix. videotestsrc ! video/x-raw, format=AYUV, width=100, height=100 ! mix.

 

 

 

/gst-launch-1.0  intervideosrc !  video/x-raw,framerate=\(fraction\)10/1,width=3200,height=2400 ! videomixer name=mix sink_1::xpos=200 sink_2:xpos=0 ! videoconvert ! glimagesink filesrc location=./ttt.mov ! decodebin ! video/x-raw,width=1280,height=720 ! videocrop left=100 top=200 ! mix.  videotestsrc ! video/x-raw,framerate=\(fraction\)10/1 ! mix.

 

 

/gst-launch-1.0  intervideosrc !  video/x-raw,framerate=\(fraction\)10/1,width=3200,height=2400 ! videomixer name=mix sink_1::xpos=200 sink_2::xpos=1000 sink_2::width=100 sink_2::height=100 ! videoconvert ! glimagesink filesrc location=./ttt.mov ! decodebin ! video/x-raw,width=1280,height=720 ! mix.  videotestsrc ! video/x-raw,framerate=\(fraction\)10/1 ! mix.

 

//混流+缩放

./gst-launch-1.0  intervideosrc !  video/x-raw,framerate=\(fraction\)10/1,width=3200,height=2400 ! videomixer name=mix sink_1::xpos=0 sink_2::xpos=1000 sink_2::width=100 sink_2::height=100 ! videoconvert ! glimagesink filesrc location=./ttt.mov ! decodebin ! video/x-raw,width=1280,height=720 ! videoscale ! video/x-raw,width=100  ! mix.  videotestsrc ! video/x-raw ! mix.

 

 

udpsink

./gst-launch-1.0   videotestsrc is-live=true ! video/x-raw,framerate=25/1 ! videoconvert ! x264enc ! h264parse ! rtph264pay pt=96  ! udpsink host=127.0.0.1 port=8888    audiotestsrc is-live=1 !  mulawenc ! rtppcmupay !   application/x-rtp, media=audio, payload=0, rate=8000  !  udpsink host=127.0.0.1 port=8888  

 

gst-launch-1.0 -v udpsrc port=5000 ! application/x-rtp,clock-rate=90000,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! osxvideosink

 

./gst-launch-1.0 udpsrc port=8888 !  "application/x-rtp, media=video, clock-rate=90000, encoding-name=H264"  ! rtph264depay ! avdec_h264 ! videoconvert ! glimagesink

 

./gst-launch-1.0 -e -v  udpsrc port=10001 !  "application/x-rtp, media=video, clock-rate=90000, encoding-name=H264"  ! rtph264depay ! h264parse ! "video/x-h264, stream-format=byte-stream" ! filesink location=./aa.h264

 

 

gst-launch-1.0 rtpmux name=mux ! udpsink host=127.0.0.1 port=8888        \

            audiotestsrc ! alawenc ! rtppcmapay !                        \

             application/x-rtp, payload=8, rate=8000 ! mux.sink_0    \

             audiotestsrc is-live=1 !                                \

             mulawenc ! rtppcmupay !                                 \

             application/x-rtp, payload=0, rate=8000 ! mux.sink_1

 

发送视频:

./gst-launch-1.0   videotestsrc is-live=true ! video/x-raw,framerate=25/1 ! videoconvert ! x264enc ! h264parse ! rtph264pay pt=96  ! udpsink host=127.0.0.1 port=8888

发送音频:

./gst-launch-1.0  audiotestsrc is-live=1 !  mulawenc ! rtppcmupay !  udpsink host=127.0.0.1 port=8888

 

播放并存储为h264

gst-launch-1.0 -e -v  udpsrc port=10001 !  "application/x-rtp, media=video, clock-rate=90000, encoding-name=H264"  ! rtph264depay ! tee name=t  t. ! queue ! h264parse ! "video/x-h264, stream-format=byte-stream" ! filesink location=./aa.h264 t. !  queue ! avdec_h264 ! glimagesink

 

播放h264

./gst-launch-1.0 filesrc location=/Users/aa/Desktop/ttt.h264 ! h264parse ! openh264dec ! glimagesink

 

存储每帧图片:

 ./gst-launch-1.0 videotestsrc ! videoconvert ! video/x-raw,framerate=30/1 ! queue ! pngenc ! multifilesink location="frame%d.png"

 

posted on 2019-05-24 14:59  miss_UU  阅读(1630)  评论(0编辑  收藏  举报