1. yocto构建stm镜像¶
关键词: yocto stm mp157
使用STM官方工程构建mp157开发板镜像
主要内容:
STM工程
文档参考:
最新文档 https://taotaodiy-yocto.readthedocs.io/en/latest/yocto/project-stm.html
1.1. mp157¶
DISTRO=fsl-imx-x11 MACHINE=imx6ull14x14evk source fsl-setup-release.sh -b build DISTRO=fsl-imx-fb MACHINE=imx6ull14x14evk source fsl-setup-release.sh -b build DISTRO=fsl-imx-wayland MACHINE=imx6ullevk source fsl-setup-release.sh -b build
bitbake core-image-sato bitbake fsl-image-qt5-validation-imx
1.1.1. 修改配置文件¶
修改ebf_yocto_bsp/sources/base/setup-environment
DL_DIR ?= “${BSPDIR}/downloads/” 修改默认下载位置 DL_DIR ?= “${BSPDIR}/../downloads/”
1.1.2. 出错¶
- ERROR: OE-core’s config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories:
DISTRO ‘fsl-imx-X11’ not found. Please set a valid DISTRO in your local.conf
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc
MACHINE=imx6ullevk DISTRO=fslc-x11 source fsl-setup-release.sh -b build bitbake core-image-minimal
bitbake core-image-ebfdemo
1.2. 生成deb安装包¶
PACKAGE_CLASSES ?= “package_deb”
DISTRO=fsl-imx-fb MACHINE=imx6ull14x14evk source fsl-setup-release.sh -b build bitbake core-image-ebfdemo
DISTRO=fsl-imx-x11 MACHINE=imx6ullevk source fsl-setup-release.sh -b build bitbake core-image-ebfdemo bitbake core-image-sato
sudo apt-get update apt-get -f -y install
export DISPLAY=’:0.0’
使用KMS/DRM后端 export QT_QPA_EGLFS_INTEGRATION = ‘eglfs_kms’
qt开启debug export QT_DEBUG_PLUGINS=1
systemctl stop sddm.service
./App -platform wayland-egl ./App -platform eglfs
eglfs, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, xcb.
libqeglfs.so libqminimalegl.so libqvnc.so libqwayland-generic.so libqminimal.so libqoffscreen.so libqwayland-egl.so libqxcb.so
source~/Apps/Wayland/wayland.sourceme ./application -platform wayland
yocto mp157官方工程 https://wiki.st.com/stm32mpu/wiki/STM32MP1_Distribution_Package
DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh
DISTRO=openstlinux-eglfs MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh
bitbake st-image-weston bitbake st-example-image-qtwayland bitbake st-example-image-qt
http://wiki.i2som.com/pages/viewpage.action?pageId=19923002
Error: Unable to access jarfile SetupSTM32CubeProgrammer-2.5.0.exe 参考:https://www.freesion.com/article/8562512727/
strace 追踪命令 strace: command not found apt-get install strace
1.3. eglfs¶
Could not open egl display Aborted (core dumped)
qt.qpa.input: xkbcommon not available, not performing key mapping Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created. Failed to commit atomic request (code=-13)
Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created.
查看软件 dpkg -l | grep eglfs
ii openstlinux-qt-eglfs 1.0-r0.0 all openstlinux-qt-eglfs version 1.0-r0 ii packagegroup-distro-base 1.0-r83.0 armhf openstlinux-eglfs extras ii packagegroup-framework-sample-qt-eglfs 1.0-r0.0 all Framework sample qt components over eglfs
export QT_QPA_PLATFORM=eglfs export QT_QPA_EGLFS_INTEGRATION=eglfs_kms export QT_QPA_EGLFS_KMS_CONFIG=/usr/share/qt5/cursor.json export QT_QPA_EGLFS_ALWAYS_SET_MODE=1 export QT_QPA_EGLFS_KMS_ATOMIC=1
export QT_QPA_EGLFS_PHYSICAL_WIDTH=800 export QT_QPA_EGLFS_PHYSICAL_HEIGHT=480
psplash-drm-quit export QT_QPA_EGLFS_ALWAYS_SET_MODE=1 export QT_QPA_EGLFS_PHYSICAL_WIDTH=150 export QT_QPA_EGLFS_PHYSICAL_HEIGHT=90
https://bbs.elecfans.com/jishu_2027323_1_1.html
- {
“device”: “/dev/dri/card0”, “hwcursor”: false, “pbuffers”: true, “outputs”: [ {
“name”: “DP”, “mode”: “3840x2160” } ]
}
root@stm32mp1:/usr/share/ebflinuxdemo-1.0.1# cat /usr/share/qt5/cursor.json {
“device”: “/dev/dri/card0”, “outputs”: [
{ “name”: “HDMI-A-“, “mode”: “600x340”, “size”: “600x340” }
], “hwcursor”: false
}
hdmi屏幕分辨率 modetest -M stm qt.qpa.input: xkbcommon not available, not performing key mapping
ls /dev/dri/by-path/modetest -D fd4a0000.zynqmp-displaymodetest -D fd4a0000.zynqmp-display -s 43:1920x1080-60@BG24modetest -D fd4a0000.zynqmp-display -s 43:3840x2160-29.98@BG24 ls /dev/dri/by-path/platform-5a001000.display-controller-card
./App -platform eglfs -plugin evdevkeyboard:$KEYBOARD_DEVICE -plugin tslib:$TSLIB_TSDEVICE
[ 5833.662257] [drm] ltdc fifo underrun: please verify display mode
[ 1] Failed to open device: No such file or directory, Try again… [ 2] Failed to open device: No such file or directory, Try again… [ 3] Failed to open device: No such file or directory, Try again… [ 4] Failed to open device: No such file or directory, Try again… [ 5] _OpenDevice(1086): FATAL: Failed to open device, errno=No such file or directory. [ 6] Failed to open device: No such file or directory, Try again… [ 7] Failed to open device: No such file or directory, Try again… [ 8] Failed to open device: No such file or directory, Try again… [ 9] Failed to open device: No such file or directory, Try again… [ 10] _OpenDevice(1086): FATAL: Failed to open device, errno=No such file or directory.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’ Fontconfig error: Cannot load default config file Segmentation fault
export DISPLAY=’:0.0’
Could not open egl display Aborted
采用STM32MP1的PanGu Board开发板运行Qt应用 https://kuaibao.qq.com/s/20191028A07YZ000?refer=spider
export QT_QPA_EGLFS_ALWAYS_SET_MODE=1 export QT_QPA_PLATFORM=eglfs export QT_QPA_EGLFS_INTEGRATION=eglfs_kms export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONSOLEDEVICE=none export TSLIB_CONFFLLE=/etc/ts.conf export TSLIB_TSDEVICE=/dev/input/event1 export TSLIB_TSEVENTTYPE=INPUT export QT_QPA_EGLFS_TSLIB=1 export QT_QPA_EVDEV_MOUSE_PARAMETERS=abs export QT_QPA_EGLFS_KMS_CONFIG=/usr/share/qt5/cursor.json export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1,evdevmouse:/dev/input/event1 export QT_QPA_EGLFS_DISABLE_INPUT=1
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’ Could not open egl display Aborted
Could not initialize egl display Aborted
sudo apt-get install libegl-dev sudo apt-get install waylandpp-dev sudo apt-get install freeglut3-dev
sudo kmscube sudo glmark2-es2-drm modetest -M stm -D 0 -a -s 31@34:800x480 -P 32@34:800x480 -Ftiles
https://www.cnblogs.com/yaongtime/p/12940386.html https://www.cnblogs.com/yaongtime/p/12944633.html https://github.com/austriancoder/kmscube/blob/master/kmscube.c https://www.cnblogs.com/yongdaimi/p/11244950.html https://www.zybuluo.com/cxm-2016/note/572389
sudo apt-get install libegl*
./App -platform eglfs ./App -platform wayland
sudo apt-get install libegl*
eglInitialize() failed with error: 0x3001 Error: eglInitialize() failed with error: 0x3001
E: dpkg was interrupted, you must manually run ‘sudo dpkg –configure -a’ to correct the problem. sudo dpkg –configure -a
sudo apt-get install libmail*
检查显示器,设置分辨率 ls /dev/dri/by-path/
1.4. OpenGL¶
1.5. wayland¶
cat’t open /dev/fb0 Open keyboard failed . qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
dpkg -l | grep wayland ii gstreamer1.0-plugins-bad-waylandsink 1.16.2-r0.0 armhf GStreamer 1.0 plugin for waylandsink ii libgstwayland-1.0-0 1.16.2-r0.0 armhf GStreamer 1.0 gstwayland-1.0 library ii libweston-8 8.0.0-r0.0 armhf Helper library for implementing ‘wayland window managers’. ii openstlinux-qt-wayland 1.0-r0.0 all openstlinux-qt-wayland version 1.0-r0 ii packagegroup-framework-sample-qtwayland 1.0-r0.0 all Framework sample qt components over QTwayland ii qtwayland 5.14.2+git0+af3976e5e7-r0.0 armhf qtwayland version 5.14.2+gitAUTOINC+af3976e5e7-r0 ii qtwayland-plugins 5.14.2+git0+af3976e5e7-r0.0 armhf qtwayland version 5.14.2+gitAUTOINC+af3976e5e7-r0 ii qtwayland-qmlplugins 5.14.2+git0+af3976e5e7-r0.0 armhf qtwayland version 5.14.2+gitAUTOINC+af3976e5e7-r0 ii wayland 1.18.0-r0.0 armhf Wayland, a protocol between a compositor and clients ii weston-cube 2.1+git0+533a3673f8-r0.1 armhf 3D cube for wayland/weston windows ii weston-xwayland 8.0.0-r0.0 armhf Weston, a Wayland compositor ii xserver-xorg-xwayland 2:1.20.8-r0.0 armhf The X.Org X server
/usr/local/qt-app/App: /lib/arm-linux-gnueabihf/libm.so.6: version ‘GLIBC_2.29’ not found (required by /usr/local/qt-app/App) ./App: /lib/arm-linux-gnueabihf/libm.so.6: version ‘GLIBC_2.29’ not found (required by ./App)
strings /lib/arm-linux-gnueabihf/libm.so.6 | grep GLIBC https://www.jianshu.com/p/f4d603967e1d
gcc glibc 关系 参考
https://www.cnblogs.com/bigben0123/p/12594972.html https://github.com/deltachat/deltachat-desktop/issues/1006
更新GLIBC_2.29
debian mp157 qt开发环境
拷贝源码到debian 解压 安装环境
https://wiki.qt.io/Building_Qt_5_from_Git
apt-get build-dep sudo apt-get install build-essential perl python git sudo apt-get install ‘^libxcb.*-dev’ libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo aptitude install gcc g++ build-essential make automake autogen autoconf sudo apt-get install gcc g++ build-essential make automake autogen autoconf
aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。
QT 编译 ./configure参数的解释 https://blog.csdn.net/qq_31877249/article/details/80576524
tar -xvf
/configure -release -device linux-imx7-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf- -sysroot /opt/qt5.11.3 -no-openssl -no-cups -no-iconv -qt-zlib -no-opengl -no-sse2 -no-xcb -nomake examples -nomake tests -v -opensource -skip qt3d -skip qtcanvas3d -skip webengine -skip qtpurchasing -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -skip qtwayland -confirm-license
./configure -prefix /opt/qt5.11.3 -release -opensource -confirm-license -no-openssl -opengl -opengl es2 -eglfs -xcb -no-compile-examples -no-pkg-config -skip qtsensors -skip qtdoc -skip qtwayland -skip qt3d -skip qtcanvas3d -skip qtpurchasing -skip qtdeclarative -no-iconv -no-glib
./configure -prefix /opt/qt5.11.3 -xplatform linux-clang-libc++ -release -opensource -confirm-license -no-openssl -opengl -opengl es2 -eglfs -xcb -no-compile-examples -no-pkg-config -skip qtsensors -skip qtdoc -skip qtwayland -skip qt3d -skip qtcanvas3d -skip qtpurchasing -skip qtdeclarative -no-iconv -no-glib
sudo apt-get update apt-get -f -y install
更新glib sudo vi /etc/apt/sources.list deb https://deb.debian.org/debian testing main contrib sudo apt install -t testing libc6
# sudo apt-get install libegl* egl支持 sudo apt-get install libegl-dev
# sudo apt-get install qt5* qt5库 sudo apt-get install qt5-default
qt多媒体库 sudo apt-get install libqt5multimedia5 sudo apt-get install libqt5multimedia5-plugins
MusicPlayer: play error QMediaPlayer::FormatError Warning: “No decoder available for type ‘application/x-id3’.”
Warning: “No decoder available for type ‘video/quicktime, variant=(string)iso’.”
No decoder available for type ‘video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3, profile=(string)main, codec_data=(buffer)014d401effe10018674d401eec805017fcb808800000030080000019078b16cb01000468ebe7c8, width=(int)640, height=(int)360, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1’.
sudo apt install gstreamer1.0-plugins-good
Warning: “Failed to connect: Connection refused”
sudo apt-get install gstreamer1.0-dev
sudo apt-get install gstreamer1.0-libav
sudo apt-get install libqt5gstreamer-dev
sudo apt-get install libgstreamer1.0-dev gstreamer1.0-tools gstreamer1.0-doc sudo apt-get install gstreamer1.0-plugins*
gst-launch -v filesrc location= /usr/local/qt-app/video/1.mp4 ! qtdemux ! mfw_vpudeco gst-launch-1.0 filesrc location=/usr/local/qt-app/video/1.mp4 ! qtdemux ! vaapidecode ! vaapisink gst-launch-1.0 filesrc location=/usr/local/qt-app/video/1.mp4 ! qtdemux ! avdec_h264 ! ximagesink
gst播放mp4
硬件解码 gst-launch-1.0 filesrc location=/usr/local/qt-app/video/1.mp4 ! qtdemux ! vaapidecode ! vaapisink
报错 (gst-plugin-scanner:459): GStreamer-WARNING **: 08:06:27.149: Failed to load plugin ‘/usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstqt5videosink.so’: /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstqt5videosink.so: undefined symbol: _Z33gst_qt_quick2_video_sink_get_typev WARNING: erroneous pipeline: no element “mfw_vpudeco”
软件解码 gst-launch-1.0 filesrc location=/usr/local/qt-app/video/1.mp4 ! qtdemux ! avdec_h264 ! ximagesink
Setting pipeline to PAUSED … ERROR: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Could not initialise X output Additional debug info: ../sys/ximage/ximagesink.c(867): gst_x_image_sink_xcontext_get (): /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Could not open display ERROR: pipeline doesn’t want to preroll. Failed to set pipeline to PAUSED. Setting pipeline to NULL … Freeing pipeline …
gst-launch-1.0 filesrc location=/usr/local/qt-app/video/1.mp4 ! qtdemux ! avdec_h264 ! aasink
gst-launch-1.0 filesrc location=/usr/local/qt-app/music/猪之歌-香香.mp3 !mad !audioconvert !autoaudiosink
gst-launch-1.0 filesrc location=/usr/local/qt-app/music/猪之歌-香香.mp3 ! demux ! decoder ! alsasink gst-launch-1.0 filesrc location=/usr/local/qt-app/music/猪之歌-香香.mp3 ! qtdemux ! avdec_h264 ! autoaudiosink
gst-launch-1.0 filesrc location=/usr/local/qt-app/music/猪之歌-香香.mp3 ! mad ! audioconvert ! audioresample ! osssink
gst-launch-1.0 filesrc location=/usr/local/qt-app/music/猪之歌-香香.mp3 ! decodebin ! audioconvert ! audioresample ! autoaudiosink
load lrc true “猪之歌-香香” “/usr/local/qt-app/music/猪之歌-香香.lrc” AL lib: (EE) ALCplaybackAlsa_reset: snd_pcm_hw_params(self->pcmHandle, hp) failed: File descriptor in bad state
sudo apt-get install pulseaudio
Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock MusicPlayer: play error QMediaPlayer::ResourceError Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock Error: “Unable to prepare device.”
sudo apt-get install gstreamer1.0-ffmpeg gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly sudo apt-get install gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
sudo apt-get install gstreamer1.0-alsa
sudo gst-launch-1.0 imxv4l2src device=/dev/video0 ! imxv4l2sink sudo gst-launch-1.0 imxv4l2src device=/dev/video0 ! autovideosink
sudo gst-launch-1.0 -v imxv4l2src device=/dev/video0 ! “video/x-raw, format=(string)YUY2, width=(int)640,height=(int)480, framerate=(fraction)15/1” ! videoconvert ! avimux ! filesink location=webcam.avi sudo gst-launch-1.0 imxv4l2src num-buffers=1 device=/dev/video0 ! jpegenc ! filesink location=picture.jpg
sudo gst-launch-1.0 -v v4l2src device=/dev/video0 ! “video/x-raw, format=(string)YUY2, width=(int)640,height=(int)480, framerate=(fraction)15/1” ! videoconvert ! avimux ! filesink location=test.avi
sudo gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! jpegenc ! filesink location=picture.jpg sudo gst-launch-1.0 v4l2src device=/dev/video0 ! v4l2sink sudo gst-launch-1.0 v4l2src device=/dev/video1 ! v4l2sink sudo gst-launch-1.0 v4l2src device=/dev/video0 ! autovideosink
scp debian@192.168.0.80:/home/debian/picture.jpg ./ scp debian@192.168.0.80:/home/debian/test.avi ./ scp debian@192.168.0.80:/home/debian/pic-5Mp.jpeg ./
sudo gst-launch-1.0 v4l2src ! video/x-raw-yuv,width=352,height=288 ! xvimagesink
sudo gst-launch-1.0 videotestsrc ! xvimagesink
sudo gst-launch-1.0 v4l2src ! video/x-raw-yuv,format=YUY2,width=640,height=480,framerate=15/1 ! videorate ! videoscale ! xvimagesink
sudo gst-launch-1.0 v4l2src ! video/x-raw-yuv,width=640,height=480,framerate=15/1 ! queue2 ! videorate ! videoscale ! xvimagesink
sudo gst-launch-1.0 v4l2src ! xvimagesink
gst-launch-1.0 filesrc location=test.avi ! avidemux ! video/x-h264,width=1920,height=1080,framerate=30/1 ! decodebin ! videoconvert ! video/x-raw,format=RGBA,width=1920,height=1080,framerate=30/1 ! videoscale ! kmssink driver-name=drm force-modesetting=false can-scale=false sync=false
v4l2-ctl
问题
error: XDG_RUNTIME_DIR not set in the environment.
WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLImageSink:sink: A lot of buffers are being dropped. Additional debug info: ../libs/gst/base/gstbasesink.c(3132): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLImageSink:sink: There may be a timestamping problem, or this computer is too slow.
stm32-dcmi 4c006000.dcmi: Some errors found while streaming: errors=199 (overrun=202), buffers=16
显示摄像头画面 测试命令
gst-launch-1.0 v4l2src ! “video/x-raw, width=1280, Height=720, framerate=(fraction)15/1” ! queue ! autovideosink -e
gst-launch-1.0 v4l2src ! “video/x-raw, width=176, Height=144, framerate=(fraction)15/1” ! queue ! autovideosink -e sync = false
gst-launch-1.0 v4l2src ! “video/x-raw, width=1280, Height=720, framerate=(fraction)15/1” ! queue ! autovideosink -e
gst-launch-1.0 v4l2src ! “video/x-raw, width=176, Height=144, format=YUY2, framerate=(fraction)15/1” ! queue ! autovideosink -e sync = false
gst-launch-1.0 v4l2src ! “video/x-raw, framerate=(fraction)15/1” ! queue ! autovideosink -e
gst-launch-1.0 v4l2src ! “video/x-raw, framerate=(fraction)30/1” ! queue ! autovideosink -e
gst-launch-1.0 v4l2src ! “video/x-raw, format=YUY2, width=320, height=240, framerate=(fraction)30/1” ! waylandsink
sudo gst-launch-1.0 -v v4l2src device=/dev/video1 ! “video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=(fraction)15/1” ! videoconvert ! fbdevsink sudo gst-launch-1.0 -v v4l2src device=/dev/video0 ! “video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=(fraction)15/1” ! videoconvert ! autovideosink sync = false
拍照,录像测试 sudo gst-launch-1.0 -v v4l2src device=/dev/video0 ! “video/x-raw, format=(string)YUY2, width=(int)640,height=(int)480, framerate=(fraction)15/1” ! videoconvert ! avimux ! filesink location=test.avi sudo gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! jpegenc ! filesink location=picture.jpg
sudo gst-launch-1.0 v4l2src device=/dev/video0 ! v4l2sink sudo gst-launch-1.0 -v v4l2src device=/dev/video0 ! v4l2sink sudo gst-launch-1.0 -v v4l2src device=/dev/video0 ! kmssink sudo gst-launch-1.0 -v v4l2src device=/dev/video0 ! waylandsink sudo gst-launch-1.0 -v v4l2src ! “video/x-raw, width=176, Height=144, framerate=(fraction)15/1” ! queue ! v4l2sink -e sync = false device=/dev/video0
sudo gst-launch-1.0 v4l2src device=/dev/video0 ! alsasink sudo gst-launch-1.0 -v v4l2src device=/dev/video1 ! v4l2sink sudo gst-launch-1.0 -v v4l2src device=/dev/video0 ! autovideosink
scp debian@192.168.0.80:/home/debian/picture.jpg ./ scp debian@192.168.0.80:/home/debian/test.avi ./ scp debian@192.168.0.80:/home/debian/pic-5Mp.jpeg ./
gst-launch-1.0 filesrc location=*test.avi* ! avidemux ! autovideosink
gst-launch-1.0 filesrc location=test.avi ! avidemux ! autovideosink gst-launch-1.0 –gst-debug=4 v4l2src ! autovideosink
gst-launch-1.0 videotestsrc ! ‘video/x-raw-yuv,format=(fourcc)YUY2;video/x-raw-yuv,format=(fourcc)YV12’ ! xvimagesink gst-launch-1.0 nvarguscamerasrc !nvvidconv !xvimagesink
gst-launch-1.0 v4l2src ! kmssink gst-launch-1.0 v4l2src ! glimagesink gst-launch-1.0 v4l2src ! glimagesinkelement ! openalsink
gtk: gtksink: Gtk Video Sink gtk: gtkglsink: Gtk GL Video Sink video4linux2: v4l2sink: Video (video4linux2) Sink alsa: alsasink: Audio sink (ALSA) debugutilsbad: fakevideosink: Fake Video Sink debugutilsbad: fpsdisplaysink: Measure and show framerate on videosink debugutilsbad: checksumsink: Checksum sink ipcpipeline: ipcpipelinesink: Inter-process Pipeline Sink shout2: shout2send: Icecast network sink waylandsink: waylandsink: wayland video sink ossaudio: osssink: Audio Sink (OSS) aasink: aatv: aaTV effect aasink: aasink: ASCII art video sink rist: ristsink: RIST Sink playback: playsink: Player Sink bluez: avdtpsink: Bluetooth AVDTP sink bluez: a2dpsink: Bluetooth A2DP sink oss4: oss4sink: OSS v4 Audio Sink kms: kmssink: KMS video sink cacasink: cacasink: A colored ASCII art video sink cacasink: cacatv: CacaTV effect rtmp2: rtmp2sink: RTMP sink element srt: srtserversink: SRT sink srt: srtclientsink: SRT sink srt: srtsink: SRT sink opengl: glsinkbin: GL Sink Bin opengl: glimagesinkelement: OpenGL video sink opengl: glimagesink: GL Sink Bin fbdevsink: fbdevsink: fbdev video sink openal: openalsink: OpenAL Audio Sink coreelements: filesink: File Sink coreelements: fdsink: Filedescriptor Sink coreelements: fakesink: Fake Sink app: appsink: AppSink soup: souphttpclientsink: HTTP client sink hls: hlssink2: HTTP Live Streaming sink hls: hlssink: HTTP Live Streaming sink shm: shmsink: Shared Memory Sink ximagesink: ximagesink: Video sink udp: dynudpsink: UDP packet sender udp: multiudpsink: UDP packet sender udp: udpsink: UDP packet sender tcp: multisocketsink: Multi socket sink tcp: multifdsink: Multi filedescriptor sink tcp: tcpserversink: TCP server sink tcp: tcpclientsink: TCP client sink curl: curlsftpsink: Curl sftp sink curl: curlsmtpsink: Curl smtp sink curl: curlftpsink: Curl ftp sink curl: curlfilesink: Curl file sink curl: curlhttpsink: Curl http sink inter: intervideosink: Internal video sink inter: intersubsink: Internal subtitle sink inter: interaudiosink: Internal audio sink gdkpixbuf: gdkpixbufsink: GdkPixbuf sink rtmp: rtmpsink: RTMP output sink debug: testsink: Test plugin rtpmanagerbad: rtpsink: RTP Sink element autodetect: autoaudiosink: Auto audio sink autodetect: autovideosink: Auto video sink multifile: splitmuxsink: Split Muxing Bin multifile: multifilesink: Multi-File Sink pulseaudio: pulsesink: PulseAudio Audio Sink gio: giostreamsink: GIO stream sink gio: giosink: GIO sink dash: dashsink: DASH Sink jack: jackaudiosink: Audio Sink (Jack) xvimagesink: xvimagesink: Video sink proxy: proxysink: Proxy Sink decklink: decklinkvideosink: Decklink Video Sink decklink: decklinkaudiosink: Decklink Audio Sink