日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Gstreamer中一些gst-launch常用命令

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gstreamer中一些gst-launch常用命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Gstreamer中一些gst-launch常用命令

Linux系統中使用gstreamer架構做對媒體開發時,gst-inspectgst-launch是兩個非常使用的小工具,gst-inspect?在開發時用于查詢庫各個插件element的詳細信息,后者用于在終端快速構建一條pipeline用于播放多媒體。下面列出我在以前的學習和項目開發時常用的gst-launch播放各種多媒體文件的實例:

一、gstreamer實現視頻顯示

gst-launch videotestsrc ! xvimagesink

二、gstreamer實現攝像頭采集:

1、可以現實圖像,但圖像卡住不動

gst-launch v4l2src ! xvimagesink

2、攝像頭視頻顯示正常

gst-launch v4l2src !video/x-raw-yuv,format=fourccYUY2,width=640,height=480,framerate=15/1 !videorate ! videoscale ! ffmpegcolorspace ! xvimagesink

gst-launch v4l2src ! video/x-raw-yuv,width=640,height=480,framerate=15/1 !queue2 ! videorate ! videoscale ! ffmpegcolorspace ! xvimagesink

三、攝像頭視頻現實及保存為avi格式文件

gst-launch -e v4l2src !video/x-raw-yuv,format=fourccYUY2,width=640,height=480,framerate=30/1 ! teename=srctee \

srctee. ! queue2 name=squeue ! ffmpegcolorspace ! xvimagesink \

srctee. ! queue2 name=fqueue ! videorate ! ffmpegcolorspace !ffenc_mpeg4 ! avimux ! filesink location=test.avi

四、將攝像頭視頻比例設置為16:9

gst-launch v4l2src ! video/x-raw-yuv,width=640,height=480,framerate=15/1 !aspectratiocrop aspect-ratio=16/9 ! ffmpegcolorspace ! xvimagesink

五、保存攝像頭的視頻為avi格式

gst-launch -e v4l2src ! video/x-raw-yuv, format=fourccYUY2,framerate=30/1, width=640, height=480 ! videorate ! ffmpegcolorspace !ffenc_mpeg4 ! avimux ! filesink location=test.avi

六、多個流數據同時錄制

gst-launch -e avimux name="muxer" ! filesink location=multi.avi\

v4l2src ! video/x-raw-yuv, format=fourccYUY2, framerate=25/1,width=640, height=480 ! videorate ! ffmpegcolorspace ! ffenc_mpeg4 ! queue2 !muxer. \

pulsesrc ! audioconvert ! audioresample! lamemp3enc target=1 bitrate=64cbr=true ! queue2 ! muxer.

七、畫中畫

1、videomixer可以將兩個或多個視頻流混合到一起:

gst-launch -e videotestsrc pattern="snow" ! video/x-raw-yuv,framerate=10/1, width=200, height=150 ! videomixer name=mix ! \

ffmpegcolorspace ! xvimagesink videotestsrc !video/x-raw-yuv, framerate=10/1, width=640, height=360 ! mix.

2、GstVideoMixerPad能夠改變Z軸和圖像的位置

gst-launch videotestsrc pattern="snow" ! video/x-raw-yuv,framerate=10/1, width=200, height=150 ! \

videomixer name=mix sink_1::xpos=20 sink_1::ypos=20sink_1::alpha=0.5 sink_1::zorder=3 sink_2::xpos=100 sink_2::ypos=100sink_2::zorder=2 ! \

ffmpegcolorspace ! xvimagesink videotestsrc pattern=13 !video/x-raw-yuv, framerate=10/1, width=200, height=150 ! mix. \

videotestsrc ! video/x-raw-yuv, framerate=10/1, width=640,height=360 ! mix.

3、GstVideoMixerPad可以制定每個sink

gst-launch \

videomixer name=mix sink_1::xpos=20 sink_1::ypos=20sink_1::alpha=0.5 sink_1::zorder=3 sink_2::xpos=100 sink_2::ypos=100 sink_2::zorder=2! \

ffmpegcolorspace ! xvimagesink \

videotestsrc ! video/x-raw-yuv, framerate=10/1, width=640,height=360 ! mix.sink_0 \

videotestsrc pattern="snow" ! video/x-raw-yuv,framerate=10/1, width=200, height=150 ! mix.sink_1 \

videotestsrc pattern=13 ! video/x-raw-yuv, framerate=10/1,width=200, height=150 ! mix.sink_2

八、VideoBox可以用來制定視頻框的大小和位置和apha混合透明度等

1、不透明

gst-launch -e videotestsrc pattern="snow" ! video/x-raw-yuv,framerate=10/1, width=200, height=150 ! videobox border-alpha=0 top=-100left=-100 ! \

