Page 1 of 1

如何编译Buildroot使menuconfig的配置生效?

Posted: 2024-08-02 7:44
by lihualihua_1
我想要使用usb摄像头,目前按照教程打开了usb的host模式,并且连接u盘可以识别,但是教程中 #USB 摄像头>Buildroot这部分内容没看明白,我做了这些操作:
1.进入luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6使用menuconfig将fswebcam、libv4l2、ffmpeg等配置打开
2.在luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6目录中执行make编译,会在ouput/images中生成一个rootfs.tar文件,但不知道如何使用
3.在luckfox-pico目录中执行./build.sh clean rootfs、./build.sh rootfs、./build.sh firmware,获得新镜像写入开发板后,并不能使用ffmpeg等功能
4.在#内核配置 这部分中需要将savedefconfig保存的配置拷贝到luckfox_rv1106_linux_defconfig中然后再进行编译,那么我在修改buildroot中的配置后是否也要进行类似的操作?

Re: 如何编译Buildroot使menuconfig的配置生效?

Posted: 2024-08-02 8:00
by lihualihua_1
这是我Buildroot目录中保存的配置文件https://raw.githubusercontent.com/MEIZU16/test/main/.config

Re: 如何编译Buildroot使menuconfig的配置生效?

Posted: 2024-08-02 8:12
by Crocodile
您好,最新的SDK更新添加新的软件包在SDK根目录下就可以实现,执行./build.sh buildrootconfig 进入menuconfig 添加软件包,保存退出,执行./build.sh rootfs ./build.sh firmware 打包镜像烧录即可

Re: 如何编译Buildroot使menuconfig的配置生效?

Posted: 2024-08-02 8:16
by lihualihua_1
问题解决了,不应该执行./build.sh clean rootfs

Re: 如何编译Buildroot使menuconfig的配置生效?

Posted: 2024-08-03 6:20
by lihualihua_1
Crocodile wrote: 2024-08-02 8:12 您好,最新的SDK更新添加新的软件包在SDK根目录下就可以实现,执行./build.sh buildrootconfig 进入menuconfig 添加软件包,保存退出,执行./build.sh rootfs ./build.sh firmware 打包镜像烧录即可
现在我能使用摄像头拍摄照片,但是在录像时出现了以下错误:
[root@luckfox root]# ffmpeg -f v4l2 -i /dev/video0 output.mp4
ffmpeg version 4.4.4 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 8.3.0 (crosstool-NG 1.24.0)
configuration: --enable-cross-compile --cross-prefix=/home/dspwasc/workspace/luckfox/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/bin/arm-rockchip830-linux-uclibcgnueabihf- --sysroot=/home/dspwasc/workspace/luckfox/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/arm-buildroot-linux-uclibcgnueabihf/sysroot --host-cc=/usr/bin/gcc --arch=arm --target-os=linux --disable-stripping --pkg-config=/home/dspwasc/workspace/luckfox/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/bin/pkg-config --disable-static --enable-shared --prefix=/usr --enable-avfilter --disable-version3 --enable-logging --enable-optimizations --disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat --enable-network --disable-gray --enable-swscale-alpha --disable-small --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd --disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables --disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels --disable-cuda --disable-cuvid --disable-nvenc --disable-avisynth --disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libdc1394 --disable-libgsm --disable-libilbc --disable-libvo-amrwbenc --disable-symver --disable-doc --disable-gpl --disable-nonfree --enable-ffmpeg --disable-ffplay --enable-libv4l2 --disable-avresample --disable-ffprobe --disable-libxcb --disable-postproc --disable-swscale --enable-indevs --disable-alsa --enable-outdevs --enable-pthreads --enable-zlib --disable-bzlib --disable-libfdk-aac --disable-libcdio --enable-gnutls --disable-openssl --disable-libdrm --disable-libopenh264 --disable-vaapi --disable-vdpau --disable-mmal --disable-omx --disable-omx-rpi --disable-libopencv --disable-libopus --disable-libvpx --disable-libass --disable-libbluray --disable-libmfx --disable-librtmp --disable-libmp3lame --disable-libmodplug --disable-libspeex --disable-libtheora --enable-iconv --disable-libfreetype --disable-fontconfig --disable-libopenjpeg --disable-libx264 --disable-libx265 --disable-libdav1d --disable-x86asm --disable-mmx --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-avx2 --enable-armv6 --enable-vfp --enable-neon --disable-altivec --extra-libs=-latomic --enable-pic --cpu=cortex-a7
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswresample 3. 9.100 / 3. 9.100
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 2191.478886, bitrate: 36864 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240, 36864 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
File 'output.mp4' already exists. Overwrite? [y/N] Y
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
'scale' filter not present, cannot convert pixel formats.
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
[video4linux2,v4l2 @ 0x493260] Some buffers are still owned by the caller on close.
ioctl(VIDIOC_QBUF): Bad file descriptor
Conversion failed!

Re: 如何编译Buildroot使menuconfig的配置生效?

Posted: 2024-08-03 7:27
by Crocodile
您好,USB我们仅测试过用V4l2来捕获图像,没有测试过ffmpeg,ffmpeg 体系复杂设置选项多且与您使用的摄像头硬件有关,请根据网络资料解决