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
How to stream a video using the gst-launch-1.0?
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.
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?
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?
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.
Thank you for your help. I'm able to run udp stream to another computer via:
Packages in buildrootconfig:
Are there any options how to use RV1103's HW acceleration?
Thank you for your help
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
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
Thank you for your help
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.