videomixer name=mix ! ffmpegcolorspace ! xvimagesink videotestsrc !video/x-raw-yuv, framerate=10/1, width=640, height=360 ! mix.

2、指定透明度

gst-launch -e videotestsrc pattern="snow" ! video/x-raw-yuv,framerate=10/1, width=200, height=150 ! \

videobox border-alpha=0 alpha=0.6 top=-20 left=-25 !videomixer name=mix ! ffmpegcolorspace ! xvimagesink \

videotestsrc ! video/x-raw-yuv, framerate=10/1, width=640,height=360 ! mix.

3、添加邊框

gst-launch -e videotestsrc pattern="snow" ! video/x-raw-yuv,framerate=10/1, width=200, height=150 ! \

videobox border-alpha=1.0 top=-2 bottom=-2 left=-2 right=-2 !videobox border-alpha=0 alpha=0.6 top=-20 left=-25 ! \

videomixer name=mix ! ffmpegcolorspace ! xvimagesinkvideotestsrc ! video/x-raw-yuv, framerate=10/1, width=640, height=360 ! mix.

九、VideoWall視頻墻

gst-launch -e videomixer name=mix ! ffmpegcolorspace ! xvimagesink \

videotestsrc pattern=1 ! video/x-raw-yuv, framerate=5/1,width=320, height=180 ! videobox border-alpha=0 top=0 left=0 ! mix. \

videotestsrc pattern=15 ! video/x-raw-yuv, framerate=5/1,width=320, height=180 ! videobox border-alpha=0 top=0 left=-320 ! mix. \

videotestsrc pattern=13 ! video/x-raw-yuv, framerate=5/1,width=320, height=180 ! videobox border-alpha=0 top=-180 left=0 ! mix. \

videotestsrc pattern=0 ! video/x-raw-yuv, framerate=5/1,width=320, height=180 ! videobox border-alpha=0 top=-180 left=-320 ! mix. \

videotestsrc pattern=3 ! video/x-raw-yuv, framerate=5/1,width=640, height=360 ! mix.

十、TextOverlay 在視頻上面添加文本,由textoverlay插件實現,可以設置文本的屬性

gst-launch videotestsrc !video/x-raw-yuv,width=640,height=480,framerate=15/1 ! textoverlaytext="Hello" ! ffmpegcolorspace ! ximagesink

十一、TimeOverlay ,由timeoverlay插件實現

1、由timeoverlay插件實現

gst-launch videotestsrc ! timeoverlay ! xvimagesink

gst-launch -v videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640,height=360 ! \

timeoverlay halign=left valign=bottom text="Streamtime:" shaded-background=true ! xvimagesink

2、cairotimeoverlay

gst-launch videotestsrc ! cairotimeoverlay ! ffmpegcolorspace ! xvimagesink

3、clockoverlay時鐘

gst-launch videotestsrc ! cairotimeoverlay ! ffmpegcolorspace ! xvimagesink

gst-launch videotestsrc ! clockoverlay halign=right valign=bottomshaded-background=true time-format="%Y.%m.%D" ! ffmpegcolorspace !ximagesink

十二、錄制視頻為ogg格式,帶時間和日期overlay

gst-launch -e v4l2src ! video/x-raw-yuv, format=fourccYUY2,framerate=20/1, width=640, height=480 ! \

ffmpegcolorspace ! \

timeoverlay halign=right valign=top ! clockoverlayhalign=left valign=top time-format="%Y/%m/%d %H:%M:%S" ! \

tee name="splitter" ! queue2 ! xvimagesinksync=false splitter. ! \

queue2 ! videorate ! ffmpegcolorspace ! theoraenc bitrate=256! oggmux ! filesink location=webcam.ogg

十三、視頻墻

gst-launch videomixer name=mix sink_1::xpos=20 sink_1::ypos=20sink_1::alpha=1.0 sink_1::zorder=3 sink_2::xpos=40 sink_2::ypos=40sink_2::zorder=2 ! ffmpegcolorspace ! xvimagesink \

uridecodebinuri=file:///mnt/hgfs/fedshare/source/video/loveStyle.mp4 ! ffmpegcolorspace !videoscale ! mix. \

uridecodebin uri=file:///mnt/hgfs/fedshare/source/video/davincieffect_480p30.mp4! ffmpegcolorspace ! videoscale ! mix. \

videotestsrc ! video/x-raw-yuv, framerate=10/1,width=800, height=540 ! mix.

十四、播放視頻文件,帶聲音

gst-launch uridecodebinuri=file:///mnt/hgfs/fedshare/source/video/loveStyle.mp4 name=decoder \

decoder. ! audioconvert ! autoaudiosink \

decoder. ! ffmpegcolorspace ! xvimagesink

總結

以上是生活随笔為你收集整理的Gstreamer中一些gst-launch常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。