0

I am using ffmpeg on a Raspberry Pi 400, attached to a camera array to capture one image from each camera.

Most images generated are highly overexposed and washed out. I am trying to understand which command line options I should set to prevent this over exposure.
Sample grossly over exposed image

Are there options I need to set for the camera to automatically set the right exposure, or some way to set the length of an exposure as opposed to just a "frame"?

Also, each image is taking about 3 to 4 seconds to capture. I just want to capture the first possible frame and that's it. Is there a set of options which would capture the image is less time?

/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video0 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam00.jpg
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 672949.710856, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x184adb0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam00.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=1.0 q=3.7 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.39x    
video:37kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video0 image in: 3 seconds
linux_capture_photo_and_return_image_path( /dev/video0 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 1 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam00.jpg
1 /dev/video0: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam00.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video2 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam02.jpg
Input #0, video4linux2,v4l2, from '/dev/video2':
  Duration: N/A, start: 672958.327329, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x1d27db0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam02.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=0.9 q=8.6 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.374x    
video:136kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video2 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video2 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 2 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam02.jpg
2 /dev/video2: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam02.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video4 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam04.jpg
Input #0, video4linux2,v4l2, from '/dev/video4':
  Duration: N/A, start: 672963.021864, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x10bedb0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam04.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=1.0 q=3.7 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.389x    
video:42kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video4 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video4 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 3 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam04.jpg
3 /dev/video4: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam04.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video6 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam06.jpg
Input #0, video4linux2,v4l2, from '/dev/video6':
  Duration: N/A, start: 672967.663385, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x24e4db0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam06.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=0.9 q=8.2 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.352x    
video:126kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video6 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video6 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 4 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam06.jpg
4 /dev/video6: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam06.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video8 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam08.jpg
Input #0, video4linux2,v4l2, from '/dev/video8':
  Duration: N/A, start: 672972.189025, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x13fadb0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam08.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=0.9 q=9.1 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.352x    
video:154kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video8 image in: 3 seconds
linux_capture_photo_and_return_image_path( /dev/video8 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 5 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam08.jpg
5 /dev/video8: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam08.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video17 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam17.jpg
Input #0, video4linux2,v4l2, from '/dev/video17':
  Duration: N/A, start: 672976.730667, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0xae6e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam17.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=0.9 q=8.7 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.353x    
video:164kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video17 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video17 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 6 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam17.jpg
6 /dev/video17: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam17.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video19 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam19.jpg
Input #0, video4linux2,v4l2, from '/dev/video19':
  Duration: N/A, start: 672981.425451, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x15a7e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam19.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=1.0 q=3.2 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.391x    
video:40kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video19 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video19 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 7 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam19.jpg
7 /dev/video19: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam19.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video21 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam21.jpg
Input #0, video4linux2,v4l2, from '/dev/video21':
  Duration: N/A, start: 672986.050603, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x1722e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam21.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=1.0 q=7.8 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.388x    
video:119kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video21 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video21 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 8 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam21.jpg
8 /dev/video21: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam21.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video23 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam23.jpg
Input #0, video4linux2,v4l2, from '/dev/video23':
  Duration: N/A, start: 672990.712888, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x19f4e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam23.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=1.0 q=3.4 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.389x    
video:42kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video23 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video23 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 9 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam23.jpg
9 /dev/video23: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam23.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video25 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam25.jpg
Input #0, video4linux2,v4l2, from '/dev/video25':
  Duration: N/A, start: 672995.359539, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x9d7e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam25.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=0.9 q=8.4 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.369x    
video:146kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video25 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video25 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 10 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam25.jpg
10 /dev/video25: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam25.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video27 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam27.jpg
Input #0, video4linux2,v4l2, from '/dev/video27':
  Duration: N/A, start: 673000.069328, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x1f90e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam27.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=1.0 q=3.9 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.382x    
video:135kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video27 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video27 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 11 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam27.jpg
11 /dev/video27: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam27.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video29 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam29.jpg
Input #0, video4linux2,v4l2, from '/dev/video29':
  Duration: N/A, start: 673004.676618, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x22dde20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam29.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=1.0 q=9.3 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.385x    
video:165kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video29 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video29 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 12 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam29.jpg
12 /dev/video29: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam29.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video31 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam31.jpg
Input #0, video4linux2,v4l2, from '/dev/video31':
  Duration: N/A, start: 673009.555417, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x22f5e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam31.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=0.8 q=8.6 Lsize=N/A time=00:00:00.40 bitrate=N/A speed=0.335x    
video:141kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video31 image in: 4 seconds
linux_capture_photo_and_return_image_path( /dev/video31 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 13 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam31.jpg
13 /dev/video31: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam31.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video33 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam33.jpg
Input #0, video4linux2,v4l2, from '/dev/video33':
  Duration: N/A, start: 673014.171570, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x6d4e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam33.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=0.9 q=9.7 Lsize=N/A time=00:00:00.20 bitrate=N/A speed=0.172x    
video:156kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video33 image in: 3 seconds
linux_capture_photo_and_return_image_path( /dev/video33 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 14 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam33.jpg
14 /dev/video33: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam33.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video35 -frames:v 1 -f image2 /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam35.jpg
Input #0, video4linux2,v4l2, from '/dev/video35':
  Duration: N/A, start: 673018.565769, bitrate: 165888 kb/s
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x1667e20] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam35.jpg':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj422p(pc), 1920x1080, q=2-31, 200 kb/s, 5 fps, 5 tbn, 5 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    1 fps=0.8 q=9.8 Lsize=N/A time=00:00:00.20 bitrate=N/A speed=0.167x    
video:148kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Captured /dev/video35 image in: 3 seconds
linux_capture_photo_and_return_image_path( /dev/video35 , /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/ , 15 ) RETURNS /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam35.jpg
15 /dev/video35: /var/www/html/sonascan/data/scans/10000000e1f45394/20210405184504/SonaCam35.jpg
/usr/bin/ffmpeg -y -hide_banner -ss 0:0:0 -r 15 -s 1920x1080 -f video4linux2 -i /dev/video37 -frames:v 1 -f image2

$ v4l2-ctl --all
Driver Info:
    Driver name      : uvcvideo
    Card type        : FHD Camera: FHD Camera
    Bus info         : usb-0000:01:00.0-1.2.1.1
    Driver version   : 5.10.17
    Capabilities     : 0x84a00001
        Video Capture
        Metadata Capture
        Streaming
        Extended Pix Format
        Device Capabilities
    Device Caps      : 0x04200001
        Video Capture
        Streaming
        Extended Pix Format
Media Driver Info:
    Driver name      : uvcvideo
    Model            : FHD Camera: FHD Camera
    Serial           : 
    Bus info         : usb-0000:01:00.0-1.2.1.1
    Media version    : 5.10.17
    Hardware revision: 0x00000001 (1)
    Driver version   : 5.10.17
Interface Info:
    ID               : 0x03000002
    Type             : V4L Video
Entity Info:
    ID               : 0x00000001 (1)
    Name             : FHD Camera: FHD Camera
    Function         : V4L2 I/O
    Flags         : default
    Pad 0x01000007   : 0: Sink
      Link 0x02000013: from remote pad 0x100000a of entity 'Extension 4': Data, Enabled, Immutable
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
    Width/Height      : 1920/1080
    Pixel Format      : 'YUYV' (YUYV 4:2:2)
    Field             : None
    Bytes per Line    : 3840
    Size Image        : 4147200
    Colorspace        : sRGB
    Transfer Function : Rec. 709
    YCbCr/HSV Encoding: ITU-R 601
    Quantization      : Default (maps to Limited Range)
    Flags             : 
Crop Capability Video Capture:
    Bounds      : Left 0, Top 0, Width 1920, Height 1080
    Default     : Left 0, Top 0, Width 1920, Height 1080
    Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags: 
Selection: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags: 
Streaming Parameters Video Capture:
    Capabilities     : timeperframe
    Frames per second: 5.000 (5/1)
    Read buffers     : 0
                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=128
                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=30 value=30
                     saturation 0x00980902 (int)    : min=0 max=100 step=1 default=64 value=64
                            hue 0x00980903 (int)    : min=-180 max=180 step=1 default=0 value=0
 white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                          gamma 0x00980910 (int)    : min=90 max=150 step=1 default=120 value=120
                           gain 0x00980913 (int)    : min=4 max=8 step=1 default=5 value=5
           power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=1 value=1
      white_balance_temperature 0x0098091a (int)    : min=2800 max=6500 step=1 default=4000 value=4000 flags=inactive
                      sharpness 0x0098091b (int)    : min=0 max=7 step=1 default=2 value=2
         backlight_compensation 0x0098091c (int)    : min=0 max=2 step=1 default=2 value=2
                  exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
              exposure_absolute 0x009a0902 (int)    : min=9 max=2500 step=1 default=123 value=123 flags=inactive
error 22 getting ext_ctrl Exposure, Auto Priority
mcgregor94086
  • 1,467
  • 3
  • 11
  • 22
  • Is the image being taken in low light? I would look into `v4l2-ctl` to directly view and adjust settings at the camera level before doing anything in `ffmpeg`. – llogan Apr 06 '21 at 16:57
  • This is not a low light exposure. I have tried it both with ambient daylight lighting, and with bright LED lighting. – mcgregor94086 Apr 06 '21 at 22:09
  • I have added v4l2-ctl output to the original post above. – mcgregor94086 Apr 06 '21 at 22:24
  • I can plug this same device into my Mac Book Pro, and the image is much better exposed. The main difference is that the ffmpeg command line for the Mac has to use AVFoundation libraries, while the RPI has to use video4linux. This is why I think the problem is in the ffmpeg syntax. – mcgregor94086 Apr 09 '21 at 00:27
  • That doesn't exclude v4l2 as the culprit, so it's not clear that ffmpeg itself is the cause issue. Do other tools that can work with v4l2 have the same issue? fswebcam, vlc, etc? – llogan Apr 09 '21 at 01:02
  • Actually, I believe Llogan is right that the issue has to do with video4linux. I believe that the ffmpeg options I am providing to video4linux are probably wrong and causing this problem. I just don't know what the right option string should be. – mcgregor94086 Apr 09 '21 at 02:35
  • Try another tool that supports getting images from v4l2. If it has the same problem then it will be more likely a problem at the driver/camera/v4l2 level. Then you can try adjusting the `exposure_auto`, `exposure_absolute`, etc with `v4l2-ctl` before running `ffmpeg`. – llogan Apr 09 '21 at 16:37

0 Answers0