I’ve seen something interesting about Gstreaemer and wanted some clarity. I’m saving a camera stream to file. The camera used BGRx (32 bits per pixel) and has a resolution of 1456x1088 pixels. In theory, each frame should be 50.692096 Megabits. At 50FPS, a 30 second video should weight ~9.5 Gigabytes. However when running the pipeline below, the output file is only 1.5GB!
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=BGRx! filesink location=test
Curiously however, if I use v4l2-ctl, I get a value size equal to the theoretical file size
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1456,height=1088,pixelformat=BGRx --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=test
In the above, the “test” frame is 50.692096 Megabits, which is as expected. My questions would be, why/how is Gstreamer compressing the files, and what sort of information am I loosing (e.g. am I loosing colour information?)