You can access the camera board on /dev/video0 by running the command:
sudo modprobe bcm2835-v4l2
This will have to be run on every boot of the device. Or you can put modprobe bcm2835-v4l2 in /etc/rc.local to make it run on every boot automatically.
I must admit I wasn't aware of the 2Gb limitation in the stock build of raspivid (mentioned in Linus' answer). An alternative (if you don't fancy recompiling userland) would be to use picamera (Python supports 64-bit file pointers out of the box). For example, the following should record a wide-screen 360p video in H.264 happily for 24 hours:
The GitHub project page for the camera software mentions
Error : ENOSPC displayed. Camera is probably running out of GPU
memory. Check config.txt in the /boot/ folder. The gpu_mem option
should be at least 128.
This issue states that this error can occur due to a conflict with the drivers for 1-Wire (W1) modules if the modules are not loaded in the ...
To take pictures in 0.025s with picamera you'll need a frame-rate greater than or equal to 80fps. The reason for requiring 80 rather 40fps (given that 1/0.025=40) is that currently there's some issue which causes every other frame to get skipped in the multi-image encoder so the effective capture rate winds up as half the camera's framerate.
The Pi's camera ...
If the output of vcgencmd get_mem arm && vcgencmd get_mem gpu is
This means that GPU is using 128M.
This can be verified/changed in raspi-config Advanced Options, although I have not reduced the GPU myself. I am going from memory, but I think this is the default, possibly related to Camera. At least you now know where your memory ...
I use motion on pi, if I want to run raspistill, I have to stop motion(which also using the camera to detect movement).
pi@raspberrypi ~ $ sudo /etc/init.d/motion stop
[ ok ] Stopping motion detection daemon: motion.
pi@raspberrypi ~ $ /usr/bin/raspistill -o cam2.jpg
pi@raspberrypi ~ $ sudo /etc/init.d/motion start
[ ok ] Starting motion detection daemon: ...
OK. raspi-config is actually a bit of bash, so it's quite easy to see what it does:
# $1 is 0 to disable camera, 1 to enable it
# Stop if /boot is not a mountpoint
if ! mountpoint -q /boot; then
[ -e /boot/config.txt ] || touch /boot/config.txt
if [ "$1" -eq 0 ]; then # disable camera
set_config_var start_x 0 /...
edit your /boot/config.txt file and make sure the following lines look like this:
start_x=1 # essential
gpu_mem=128 # at least, or maybe more if you wish
disable_camera_led=1 # optional, if you don't want the led to glow
You will be able to access to the raspi camera like other V4L2 device using :
the official kernel V4L2 driver bcm2835-v4l2
sudo modprobe bcm2835-v4l2
the unofficial userspace V4L2 driver for the Raspberry Pi Camera Module
uv4l --driver raspicam --auto-video_nr
"In normal circumstances there is NEVER a need to run rpi-update as it always gets you to the leading edge firmware and kernel and because that may be a testing version it could leave your RPi unbootable". https://www.raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Even the rpi-update documentation now warns "Even on Raspbian you should only use this ...
The Pi camera is 'run' by the GPU and can dump full frames into RAM at 15 frames a second .. this is 7.5MB/frame, 15fps = 112.5 Mega BYTES per second .. or you can have full HD resolution 30fps H264 encoded (by the GPU) along with some simultaneous still photos (Google MMAL) all at virtually zero CPU loading ..
On the other hand, the Pi USB is 'run' byte at ...
The pi can't draw more than 1A due to a fuse stopping the board drawing more than that. So how big a battery you need really depends on how long you want it to run. If you have a 500mAh battery, that will output 500mA (0.5A) for one hour, or 1000mA (1A) for half an hour. Similarly, a 2000mAh battery will give you 2000mA (2A) for one hour or 1000mA (1A for ...
See @Andrew Wedgbury 's comment to the accepted answer. "
It is now possible to do this over VNC. If you're using the RealVNC server on the Pi, go to VNC options > troubleshooting and enable "experimental direct capture mode", then you'll be able to view the camera preview image over the vnc connection. – Andrew Wedgbury May 31 at 8:53 " This worked and is ...
First of all, I give my best regards to @Milliways for suggesting to check 2 simple commands.
vcgencmd get_mem arm && vcgencmd get_mem gpu
Where is the missing 128MB memory?
Even if both raspi-config and /boot/config.txt says that the amount of memory available to GPU is 16MB, actual values are 880MB for CPU, 128MB for GPU.
root@mypi:~# vcgencmd ...
I've been working on a bit of Python code to do exactly this. You can find it here:
And there's an example timelapse here:
You should note that both shutter speed (SS) and ISO are directly controllable with recent firmware. (Run sudo rpi-update to get the latest firmware ...
With Ubuntu 14.10 and Gstreamer I reach 100 to 116 ms latency with 1280 x 720 @ 60Hz.
Tanks to @Antonvh who puts me on the right way.
I reproduce here the solution for latter reference.
To stream from the Pi :
raspivid -t 0 -b 2000000 -fps 60 -w 1280 -h 720 -o - \
| gst-launch-1.0 -e -vvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 \
The problem is the RaspiCam. The camera does not have auto-focus! I had the same issue at another topic...
Your options are:
Try another device e.g. any webcam with auto-focus
Scan your barcodes with a cheap usb scanner
For the first option I think zbar is a good way to go. I don´t know your exact use case but you can automate this process with nearly any ...
I had the same problem. Comparing it to a number of other posts, the most likely answer is that two processes/applications are trying to access the PiCam at the same time. This can be ffmpeg streaming, motion, raspivid, raspistill, etc.
I struggled for some time with this exact same problem. I believe that I've solved it, though I have to be honest, I don't understand exactly why it works. The key was turning off debugging in Flask. I got a hint at doing it by the comments on this page Video Streaming with Flask
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8000, debug=False)
According to the Specs
The official documentation doesn't actually contain a power spec. https://www.raspberrypi.org/documentation/hardware/camera/README.md
The FAQ's do offer some guidance: https://www.raspberrypi.org/help/faqs/#power
The Camera Module requires 250mA
This is measured as additional current from the 5V supply.
Calculating the Power
I recently experienced the same problem of an ENOSPEC error. In my case all things was running perfectly until I put my camera into a PiCam housing. I found this housing (even if desinged for the PiCamera) pushes the chip just as far that the connector between cam and board was loosened. Pushing it back in place solved my problem. Its maybe not that easy to ...
Edit: It's here!
Check the release notes for NOOBS v1.3.3:
Check out the release notes for each distribution for more details.
Highlights for Raspbian include:
New firmware and 3.10 kernel, with numerous functionality improvements.
New hardware-accelerated X driver included and enabled by default.
Mathematica and the Wolfram Language ...
I noticed the same strong green tint also whenever I use raspistill -ex night, where I was trying to set up for astrophotograhy shots of the starry night sky.
My solution was to stop using night mode and set up the shutter speed manually.
raspistill -ss 500000
Note: Shots without night mode were colored properly, so no the cable, though I also tried re-...
What raspi-config does is changing the /boot/config.txt. There is a string inside that file which says start_x=0 when camera is disabled. By changing that to start_x=1 will enable the camera. You will have to reboot after you edited the file.
I made a script that searches the /boot/config.txt for the string "start_x=0" and if it finds it changes it to "...
I'd be tempted to go for the bright (white) LED solution. It's not something I've tried and I don't know if there will be colour balance problems.
The LEDs will likely source more than the (safe) 50 mA you can take from the Pi 3.3V rail.
I suggest you use a chip such as ULN2003A or ULN2008 to actually drive the LEDs. That way you can feed the LEDs from ...
I'm afraid this is most likely impractical. My (crude and thoroughly incomplete) understanding is that the Pi's camera module (which uses an OmniVision OV5647 sensor) is very closely tied to the camera firmware on the GPU. The camera's own ISP is largely ignored and the GPU itself performs the majority of post-processing (de-mosaic, AWB, AGC, etc). In this ...