[FFmpeg-user] HSV / RGB issue where picture is mostly Pink

Jeffrey Carter stealer at lesuorac.com
Tue Feb 15 04:50:01 EET 2022


Hello,

I am trying to use FFMPEG to send the output from a MS2109 HDMI to USB
capture device to a RTSP server and then to VLC.
I've previously used an EasyCap device (composite instead of HDMI)
without issue.

The problem is that after running the ffmpeg command and looking at
the output in VLC the whites in the image appear pink and I believe
it's the black that appear green. From my understanding this is a HSV
vs RGB issue but I am unsure where the issue is originating from.
Is there a way with FFMPEG to cast the image data so that it treats it
as RGB/HSV without a conversion so I can get the color fixed?

I can add more parameters to the command but this is the simplest
command that reproduces the issue. "-input_format
(rawvideo|mjpeg|yuyv422)" all cause the same issue as well.
$ ffmpeg -i /dev/video0 -f rtsp rtsp://192.168.6.1:8554/test.stream
ffmpeg version git-2022-02-05-bedb4ba Copyright (c) 2000-2022 the
FFmpeg developers
  built with gcc 8 (Raspbian 8.3.0-6+rpi1)
  configuration: --arch=armel --target-os=linux --enable-gpl
--enable-nonfree --enable-mmal --enable-omx --enable-omx-rpi
--enable-libx264 --extra-ldflags=-latomic --enable-muxer=rtsp
--enable-muxer=rtp --enable-protocol=tcp --enable-protocol=udp
  libavutil      57. 19.100 / 57. 19.100
  libavcodec     59. 20.100 / 59. 20.100
  libavformat    59. 17.101 / 59. 17.101
  libavdevice    59.  5.100 / 59.  5.100
  libavfilter     8. 26.101 /  8. 26.101
  libswscale      6.  5.100 /  6.  5.100
  libswresample   4.  4.100 /  4.  4.100
  libpostproc    56.  4.100 / 56.  4.100
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 182238.016035, bitrate: 147456 kb/s
  Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720,
147456 kb/s, 10 fps, 10 tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
[udp @ 0x35ac270] attempted to set receive buffer to size 393216 but
it only ended up set as 360448
[udp @ 0x35abe10] attempted to set receive buffer to size 393216 but
it only ended up set as 360448
[rtsp @ 0x347c6d0] method SETUP failed: 461 Unsupported Transport
Output #0, rtsp, to 'rtsp://192.168.6.1:8554/test.stream':
  Metadata:
    encoder         : Lavf59.17.101
  Stream #0:0: Video: mpeg4, yuv420p(tv, progressive), 1280x720,
q=2-31, 200 kb/s, 10 fps, 90k tbn
    Metadata:
      encoder         : Lavc59.20.100 mpeg4
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame=   87 fps= 10 q=31.0 Lsize=N/A time=00:00:08.60 bitrate=N/A speed=0.988x
video:633kB audio:0kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
Exiting normally, received signal 2.

I believe I should be able to use "-input_format=mjpeg" since it shows
up as a format.
$ ffmpeg -f v4l2 -list_formats all -i /dev/video0
ffmpeg version git-2022-02-05-bedb4ba Copyright (c) 2000-2022 the
FFmpeg developers
  built with gcc 8 (Raspbian 8.3.0-6+rpi1)
  configuration: --arch=armel --target-os=linux --enable-gpl
--enable-nonfree --enable-mmal --enable-omx --enable-omx-rpi
--enable-libx264 --extra-ldflags=-latomic --enable-muxer=rtsp
--enable-muxer=rtp --enable-protocol=tcp --enable-protocol=udp
  libavutil      57. 19.100 / 57. 19.100
  libavcodec     59. 20.100 / 59. 20.100
  libavformat    59. 17.101 / 59. 17.101
  libavdevice    59.  5.100 / 59.  5.100
  libavfilter     8. 26.101 /  8. 26.101
  libswscale      6.  5.100 /  6.  5.100
  libswresample   4.  4.100 /  4.  4.100
  libpostproc    56.  4.100 / 56.  4.100
[video4linux2,v4l2 @ 0x1b22250] Compressed:       mjpeg :
Motion-JPEG : 1920x1080 1600x1200 1360x768 1280x1024 1280x960 1280x720
1024x768 800x600 720x576 720x480 640x480
[video4linux2,v4l2 @ 0x1b22250] Raw       :     yuyv422 :
YUYV 4:2:2 : 1920x1080 1600x1200 1360x768 1280x1024 1280x960 1280x720
1024x768 800x600 720x576 720x480 640x480

Thanks,
Jeff


More information about the ffmpeg-user mailing list