Radxa 4K Camera Issues

Please try sudo apt install mpv, then run mpv av://v4l2:/dev/video-camera0 --vo=gpu --hwdec=rkmpp --profile=fast --vf=scale_rkrga=force_yuv=8bit -v.
This helps determine whether the issue is with the encoder or the camera

Hi, I tried the command, ghosting is still there. Those strange video artefacts in my video aren’t there, but the frames still seem to be overlayed on eachother for 1-2 seconds which creates the ghosting / washed out effect.

Please try again: mpv av://v4l2:/dev/video-camera0 --vo=gpu --profile=fast, if the problem still exists, it can be confirmed that the camera is the issue

There is still very faint ghosting which causes slight blurring, but it’s better than before with that command. If the previous command was 100%, this would be 10-20%.

Can you provide the running logs for these two commands?

[cplayer] Command line options: 'av://v4l2:/dev/video11' '--vo=gpu' '--profile=fast' '-v'
[cplayer] mpv v0.39.0-889-g1bcc76d7f Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Feb 24 2025 10:56:14
[cplayer] libplacebo version: v7.350.0 (v7.349.0-37-g7de24151)
[cplayer] FFmpeg version: 04f5eaa11c
[cplayer] FFmpeg library versions:
[cplayer]    libavcodec      60.31.102
[cplayer]    libavdevice     60.3.100
[cplayer]    libavfilter     9.12.100
[cplayer]    libavformat     60.16.100
[cplayer]    libavutil       58.29.100
[cplayer]    libswresample   4.12.100
[cplayer]    libswscale      7.5.100
[cplayer] Configuration: -Dbuildtype=release -Dlibmpv=false -Dopenal=enabled -Ddvbin=enabled -Ddvdnav=enabled -Dsdl2=enabled -Dcdda=enabled -Dprefix=/usr
[cplayer] List of enabled features: alsa build-date caca cdda cplugins dmabuf-interop-gl dmabuf-wayland drm dvbin dvdnav egl egl-drm egl-wayland egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jack jpeg lcms2 libarchive libass libavdevice libbluray libdl libplacebo linux-fstatfs lua52 memfd-create memrchr openal pipewire posix posix-shm ppoll pthread-condattr-setclock pulse rubberband rubberband-3 sdl2 sdl2-audio sdl2-gamepad sdl2-video sixel sndio sndio-1-9 uchardet vaapi vaapi-drm vaapi-wayland vaapi-x11 vdpau vector vk-khr-display vt.h vulkan wayland x11 xv zlib
[cplayer] Reading config file /etc/mpv/encoding-profiles.conf
[ifo_dvdnav] Opening /etc/mpv/encoding-profiles.conf
[bdmv/bluray] Opening /etc/mpv/encoding-profiles.conf
[file] Opening /etc/mpv/encoding-profiles.conf
[cplayer] Applying profile 'default'...
[cplayer] Setting option 'vo' = 'gpu' (flags = 8)
[cplayer] Setting option 'profile' = 'fast' (flags = 8)
[cplayer] Applying profile 'fast'...
[cplayer] Setting option 'scale' = 'bilinear' (flags = 12)
[cplayer] Setting option 'dscale' = 'bilinear' (flags = 12)
[cplayer] Setting option 'dither' = 'no' (flags = 12)
[cplayer] Setting option 'correct-downscaling' = 'no' (flags = 12)
[cplayer] Setting option 'linear-downscaling' = 'no' (flags = 12)
[cplayer] Setting option 'sigmoid-upscaling' = 'no' (flags = 12)
[cplayer] Setting option 'hdr-compute-peak' = 'no' (flags = 12)
[cplayer] Setting option 'allow-delayed-peak-detect' = 'yes' (flags = 12)
[cplayer] Setting option 'v' = '' (flags = 8)
[clipboard] Initialized vo clipboard backend.
[cplayer] Waiting for scripts...
[cplayer] Set property: user-data/osc/visibility="auto" -> 1
[cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
[cplayer] Done loading scripts.
[cplayer] Running hook: auto_profiles/on_before_start_file
[cplayer] Failed sending hook command auto_profiles/on_before_start_file. Removing hook.
[cplayer] Running hook: ytdl_hook/on_load
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] playlist hook
[cplayer] Running hook: auto_profiles/on_load
[cplayer] Failed sending hook command auto_profiles/on_load. Removing hook.
[avdevice] Opening av://v4l2:/dev/video11
[demux] Trying demuxers for level=request.
[cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
[cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
[osd/libass] libass API version: 0x1703020
[osd/libass] libass source: commit: 0.17.3-79-g1b699559025185e34d21a24cac477ca360cb917d-dirty
[osd/libass] Shaper: FriBidi 1.0.8 (SIMPLE) HarfBuzz-ng 6.0.0 (COMPLEX)
[osd/libass] Setting up fonts...
[lavf] Found 'video4linux2,v4l2' at score=100 size=0 (forced).
[ffmpeg/demuxer] video4linux2,v4l2: ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device
[ffmpeg/demuxer] video4linux2,v4l2: ioctl(VIDIOC_G_PARM): Inappropriate ioctl for device
[ffmpeg/demuxer] video4linux2,v4l2: Time per frame unknown
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[lavf] Could not set AVOption user_agent='libmpv'
[lavf] Could not set AVOption tls_verify='0'
[lavf] Could not set AVOption icy='1'
[lavf] Could not set AVOption timeout='60000000'
[ffmpeg/demuxer] video4linux2,v4l2: Stream #0: not enough frames to estimate rate; consider increasing probesize
[lavf] avformat_find_stream_info() finished after 0 bytes.
[demux] Detected file format: video4linux2,v4l2 (libavformat)
[demux] Stream is not seekable.
[cplayer] Opening done: av://v4l2:/dev/video11
[cplayer] Running hook: ytdl_hook/on_preloaded
[cplayer] Running hook: auto_profiles/on_preloaded
[cplayer] Failed sending hook command auto_profiles/on_preloaded. Removing hook.
[lavf] select track 0
[cplayer] ● Video  --vid=1  (rawvideo 3840x2160)
[vo/gpu] Probing for best GPU context.
[vo/gpu/auto] Initializing GPU context 'auto'
[vo/gpu/vulkan] Initializing GPU context 'waylandvk'
[vo/gpu/libplacebo] Initialized libplacebo v7.350.0 (v7.349.0-37-g7de24151) (API v350)
[vo/gpu/libplacebo] Spent 44.502 ms enumerating instance extensions
[vo/gpu/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_EXT_swapchain_colorspace
[vo/gpu/libplacebo]     VK_KHR_external_memory_capabilities
[vo/gpu/libplacebo]     VK_KHR_external_semaphore_capabilities
[vo/gpu/libplacebo]     VK_KHR_get_surface_capabilities2
[vo/gpu/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_KHR_wayland_surface
[vo/gpu/vulkan] Initializing GPU context 'x11vk'
[vo/gpu/libplacebo] Initialized libplacebo v7.350.0 (v7.349.0-37-g7de24151) (API v350)
[vo/gpu/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_EXT_swapchain_colorspace
[vo/gpu/libplacebo]     VK_KHR_external_memory_capabilities
[vo/gpu/libplacebo]     VK_KHR_external_semaphore_capabilities
[vo/gpu/libplacebo]     VK_KHR_get_surface_capabilities2
[vo/gpu/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_KHR_xlib_surface
[vo/gpu/x11] X11 opening display: :1
[vo/gpu/x11] Display 0 (HDMI-1): [0, 0, 1920, 1080] @ 60.000000 FPS
[vo/gpu/x11] Current display FPS: 60.000000
[vo/gpu/x11] The XPresent extension was found.
[vo/gpu/x11] XPresent enabled.
[vo/gpu/libplacebo] Probing for vulkan devices:
[vo/gpu/libplacebo]     GPU 0: llvmpipe (LLVM 15.0.7, 128 bits) v1.3.289 (software)
[vo/gpu/libplacebo]            uuid: 6D:65:73:61:32:34:2E:32:7E:67:69:74:32:34:30:00
[vo/gpu/libplacebo] Found no suitable device, giving up.
[vo/gpu/libplacebo] Failed initializing vulkan device
[vo/gpu/opengl] Initializing GPU context 'wayland'
[vo/gpu/opengl] Initializing GPU context 'x11egl'
[vo/gpu/x11] X11 opening display: :1
[vo/gpu/x11] Display 0 (HDMI-1): [0, 0, 1920, 1080] @ 60.000000 FPS
[vo/gpu/x11] Current display FPS: 60.000000
[vo/gpu/opengl] EGL_VERSION=1.4
[vo/gpu/opengl] EGL_VENDOR=Mesa Project
[vo/gpu/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
[vo/gpu/opengl] Trying to create Desktop OpenGL context.
[vo/gpu/opengl] Choosing visual EGL config 0x9, visual ID 0x21
[vo/gpu/x11] The XPresent extension was found.
[vo/gpu/x11] XPresent enabled.
[vo/gpu/opengl] GL_VERSION='3.1 Mesa 24.2~git2407100600.ae3e0a~oibaf~j (git-ae3e0ae 2024-07-10 jammy-oibaf-ppa)'
[vo/gpu/opengl] Detected desktop OpenGL 3.1.
[vo/gpu/opengl] GL_VENDOR='Mesa'
[vo/gpu/opengl] GL_RENDERER='Mali-G610 (Panfrost)'
[vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='1.40'
[vo/gpu/opengl] Loaded extension GL_ARB_sync.
[vo/gpu/opengl] Loaded extension GL_ARB_invalidate_subdata.
[vo/gpu/opengl] Loaded extension GL_ARB_get_program_binary.
[vo/gpu/opengl] Loaded extension GL_ARB_buffer_storage.
[vo/gpu/opengl] Loaded extension GL_ARB_shader_image_load_store.
[vo/gpu/opengl] Loaded extension GL_ARB_shader_storage_buffer_object.
[vo/gpu/opengl] Loaded extension GL_ARB_arrays_of_arrays.
[vo/gpu/opengl] Loaded extension GL_ARB_debug_output.
[vo/gpu/opengl] Loaded extension GL_KHR_debug.
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu] Assuming 60.000000 FPS for display sync.
[vd] Container reported FPS: 0.000000
[vd] Codec list:
[vd]     rawvideo - raw video
[vd] Opening decoder rawvideo
[vd] No hardware decoding requested.
[vd] Using software decoding.
[vd] Detected 8 logical cores.
[vd] Requesting 9 threads for decoding.
[vd] Selected decoder: rawvideo - raw video
[vf] User filter list:
[vf]   (empty)
[cplayer] Starting playback...
[vd] Using software decoding.
[vd] Decoder format: 3840x2160 [0:1] uyvy422 auto/auto/auto/auto/auto CL=unknown crop=3840x2160+0+0
[vf] [in] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[vf] [userdeint] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[vf] [userdeint] (disabled)
[vf] [autorotate] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[vf] [autorotate] (disabled)
[vf] [convert] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[autoconvert] Converting uyvy422 -> yuv422p
[ffmpeg] swscaler: using unscaled uyvy422 -> yuv422p special converter
[swscale] unaligned libswscale parameter; using slow copy.
[vf] [out] 3840x2160 yuv422p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[osd/libass] libass API version: 0x1703020
[osd/libass] libass source: commit: 0.17.3-79-g1b699559025185e34d21a24cac477ca360cb917d-dirty
[osd/libass] Shaper: FriBidi 1.0.8 (SIMPLE) HarfBuzz-ng 6.0.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[cplayer] VO: [gpu] 3840x2160 yuv422p
[cplayer] VO: Description: Shader-based GPU Renderer
[vo/gpu] reconfig to 3840x2160 yuv422p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[vo/gpu] Resize: 3840x2160
[vo/gpu] Window size: 3840x2160 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 3840x2160 (1:1)
[vo/gpu] Video display: (0, 0) 3840x2160 -> (0, 0) 3840x2160
[vo/gpu] Video scale: 1.000000/1.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu] Reported display depth: 8
[vo/gpu] Texture for plane 0: 3840x2160
[vo/gpu] Texture for plane 1: 1920x2160
[vo/gpu] Texture for plane 2: 1920x2160
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[cplayer] first video frame after restart shown
[cplayer] playback restart complete @ 0.000000, audio=eof, video=playing
[vo/gpu/x11] Disabling screensaver.
[vo/gpu] Resize: 1791x1007
[vo/gpu] Window size: 1791x1007 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 3840x2160 (1:1)
[vo/gpu] Video display: (0, 0) 3840x2160 -> (0, 0) 1790x1007
[vo/gpu] Video scale: 0.466146/0.466204
[vo/gpu] OSD borders: l=0 t=0 r=1 b=0
[vo/gpu] Video borders: l=0 t=0 r=1 b=0
[vo/gpu] Reported display depth: 8
[vo/gpu] Resize: 1791x1007
[vo/gpu] Window size: 1791x1007 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 3840x2160 (1:1)
[vo/gpu] Video display: (0, 0) 3840x2160 -> (0, 0) 1790x1007
[vo/gpu] Video scale: 0.466146/0.466204
[vo/gpu] OSD borders: l=0 t=0 r=1 b=0
[vo/gpu] Video borders: l=0 t=0 r=1 b=0
[vo/gpu] Reported display depth: 8
[statusline] V: 00:00:00 / 00:00:00 (0%)
[statusline] V: 00:00:00 / 00:00:00 (11%)
[statusline] V: 00:00:00 / 00:00:00 (20%)
[cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
[statusline] V: 00:00:00 / 00:00:00 (20%)
[statusline] V: 00:00:00 / 00:00:00 (27%)
[cplayer] Set property: user-data/osc/margins={"b":0,"l":0,"t":0,"r":0} -> 1
[cplayer] Command line options: 'av://v4l2:/dev/video-camera0' '--vo=gpu' '--hwdec=rkmpp' '--profile=fast' '--vf=scale_rkrga=force_yuv=8bit' '-v'
[cplayer] mpv v0.39.0-889-g1bcc76d7f Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Feb 24 2025 10:56:14
[cplayer] libplacebo version: v7.350.0 (v7.349.0-37-g7de24151)
[cplayer] FFmpeg version: 04f5eaa11c
[cplayer] FFmpeg library versions:
[cplayer]    libavcodec      60.31.102
[cplayer]    libavdevice     60.3.100
[cplayer]    libavfilter     9.12.100
[cplayer]    libavformat     60.16.100
[cplayer]    libavutil       58.29.100
[cplayer]    libswresample   4.12.100
[cplayer]    libswscale      7.5.100
[cplayer] Configuration: -Dbuildtype=release -Dlibmpv=false -Dopenal=enabled -Ddvbin=enabled -Ddvdnav=enabled -Dsdl2=enabled -Dcdda=enabled -Dprefix=/usr
[cplayer] List of enabled features: alsa build-date caca cdda cplugins dmabuf-interop-gl dmabuf-wayland drm dvbin dvdnav egl egl-drm egl-wayland egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jack jpeg lcms2 libarchive libass libavdevice libbluray libdl libplacebo linux-fstatfs lua52 memfd-create memrchr openal pipewire posix posix-shm ppoll pthread-condattr-setclock pulse rubberband rubberband-3 sdl2 sdl2-audio sdl2-gamepad sdl2-video sixel sndio sndio-1-9 uchardet vaapi vaapi-drm vaapi-wayland vaapi-x11 vdpau vector vk-khr-display vt.h vulkan wayland x11 xv zlib
[cplayer] Reading config file /etc/mpv/encoding-profiles.conf
[ifo_dvdnav] Opening /etc/mpv/encoding-profiles.conf
[bdmv/bluray] Opening /etc/mpv/encoding-profiles.conf
[file] Opening /etc/mpv/encoding-profiles.conf
[cplayer] Applying profile 'default'...
[cplayer] Setting option 'vo' = 'gpu' (flags = 8)
[cplayer] Setting option 'hwdec' = 'rkmpp' (flags = 8)
[cplayer] Setting option 'profile' = 'fast' (flags = 8)
[cplayer] Applying profile 'fast'...
[cplayer] Setting option 'scale' = 'bilinear' (flags = 12)
[cplayer] Setting option 'dscale' = 'bilinear' (flags = 12)
[cplayer] Setting option 'dither' = 'no' (flags = 12)
[cplayer] Setting option 'correct-downscaling' = 'no' (flags = 12)
[cplayer] Setting option 'linear-downscaling' = 'no' (flags = 12)
[cplayer] Setting option 'sigmoid-upscaling' = 'no' (flags = 12)
[cplayer] Setting option 'hdr-compute-peak' = 'no' (flags = 12)
[cplayer] Setting option 'allow-delayed-peak-detect' = 'yes' (flags = 12)
[cplayer] Setting option 'vf' = 'scale_rkrga=force_yuv=8bit' (flags = 8)
[cplayer] Setting option 'v' = '' (flags = 8)
[clipboard] Initialized vo clipboard backend.
[cplayer] Waiting for scripts...
[cplayer] Set property: user-data/osc/visibility="auto" -> 1
[cplayer] Set property: user-data/osc/margins={"r":0,"b":0,"l":0,"t":0} -> 1
[cplayer] Set property: user-data/osc/margins={"r":0,"b":0,"l":0,"t":0} -> 1
[cplayer] Set property: user-data/osc/margins={"r":0,"b":0,"l":0,"t":0} -> 1
[osd/libass] libass API version: 0x1703020
[osd/libass] libass source: commit: 0.17.3-79-g1b699559025185e34d21a24cac477ca360cb917d-dirty
[osd/libass] Shaper: FriBidi 1.0.8 (SIMPLE) HarfBuzz-ng 6.0.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[cplayer] Done loading scripts.
[cplayer] Running hook: auto_profiles/on_before_start_file
[cplayer] Failed sending hook command auto_profiles/on_before_start_file. Removing hook.
[cplayer] Running hook: ytdl_hook/on_load
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] playlist hook
[cplayer] Running hook: auto_profiles/on_load
[cplayer] Failed sending hook command auto_profiles/on_load. Removing hook.
[avdevice] Opening av://v4l2:/dev/video-camera0
[demux] Trying demuxers for level=request.
[lavf] Found 'video4linux2,v4l2' at score=100 size=0 (forced).
[ffmpeg/demuxer] video4linux2,v4l2: ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device
[ffmpeg/demuxer] video4linux2,v4l2: ioctl(VIDIOC_G_PARM): Inappropriate ioctl for device
[ffmpeg/demuxer] video4linux2,v4l2: Time per frame unknown
[cplayer] Set property: user-data/osc/margins={"r":0,"b":0,"l":0,"t":0} -> 1
[lavf] Could not set AVOption user_agent='libmpv'
[lavf] Could not set AVOption tls_verify='0'
[lavf] Could not set AVOption icy='1'
[lavf] Could not set AVOption timeout='60000000'
[ffmpeg/demuxer] video4linux2,v4l2: Stream #0: not enough frames to estimate rate; consider increasing probesize
[lavf] avformat_find_stream_info() finished after 0 bytes.
[demux] Detected file format: video4linux2,v4l2 (libavformat)
[demux] Stream is not seekable.
[cplayer] Opening done: av://v4l2:/dev/video-camera0
[cplayer] Running hook: ytdl_hook/on_preloaded
[cplayer] Running hook: auto_profiles/on_preloaded
[cplayer] Failed sending hook command auto_profiles/on_preloaded. Removing hook.
[lavf] select track 0
[cplayer] ● Video  --vid=1  (rawvideo 3840x2160)
[vo/gpu] Probing for best GPU context.
[vo/gpu/auto] Initializing GPU context 'auto'
[vo/gpu/vulkan] Initializing GPU context 'waylandvk'
[vo/gpu/libplacebo] Initialized libplacebo v7.350.0 (v7.349.0-37-g7de24151) (API v350)
[vo/gpu/libplacebo] Spent 53.538 ms enumerating instance extensions
[vo/gpu/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_EXT_swapchain_colorspace
[vo/gpu/libplacebo]     VK_KHR_external_memory_capabilities
[vo/gpu/libplacebo]     VK_KHR_external_semaphore_capabilities
[vo/gpu/libplacebo]     VK_KHR_get_surface_capabilities2
[vo/gpu/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_KHR_wayland_surface
[vo/gpu/vulkan] Initializing GPU context 'x11vk'
[vo/gpu/libplacebo] Initialized libplacebo v7.350.0 (v7.349.0-37-g7de24151) (API v350)
[vo/gpu/libplacebo] Creating vulkan instance with extensions:
[vo/gpu/libplacebo]     VK_KHR_get_physical_device_properties2
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_EXT_swapchain_colorspace
[vo/gpu/libplacebo]     VK_KHR_external_memory_capabilities
[vo/gpu/libplacebo]     VK_KHR_external_semaphore_capabilities
[vo/gpu/libplacebo]     VK_KHR_get_surface_capabilities2
[vo/gpu/libplacebo]     VK_KHR_portability_enumeration
[vo/gpu/libplacebo]     VK_KHR_surface
[vo/gpu/libplacebo]     VK_KHR_xlib_surface
[vo/gpu/x11] X11 opening display: :1
[vo/gpu/x11] Display 0 (HDMI-1): [0, 0, 1920, 1080] @ 60.000000 FPS
[vo/gpu/x11] Current display FPS: 60.000000
[vo/gpu/x11] The XPresent extension was found.
[vo/gpu/x11] XPresent enabled.
[vo/gpu/libplacebo] Probing for vulkan devices:
[vo/gpu/libplacebo]     GPU 0: llvmpipe (LLVM 15.0.7, 128 bits) v1.3.289 (software)
[vo/gpu/libplacebo]            uuid: 6D:65:73:61:32:34:2E:32:7E:67:69:74:32:34:30:00
[vo/gpu/libplacebo] Found no suitable device, giving up.
[vo/gpu/libplacebo] Failed initializing vulkan device
[vo/gpu/opengl] Initializing GPU context 'wayland'
[vo/gpu/opengl] Initializing GPU context 'x11egl'
[vo/gpu/x11] X11 opening display: :1
[vo/gpu/x11] Display 0 (HDMI-1): [0, 0, 1920, 1080] @ 60.000000 FPS
[vo/gpu/x11] Current display FPS: 60.000000
[vo/gpu/opengl] EGL_VERSION=1.4
[vo/gpu/opengl] EGL_VENDOR=Mesa Project
[vo/gpu/opengl] EGL_CLIENT_APIS=OpenGL OpenGL_ES 
[vo/gpu/opengl] Trying to create Desktop OpenGL context.
[vo/gpu/opengl] Choosing visual EGL config 0x9, visual ID 0x21
[vo/gpu/x11] The XPresent extension was found.
[vo/gpu/x11] XPresent enabled.
[vo/gpu/opengl] GL_VERSION='3.1 Mesa 24.2~git2407100600.ae3e0a~oibaf~j (git-ae3e0ae 2024-07-10 jammy-oibaf-ppa)'
[vo/gpu/opengl] Detected desktop OpenGL 3.1.
[vo/gpu/opengl] GL_VENDOR='Mesa'
[vo/gpu/opengl] GL_RENDERER='Mali-G610 (Panfrost)'
[vo/gpu/opengl] GL_SHADING_LANGUAGE_VERSION='1.40'
[vo/gpu/opengl] Loaded extension GL_ARB_sync.
[vo/gpu/opengl] Loaded extension GL_ARB_invalidate_subdata.
[vo/gpu/opengl] Loaded extension GL_ARB_get_program_binary.
[vo/gpu/opengl] Loaded extension GL_ARB_buffer_storage.
[vo/gpu/opengl] Loaded extension GL_ARB_shader_image_load_store.
[vo/gpu/opengl] Loaded extension GL_ARB_shader_storage_buffer_object.
[vo/gpu/opengl] Loaded extension GL_ARB_arrays_of_arrays.
[vo/gpu/opengl] Loaded extension GL_ARB_debug_output.
[vo/gpu/opengl] Loaded extension GL_KHR_debug.
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu] Assuming 60.000000 FPS for display sync.
[vd] Container reported FPS: 0.000000
[vd] Codec list:
[vd]     rawvideo - raw video
[vd] Opening decoder rawvideo
[vd] Not trying to use hardware decoding: codec rawvideo is not on whitelist.
[vd] Using software decoding.
[vd] Detected 8 logical cores.
[vd] Requesting 9 threads for decoding.
[vd] Selected decoder: rawvideo - raw video
[vf] User filter list:
[vf]   scale_rkrga (scale_rkrga.00)
[cplayer] Starting playback...
[vd] Using software decoding.
[vd] Decoder format: 3840x2160 [0:1] uyvy422 auto/auto/auto/auto/auto CL=unknown crop=3840x2160+0+0
[vf] [in] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[vf] [userdeint] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[vf] [userdeint] (disabled)
[vf] [scale_rkrga] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[ffmpeg] Impossible to convert between the formats supported by the filter 'mpv_src_default_in' and the filter 'auto_scale_0'
[lavfi] failed to configure the filter graph
[vf] Disabling filter scale_rkrga.00 because it has failed.
[osd/libass] libass API version: 0x1703020
[osd/libass] libass source: commit: 0.17.3-79-g1b699559025185e34d21a24cac477ca360cb917d-dirty
[osd/libass] Shaper: FriBidi 1.0.8 (SIMPLE) HarfBuzz-ng 6.0.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[vf] [autorotate] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[vf] [autorotate] (disabled)
[vf] [convert] 3840x2160 uyvy422 bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[autoconvert] Converting uyvy422 -> yuv422p
[ffmpeg] swscaler: using unscaled uyvy422 -> yuv422p special converter
[swscale] unaligned libswscale parameter; using slow copy.
[vf] [out] 3840x2160 yuv422p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[cplayer] VO: [gpu] 3840x2160 yuv422p
[cplayer] VO: Description: Shader-based GPU Renderer
[vo/gpu] reconfig to 3840x2160 yuv422p bt.709/bt.709/bt.1886/limited/display CL=mpeg2/4/h264 crop=3840x2160+0+0
[vo/gpu] Resize: 3840x2160
[vo/gpu] Window size: 3840x2160 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 3840x2160 (1:1)
[vo/gpu] Video display: (0, 0) 3840x2160 -> (0, 0) 3840x2160
[vo/gpu] Video scale: 1.000000/1.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
[vo/gpu] Reported display depth: 8
[vo/gpu] Texture for plane 0: 3840x2160
[vo/gpu] Texture for plane 1: 1920x2160
[vo/gpu] Texture for plane 2: 1920x2160
[vo/gpu] Testing FBO format rgba16f
[vo/gpu] Using FBO format rgba16f.
[vo/gpu] No advanced processing required. Enabling dumb mode.
[vo/gpu] Resize: 1791x1007
[vo/gpu] Window size: 1791x1007 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 3840x2160 (1:1)
[vo/gpu] Video display: (0, 0) 3840x2160 -> (0, 0) 1790x1007
[vo/gpu] Video scale: 0.466146/0.466204
[vo/gpu] OSD borders: l=0 t=0 r=1 b=0
[vo/gpu] Video borders: l=0 t=0 r=1 b=0
[vo/gpu] Reported display depth: 8
[cplayer] first video frame after restart shown
[vo/gpu] Resize: 1791x1007
[vo/gpu] Window size: 1791x1007 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 3840x2160 (1:1)
[vo/gpu] Video display: (0, 0) 3840x2160 -> (0, 0) 1790x1007
[vo/gpu] Video scale: 0.466146/0.466204
[vo/gpu] OSD borders: l=0 t=0 r=1 b=0
[vo/gpu] Video borders: l=0 t=0 r=1 b=0
[vo/gpu] Reported display depth: 8
[cplayer] playback restart complete @ 0.033332, audio=eof, video=playing
[vo/gpu/x11] Disabling screensaver.
[statusline] V: 00:00:00 / 00:00:00 (14%)
[cplayer] Set property: user-data/osc/margins={"r":0,"b":0,"l":0,"t":0} -> 1
[statusline] V: 00:00:00 / 00:00:00 (14%)
[statusline] V: 00:00:00 / 00:00:00 (11%)
[statusline] V: 00:00:00 / 00:00:00 (18%)
[statusline] V: 00:00:00 / 00:00:00 (27%)
[cplayer] Set property: user-data/osc/margins={"r":0,"b":0,"l":0,"t":0} -> 1
[statusline] V: 00:00:00 / 00:00:00 (27%)
[statusline] V: 00:00:00 / 00:00:00 (33%)
[cplayer] Set property: user-data/osc/margins={"r":0,"b":0,"l":0,"t":0} -> 1

So I’ve done some more testing with various images and kernels the issue still persists.
HOWEVER the following steps work:

  1. radxa rock-5c cli bookworm image.
  2. apt update && apt upgrade
  3. compile ffmpeg with the following instructions: https://github.com/nyanmisaka/ffmpeg-rockchip/wiki/Compilation
  4. The following command does NOT work on the first run: ffmpeg -f v4l2 -i /dev/video-camera0 -vf "fps=30" -s 3840x2160 -c:v h264_rkmpp -rc_mode AVBR -b:v 20M -minrate 10M -maxrate 40M -profile:v main -level 5.1 -f rtsp rtsp://0.0.0.0:8554/stream
  5. HOWEVER changing the h264 profile to high somehow makes it work after a few seconds, subsequent attempts with main profile also start working.
radxa@rock-5c:~$ uname -a
Linux rock-5c 6.1.84-6-rk2410 #6 SMP Fri Apr 18 09:22:57 UTC 2025 aarch64 GNU/Linux
radxa@rock-5c:~$ ffmpeg -version
ffmpeg version 57d5bef Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga
libavutil      58. 29.100 / 58. 29.100
libavcodec     60. 31.102 / 60. 31.102
libavformat    60. 16.100 / 60. 16.100
libavdevice    60.  3.100 / 60.  3.100
libavfilter     9. 12.100 /  9. 12.100
libswscale      7.  5.100 /  7.  5.100
libswresample   4. 12.100 /  4. 12.100
libpostproc    57.  3.100 / 57.  3.100

The kde 5c image also started to work, I assume for the same reason (changing profile). I only have 1 camera to test with and not many SD cards to be able to quickly test things. Hopefully the above will help if someone else stumbles upon this. Disappointing result and not sure this can be used in a production setting without proper testing on various boards / cameras.

@stardust might interest you.

@RandomMaestro I used rock-5c for testing again and did not have this issue

Interesting.

I might have a faulty camera then since I’ve tried it on 2 different boards with the same issue.
Thank you for looking into it.