ffplay and ffmpeg problems

  • 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.
  • 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?
    Attachments
    Снимок.PNG
  • 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?
    Last edited by gkirill on 2024-06-10 6:13, edited 1 time in total.
  • 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