This project implements H264
video record on Raspberry Pi. It uses the
rust-ffi
binding library
rpi-mmal-rs.
Add the following to your Cargo.toml
:
toml
[dependencies]
rpi-video-rs = "0.0.2"
You could checkout the user code in folder examples/
.
And run the simple
one as below.
cargo run --example simple
Since this project requires the real camera to record H264 videos, you needs a
RPI to run or test. But you could also uses a cross-compiling environment for
compiling and developing. We offers a Dockerfile (in folder tools/docker/
)
which is a separate cross-compiling environment.
For developing on either a RPI device or a Docker container, you should install the standard Rust development environment, and then adds Rust targets as below.
rustup target add arm-unknown-linux-gnueabihf
rustup target add armv7-unknown-linux-gnueabihf
bcm2835-v4l2
to the bottom of file /etc/modules
.
sudo echo bcm2835-v4l2 >> /etc/modules
sudo raspi-config
Follows the prompt to reboot Raspberry PI.
You could use the command raspivid
to test recording a H264
video and
check if the camera is installed properly.
raspivid -o test_video.h264
tools/c_ver
, and runs make
to compile the command
rpi_video.out
.
pushd tools/c_ver
make
rpi_video.out
to record a sample video.
./rpi_video.out
You could run the Rust simple example as below.
cargo run --example simple