Streaming from an IP Network Camera in Rust

Hi Folks,
I was wondering if anyone knows how to grab or stream frames from an IP camera using Rust?

I am coming from a C++ background where I am currently using OpenCV to stream from an IP camera on my network. I believe that OpenCV uses FFMPEG with the rtsp protocol (the address is usually something like “rtsp://ip.add.re.ss:554/11”).

I have checked crates.io for image processing libraries but none of them seem to have routines for streaming video.

Can someone please confirm if this is possible in Rust (e.g. using the built in networking tools or even with an external crate)?

Thanks,
Djme.

2 Likes

This technically should be possible, but I don't think Rust has mature crates for rtsp and video decoding yet.

You can use opencv and ffmpeg from Rust.

The built-in networking will get you a TCP/IP byte stream, but you'd have to parse rtsp packets yourself.

1 Like

Thanks for your reply kornel.
I was hoping not to use bindings or wrappings to other languages if possible, but could just use OpenCV to grab the frames and then process them in Rust.
I am not sure what is involved with using ffmpeg but I’ll have a look for Rust examples.
Thanks,
djme.