Page 1 of 1
How to stream a video using the gst-launch-1.0?
Posted: 2025-02-03 16:19
by Zemtriz
I want to stream CSI camera over the network using gstreamer but I end up with an error:
ERROR: pipeline could not be constructed: no element "v4l2src".
I have recompiled the buildrootconfig with Target Packages > gstreamer 1.x enabled and gst1-plugins-good > v4l enabled
If anyone can help me to setup a successful UDP h265 stream to the client, it would be great.
Thank you
Re: How to stream a video using the gst-launch-1.0?
Posted: 2025-02-05 8:34
by Ryand
Sorry, we have not tested the gst-launch-1.0 tool yet. Based on the error description, it may be that necessary plugins or components are missing in the GStreamer environment. You can list the relevant information through "gst-inspect-1.0 | grep v4l2src" to check if the plugins are installed correctly.
Re: How to stream a video using the gst-launch-1.0?
Posted: 2025-02-05 11:19
by Zemtriz
Thank you for the reply. I already have v4l2src. The interesting thing is that I was unable to get it working. Even despite that I have recompiled the image etc. it was still missing. After all I have deleted whole luckfox-pico SDK folder and downloaded everything again and it was there. Now I am facing the same issue with missing udpsink element for gstreamer and I suspect that when I build all images, it just miss something and doesn't download all dependencies?
Now I do have udpsink and v4l2src. But I didn't do any differently. I just had to re-download luckfox-pico SDK and run build multiple times.
Is there a way to force luckfox-pico SDK to re-download all dependencies?
Re: How to stream a video using the gst-launch-1.0?
Posted: 2025-02-06 3:01
by Ryand
If you need the SDK to re download all dependencies, you can execute build.sh clean and then build.sh. But if you successfully use build.sh buildrootconfig and then build. sh also executes successfully, it means that the dependencies were not downloaded successfully. It may be that some dependencies were missed.
Re: How to stream a video using the gst-launch-1.0?
Posted: 2025-02-06 22:11
by Zemtriz
Thank you for your help. I'm able to run udp stream to another computer via:
Code: Select all
ST_DEBUG=2 gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,width=640,height=360,framerate=30/1 ! videoscale ! videoconvert ! x264enc tune=zerolatency bitrate=5000 ! h264parse ! rtph264pay ! udpsink host=192.168.1.34 p
ort=5000
Packages in buildrootconfig:
Code: Select all
cat config/buildroot_defconfig
BR2_arm=y
BR2_cortex_a7=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_PATH="../../../../tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-rockchip830-linux-uclibcgnueabihf"
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_WCHAR=y
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_PRIMARY_SITE="http://sources.buildroot.net"
BR2_OPTIMIZE_3=y
BR2_TARGET_GENERIC_HOSTNAME="luckfox pico"
BR2_TARGET_GENERIC_ISSUE="Welcome to luckfox pico"
BR2_TARGET_GENERIC_ROOT_PASSWD="luckfox"
BR2_SYSTEM_ENABLE_NLS=y
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_GSTREAMER1=y
BR2_PACKAGE_GST1_PLUGINS_GOOD=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTP=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_UDP=y
BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2=y
BR2_PACKAGE_GST1_PLUGINS_BAD=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOPARSERS=y
BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_X265=y
BR2_PACKAGE_GST1_PLUGINS_UGLY=y
BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_X264=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_EVTEST=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_SSL=y
BR2_PACKAGE_PYTHON_AIOHTTP=y
BR2_PACKAGE_PYTHON_CLICK=y
BR2_PACKAGE_PYTHON_ITSDANGEROUS=y
BR2_PACKAGE_PYTHON_JINJA2=y
BR2_PACKAGE_PYTHON_PERIPHERY=y
BR2_PACKAGE_PYTHON_PILLOW=y
BR2_PACKAGE_PYTHON_SERIAL=y
BR2_PACKAGE_PYTHON_SETUPTOOLS=y
BR2_PACKAGE_PYTHON_SMBUS_CFFI=y
BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_PYTHON_WERKZEUG=y
BR2_PACKAGE_GNUTLS=y
BR2_PACKAGE_LIBMD=y
BR2_PACKAGE_LIBSODIUM=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_LIBDRM=y
BR2_PACKAGE_DTC=y
BR2_PACKAGE_DTC_PROGRAMS=y
BR2_PACKAGE_LIBV4L=y
BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_LIBPCAP=y
BR2_PACKAGE_IW=y
BR2_PACKAGE_LRZSZ=y
BR2_PACKAGE_NTP=y
BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_SOCAT=y
BR2_PACKAGE_BASH=y
BR2_PACKAGE_BASH_LOADABLE_EXAMPLES=y
BR2_PACKAGE_DIALOG=y
BR2_PACKAGE_TIME=y
BR2_PACKAGE_HTOP=y
BR2_PACKAGE_UTIL_LINUX_LIBMOUNT=y
BR2_PACKAGE_NANO=y
BR2_PACKAGE_HOST_DTC=y
Are there any options how to use RV1103's HW acceleration?
Thank you for your help
Re: How to stream a video using the gst-launch-1.0?
Posted: 2025-02-07 1:31
by Ryand
Hardware acceleration requires the use of the Rockit library, but this library is closed source and cannot be directly supported by gst-launch-1.0. At present, the only way to accelerate encoding is to use rkmpi alone to extract hardware encoded frames and send them to gst-launch-1.0 for streaming.