Raspberry camera / gstreamer / raspivid / raspiraw / global external shutter
[Warning: this page loads 35.7MB (animated) images currently …]

I. camera    II. my usage    III. gstreamer    IV. raspivid    V. raspiraw
VI. v1 camera global external shutter    VII. selected examples and gallery
(right click on small images for original size view)
    raspiraw 600fps video; power line frequency is 50Hz ➫ repeat every 600/(2*50)=6 frames:
  1. camera

    1. Raspberry Pi Camera Guide (132 pages, free download)
    2. Raspberry Camera Module (v1+v2+HQ)
    3. v1+v2+HQ mode tables, raspivid/raspistill
    4. spec/datasheet
      1. v1, ov5647, 5MP, max. 2592x1944 (datasheet)
      2. v2, imx219PQ, 8MP, max. 3280x2464 (datasheet)
      3. HQ, imx477, 12MP, max. 4056x3040 (no datasheet yet?)
    5. price
      1. rev 1.3 price now <3.50$ (free shipping)
      2. rev 1.3 night vision ~10$
      3. v2 cameras 25$
      4. HQ camera 50$, no lens included
    6. How to detect version of camera connected easily?
    7. Re: Alternatives or replacements for camera flex cable?
    8. lenses
      1. Understanding the Pi Camera with a M12 lens/mount
      2. Re: M12 lens adapter for camera module
      3. f6.0mm 60° lens only 2.5mm apart from object => 1.7µm/pixel resolution(!)
      4. f16mm 20° lens only 1.8mm apart from object => 1µm/pixel resolution
        with v1 camera, 0.77µm/pixel resolution with v2 camera
      5. Re: Creating a RPI-assisted microscope, 0.125µm/pixel resolution with v2 camera
      6. Re: Schematic for camera v2 flex PCB, half price imx219 only, w/o v2 board
  2. my usage

    1. Motor Test Station (MTS)
      1. contactless 90fps speedometer from top
      2. 90fps horizontal video for high speed (>50km/h) robot bump detection
    2. Cheap RC airplane with "outboard" Pi Zero and camera
    3. robot control, camera tilt calibration, line following: see under "raspiraw" below
  3. gstreamer

    1. gst-rpicamsrc
      (performant Raspberry camera source alternative to v4l2src or raspivid+fdsrc)
    2. gstreamer-devel mailing list archives
    3. Re: Minimal gstreamer raspivid pipeline?
    4. Re: Minimalist firm camera mount "on" CSI-2 connector of Pi Zero (W)
    5. Re: 2nd SPI port usable?
    6. Re: Live Preview to TFT Screen
    7. Re: Howto: Pi Zero streams USB webcam to TFT LCD with gstreamer
    8. videomixer for two Raspberry cameras
    9. Re: Raspberry pi camera streaming
    10. Re: using raspistill to only display red pixels in Real Time
  4. raspivid

    1. raspivid: fpsₘₐₓ(v₂)=120, fpsₘₐₓ(v₁)=90 / 800x760: fps(v₂)=120, fps(v₁)=90
    2. Re: High framerate raspivid (initially 640x480 at 180fps) ("logic analyzer assisted programing")
    3. standard raspivid
      1. Github repo: https://github.com/6by9/userland
      2. blocking issues
        1. Capping raspivid fps at 120 is too conservative for v2 camera
        2. raspivid locks up above 202 fps for unclear reasons
    4. v2 camera raspivid now captures up to 200fps ... (!)
    5. v2: 640x480 at 180fps — v1: 640x128 at 150fps, 640x288 at 120fps
    6. Capturing 2.5mm sparks with Raspberry camera
    7. Howto upload raspivid high framerate videos to youtube
    8. Re: How to build userland raspivid with wiringPi library? / video synchronization
    9. Re: multi exposure filming
  5. raspiraw

    1. Raw sensor access / CSI-2 receiver peripheral
      (access raw bayer camera frames without closed source GPU)
      1. compile / prepare / use raspiraw
      2. compile 6by9's dcraw (converts raw frames)
      3. howto inspect I2C traffic bewteen camera and Pi 2B (starting here)
      4. 90fps mode for 640x480 format raspiraw, patch and description here
      5. 180fps(!) for 640x240 format here
      6. Howto capture 360fps(!) (640x240 stretched) videos with Raspberry v1 camera here
      7. Capturing with 600fps!! (640x64 stretched to 640x128) on Pi 2B here
      8. raspiraw usage and framerate table
    2. information
      1. RAW10 (format, v1 is BGGR type, used by existing raspiraw modes)
      2. RAW8 (format, details)
      3. Raspberry Pi CSI Interface Connector Pinout
        1. see "J3" in schematics
        2. information
    3. Re: raspiraw raw bayer data: how to use in callbacks for feature extraction and robot control
      (automatic camera tilt calibration)
    4. Re: gstreamer plugin dev / appsrc / raspiraw / Raspberry camera
      ($ raspiraw -md 7 -t 5000 -sr 1 -o "appsrc name=_ ! videoconvert ! fbdevsink device=/dev/fb0")
    5. raspiraw high frame rate fork: https://github.com/Hermann-SW/raspiraw
    6. Howto capture 360fps (640x240) videos with Raspberry v1 camera (665fps for 640x128 !)
    7. Cheap local high framerate gadget
    8. modes 1-7 available for v2 camera as well
    9. Raspberry "Pyro"
      (automation allows for high framerate video capturing of physics/chemistry experiments)
    10. Lego pendulum hit by classic mouse trap here
    11. Measuring Nerf toy gun dart flight speed as 67km/h here
    12. "Pi and More 10½" conference talk (German language)
    13. Re: v2 camera can capture 1000fps videos ...
    14. Determine 20140rpm propeller speed by 1007fps video ...
    15. v2 camera can do 3280x32@720fps and 3280x64@500fps with frame skip rate less than 1%
    16. A Guide to Recording 660FPS Video On A $6 Raspberry Pi Camera

  6. v1 camera global external shutter

    Unlike Raspberry v2 camera, 4$ v1 camera (clone) allows for "global reset" feature.
    Utilizing that, with very dark scene and microsecond length bright flashes,
    v1 camera can capture global (external) shutter videos.
    See documentation on github for details, setup, tools, samples:

    Just two examples for global shutter video taken with v1 camera below
    (there are so much more possibilities, like capturing a 109m/s airgun pellet
    in flight 10 times(!) on a single multiple exposure frame).
    There is no rolling shutter effect in the frames:

  7. selected examples and gallery

    Gallery can be found here

    v1 camera global external shutter multiple exposure frame [1920×1080 scaled down, 92KB].
    26000rpm propeller, nine 9µs flashes, 116µs apart, 8000eps (exposures per second):
    v1 camera global external shutter video of 26000rpm propeller, 2MP scaled down to 640x360
    (scene lit by 5000lm led with 36µs strobe pulse duration):
    350fps 640x128 classical mouse trap chain reaction, played 14 times slowed down [15MB]:
    360fps 640x120 (rescaled to 640x240) video taken with v1 camera, played 25 times slowed down:
    "I hereby confirm that my finger that I moved quickly before the Pi Zero is NOT transparent" 😂
    frame 954 from 3s 640x128_s video taken at 665fps, after Raspberry "Pyro" did light electric match
    frame of 640x128_s video taken at 665fps, slow dart (only 12km/h) just leaving Nerf toy gun
    (2.5mm) sparks captured at 90fps, assembled to 1fps video
    1007fps mouse trap video, played at 1fps
    1007fps yo-yo video, played at 30fps, 33.5 times slower than real
    18mm 1000KV spark, scene lit by 5000lm light, frame of 1007fps video, (more)
    20140rpm propeller, 1007fps video played at 1fps