Page 1 of 1

ffplay and ffmpeg problems

Posted: 2024-06-07 5:37
by gkirill
Hello, Foxs!

Following the instructions in the link https://wiki.luckfox.com/Luckfox-Pico/CSI-Camera/ , I wanted to play the resulting videos, but I get the following error from ffplay:

Code: Select all

# ffplay -video_size 2304x1296 -pixel_format nv12 -framerate 10 -i mnt/sdcard/video17.yuv //my call
ffplay version 4.4.4 Copyright (c) 2003-2023 the FFmpeg developers
  built with gcc 8.3.0 (crosstool-NG 1.24.0)
  configuration: --enable-cross-compile --cross-prefix=/home/kirill/rockchip/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/bin/arm-rockchip830-linux-uclibcgnueabihf- --sysroot=/home/kirill/rockchip/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/kirill/rockchip/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 --enable-ffplay --enable-libv4l2 --disable-avresample --disable-ffprobe --disable-libxcb --disable-postproc --enable-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
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)
Then I decided to convert the video format to mp4, but I also received an error from ffmpeg:

Code: Select all

# ffmpeg -f rawvideo -pixel_format nv12 -video_size 2304x1294 -framerate 60 -i mnt/sdcard/video11.yuv -c:v libx264 video11_out.mp4 //mycall
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/kirill/rockchip/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/bin/arm-rockchip830-linux-uclibcgnueabihf- --sysroot=/home/kirill/rockchip/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/kirill/rockchip/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 --enable-ffplay --enable-libv4l2 --disable-avresample --disable-ffprobe --disable-libxcb --disable-postproc --enable-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
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
[rawvideo @ 0x493290] Estimating duration from bitrate, this may be inaccurate
Input #0, rawvideo, from 'mnt/sdcard/video11.yuv':
  Duration: 00:00:00.05, start: 0.000000, bitrate: 2016542 kb/s
  Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 2304x1294, 2146590 kb/s, 60 tbr, 60 tbn, 60 tbc
Unknown encoder 'libx264'
What modules should be connected to the buildroot for these modules to work correctly?

Re: ffplay and ffmpeg problems

Posted: 2024-06-07 8:41
by Crocodile
gkirill wrote: 2024-06-07 5:37 Hello, Foxs!

Following the instructions in the link https://wiki.luckfox.com/Luckfox-Pico/CSI-Camera/ , I wanted to play the resulting videos, but I get the following error from ffplay:

Code: Select all

# ffplay -video_size 2304x1296 -pixel_format nv12 -framerate 10 -i mnt/sdcard/video17.yuv //my call
ffplay version 4.4.4 Copyright (c) 2003-2023 the FFmpeg developers
  built with gcc 8.3.0 (crosstool-NG 1.24.0)
  configuration: --enable-cross-compile --cross-prefix=/home/kirill/rockchip/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/bin/arm-rockchip830-linux-uclibcgnueabihf- --sysroot=/home/kirill/rockchip/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/kirill/rockchip/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 --enable-ffplay --enable-libv4l2 --disable-avresample --disable-ffprobe --disable-libxcb --disable-postproc --enable-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
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)
Then I decided to convert the video format to mp4, but I also received an error from ffmpeg:

Code: Select all

# ffmpeg -f rawvideo -pixel_format nv12 -video_size 2304x1294 -framerate 60 -i mnt/sdcard/video11.yuv -c:v libx264 video11_out.mp4 //mycall
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/kirill/rockchip/luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/bin/arm-rockchip830-linux-uclibcgnueabihf- --sysroot=/home/kirill/rockchip/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/kirill/rockchip/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 --enable-ffplay --enable-libv4l2 --disable-avresample --disable-ffprobe --disable-libxcb --disable-postproc --enable-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
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
[rawvideo @ 0x493290] Estimating duration from bitrate, this may be inaccurate
Input #0, rawvideo, from 'mnt/sdcard/video11.yuv':
  Duration: 00:00:00.05, start: 0.000000, bitrate: 2016542 kb/s
  Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 2304x1294, 2146590 kb/s, 60 tbr, 60 tbn, 60 tbc
Unknown encoder 'libx264'
What modules should be connected to the buildroot for these modules to work correctly?
Based on the logs provided, it seems that the ffplay tool you're using is added on Buildroot, and there are no related display servers (X11 or Wayland) or other components on the Luckfox Pico device to enable the display functionality. Enabling display server-related features has not been tested, but given the limited resources of the Luckfox Pico device, it's expected that the performance won't be optimal. The showcased effects on the wiki are demonstrated on a PC, utilizing the more powerful decoding capabilities of a PC to browse the captured camera footage.

Regarding the log for encoding YUV to MP4 using FFmpeg, it appears that you are missing the libx264 encoder, which you can add on Buildroot. libx264 serves as a core part of the functionality. Currently, the system only prints out the information about the missing libx264. More error messages might be printed after successfully adding libx264.

Re: ffplay and ffmpeg problems

Posted: 2024-06-07 9:38
by gkirill
Crocodile wrote: 2024-06-07 8:41 Regarding the log for encoding YUV to MP4 using FFmpeg, it appears that you are missing the libx264 encoder, which you can add on Buildroot. libx264 serves as a core part of the functionality. Currently, the system only prints out the information about the missing libx264. More error messages might be printed after successfully adding libx264.
Hello, Crocodile!
I understand this, but buildroot does not have the libx264 module
Using what modules can you record video from a camera by setting the bitrate?

Re: ffplay and ffmpeg problems

Posted: 2024-06-10 4:38
by gkirill
Crocodile wrote: 2024-06-07 8:41
Based on the logs provided, it seems that the ffplay tool you're using is added on Buildroot, and there are no related display servers (X11 or Wayland) or other components on the Luckfox Pico device to enable the display functionality. Enabling display server-related features has not been tested, but given the limited resources of the Luckfox Pico device, it's expected that the performance won't be optimal. The showcased effects on the wiki are demonstrated on a PC, utilizing the more powerful decoding capabilities of a PC to browse the captured camera footage.

Regarding the log for encoding YUV to MP4 using FFmpeg, it appears that you are missing the libx264 encoder, which you can add on Buildroot. libx264 serves as a core part of the functionality. Currently, the system only prints out the information about the missing libx264. More error messages might be printed after successfully adding libx264.
I realized that to record video from the camera I need to check out this article https://wiki.luckfox.com/Luckfox-Pico/R ... n-process-
But where are the functions for working with the RKMPI module (function arguments) described?

Re: ffplay and ffmpeg problems

Posted: 2024-06-11 1:55
by Crocodile
gkirill wrote: 2024-06-10 4:38
Crocodile wrote: 2024-06-07 8:41
Based on the logs provided, it seems that the ffplay tool you're using is added on Buildroot, and there are no related display servers (X11 or Wayland) or other components on the Luckfox Pico device to enable the display functionality. Enabling display server-related features has not been tested, but given the limited resources of the Luckfox Pico device, it's expected that the performance won't be optimal. The showcased effects on the wiki are demonstrated on a PC, utilizing the more powerful decoding capabilities of a PC to browse the captured camera footage.

Regarding the log for encoding YUV to MP4 using FFmpeg, it appears that you are missing the libx264 encoder, which you can add on Buildroot. libx264 serves as a core part of the functionality. Currently, the system only prints out the information about the missing libx264. More error messages might be printed after successfully adding libx264.
I realized that to record video from the camera I need to check out this article https://wiki.luckfox.com/Luckfox-Pico/R ... n-process-
But where are the functions for working with the RKMPI module (function arguments) described?
Currently, Rockchip only provides documentation in Chinese.
Downloaded 268 times