[FFmpeg-user] rgb8

Paul B Mahol onemda at gmail.com
Wed May 31 10:54:02 EEST 2023


On Wed, May 31, 2023 at 9:14 AM Michael Koch <astroelectronic at t-online.de>
wrote:

> Am 31.05.2023 um 08:56 schrieb Paul B Mahol:
> > On Wed, May 31, 2023 at 8:28 AM Michael Koch <
> astroelectronic at t-online.de>
> > wrote:
> >
> >> Am 31.05.2023 um 08:15 schrieb Kieran O Leary:
> >>> On Wed 31 May 2023 at 06:18, Michael Koch <astroelectronic at t-online.de
> >
> >>> wrote:
> >>>
> >>>> Am 30.05.2023 um 22:53 schrieb Paul B Mahol:
> >>>>> On Tue, May 30, 2023 at 8:32 PM Michael Koch <
> >>>> astroelectronic at t-online.de>
> >>>>> wrote:
> >>>>>
> >>>>>> Am 30.05.2023 um 20:28 schrieb Reindl Harald:
> >>>>>>> Am 30.05.23 um 20:21 schrieb Michael Koch:
> >>>>>>>> ffmpeg -f dshow -video_size 1280x800 -framerate 5 -pixel_format
> rgb8
> >>>>>>>> -i video="ASI178MM Camera (ZWO Design)" -f rawvideo -frames 1 -y
> >>>>>>>> test.raw
> >>>>>>>>
> >>>>>>>> Then I did read this file, assuming that the pixel format is gray:
> >>>>>>>>
> >>>>>>>> ffmpeg -s 1280x800 -pixel_format gray -f rawvideo -i test.raw -y
> >>>>>>>> gray.png
> >>>>>>>>
> >>>>>>>> The result looks correct. Is it possible to do this in one command
> >>>>>>>> line? I mean just tell FFmpeg that the pixel format isn't rgb8 but
> >>>>>>>> gray, without making any modifications to the data?
> >>>>>>> parameters before the input file are *input params*
> >>>>>>>
> >>>>>>> so why don't you change "-pixel_format rgb8" to "-pixel_format
> gray"
> >>>>>>> in the first command line when you say it works in the second one?
> >>>>>> When reading from the camera, the pixel format must be rgb8 because
> >> this
> >>>>>> is the only format supported by the DirectShow driver. All other
> pixel
> >>>>>> formats give error message.
> >>>>>>
> >>>>> Yes, looks like buggy code, the rgb8 is actually gray and not color.
> >>>> Is it possible to get correct gray data from the buggy driver in one
> >>>> FFmpeg command line? I mean the data can only be read from the driver
> as
> >>>> rgb8. Is it possible to tell FFmpeg that it's actually gray? It works
> as
> >>>> a two-step process with an intermediate raw file, but I'd like to do
> the
> >>>> same thing in one command line in realtime.
> >>>
> >>> I’m not as familiar with this kind of usage but does adding “-pix_fmt
> >> gray
> >>> “ as an output option not work for you?
> >> Then FFmpeg does convert from rgb8 to gray, which gives wrong noisy
> >> output. Because the data is already gray. It's only incorrectly labeled
> >> as rgb8.
> >>
> >>
> > Once I push extractplanes commit you will be able to extract r/g/b
> > component from rgb8.
> > And after that is just matter of using mergeplanes and geq filters.
>
> Couldn't this be simplified with a new filter "set_pixel_format" which
> tells FFmpeg to interpret the data as a different pixel format, without
> making any modifications to the data?
> In my case the data is already correct. It's only labeled incorrectly.
>
>
That would be hack for one specific usecase.


> Michael
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-user mailing list