Raspberry Pi CCTV & GPIO App
Budget: $250 – $750 AUD
Raspberry Pi 5 CCTV RTSP Viewer with GPIO Alarm Trigger
We require a developer to create a reliable Raspberry Pi application that automatically displays a live CCTV camera stream and responds to GPIO input triggers.
Hardware
Raspberry Pi 5 – 8GB
Raspberry Pi DAC Pro
HDMI-connected display
CCTV camera providing an RTSP stream
External dry-contact or relay inputs
External device controlled by a GPIO output
Normal Operation
When the Raspberry Pi is powered on, the system must automatically:
Boot the Raspberry Pi operating system.
Launch the programmed application.
Open the supplied CCTV RTSP stream.
Display the RTSP stream in full-screen mode.
Continue displaying the stream until a GPIO alarm input is activated.
The CCTV camera IP address, username, password and RTSP stream settings will be supplied.
GPIO Alarm Event
When the designated GPIO alarm input receives a pulse or contact closure, the system must:
Temporarily stop or hide the live RTSP display.
Display a supplied still image in full-screen mode.
Activate a designated GPIO output.
Keep the GPIO output active for 10 seconds.
Play a supplied MP3 audio file through the Raspberry Pi DAC Pro.
Keep the alarm image displayed for the full 10-second alarm period.
After 10 seconds, deactivate the GPIO output.
Stop the alarm audio.
Automatically return to the live RTSP CCTV stream.
The system should prevent repeated input pulses from causing software crashes or overlapping alarm events. The developer should nominate whether additional triggers are ignored, queued or used to restart the 10-second timer.
Reboot Input
A separate GPIO input must be programmed to safely reboot the Raspberry Pi when activated.
The reboot input should use suitable debounce or trigger-delay protection to prevent accidental repeated reboot commands.
Exit Hotkey
A keyboard hotkey must be provided to:
Exit the full-screen CCTV application.
Return the user to the normal Raspberry Pi desktop GUI.
Avoid shutting down or rebooting the Raspberry Pi.
The selected hotkey must be documented.
Automatic Startup and Recovery
The completed system must:
Automatically start after the Raspberry Pi is powered on.
Automatically launch the CCTV display application.
Recover or reconnect if the RTSP stream temporarily becomes unavailable.
Resume normal operation after a system reboot.
Operate without requiring a keyboard or mouse during normal use.
Avoid displaying command-line windows, error messages or the Raspberry Pi desktop during normal startup where reasonably possible.
Configuration
The following settings should be stored in an easily editable configuration file:
RTSP stream URL
CCTV username and password, where required
Alarm input GPIO pin
Alarm output GPIO pin
Reboot input GPIO pin
Alarm duration
Still-image file location
MP3 audio file location
Audio volume
GPIO input trigger type
GPIO output active state
Deliverables
The successful developer must provide:
Fully working Raspberry Pi application.
Installation and configuration of all required software.
Automatic startup configuration.
RTSP stream reconnection and basic fault handling.
GPIO input and output programming.
Raspberry Pi DAC Pro audio configuration.
All source code and configuration files.
A backup or installation package that can be used on another Raspberry Pi.
Clear installation and setup instructions.
A complete GPIO pinout showing:
BCM GPIO number
Physical header pin number
Pin function
Input or output type
Active-high or active-low operation
Required pull-up or pull-down configuration
Instructions for changing the RTSP address, image, audio file, timer and GPIO assignments.
Remote support during installation and initial testing.
Testing Requirements
The completed system must be tested to confirm:
The application starts automatically after power-up.
The RTSP stream displays correctly in full-screen mode.
The system reconnects if the RTSP stream is interrupted.
The alarm input displays the still image.
The MP3 plays through the Raspberry Pi DAC Pro.
The GPIO output remains active for approximately 10 seconds.
The system returns to the live stream after the alarm event.
The reboot input safely reboots the Raspberry Pi.
The exit hotkey returns the system to the Raspberry Pi desktop.
Repeated or noisy GPIO inputs do not crash the application.
Developer Requirements
Applicants should have experience with:
Raspberry Pi OS
Raspberry Pi 5
Python or another suitable programming language
GPIO input and output control
RTSP video streaming
VLC, GStreamer, FFmpeg or similar video frameworks
Linux automatic startup services
Raspberry Pi audio and DAC configuration
Application fault recovery and watchdog functions
Please include examples of similar Raspberry Pi, GPIO, CCTV, RTSP or digital signage projects completed previously.
We require a developer to create a reliable Raspberry Pi application that automatically displays a live CCTV camera stream and responds to GPIO input triggers.
Hardware
Raspberry Pi 5 – 8GB
Raspberry Pi DAC Pro
HDMI-connected display
CCTV camera providing an RTSP stream
External dry-contact or relay inputs
External device controlled by a GPIO output
Normal Operation
When the Raspberry Pi is powered on, the system must automatically:
Boot the Raspberry Pi operating system.
Launch the programmed application.
Open the supplied CCTV RTSP stream.
Display the RTSP stream in full-screen mode.
Continue displaying the stream until a GPIO alarm input is activated.
The CCTV camera IP address, username, password and RTSP stream settings will be supplied.
GPIO Alarm Event
When the designated GPIO alarm input receives a pulse or contact closure, the system must:
Temporarily stop or hide the live RTSP display.
Display a supplied still image in full-screen mode.
Activate a designated GPIO output.
Keep the GPIO output active for 10 seconds.
Play a supplied MP3 audio file through the Raspberry Pi DAC Pro.
Keep the alarm image displayed for the full 10-second alarm period.
After 10 seconds, deactivate the GPIO output.
Stop the alarm audio.
Automatically return to the live RTSP CCTV stream.
The system should prevent repeated input pulses from causing software crashes or overlapping alarm events. The developer should nominate whether additional triggers are ignored, queued or used to restart the 10-second timer.
Reboot Input
A separate GPIO input must be programmed to safely reboot the Raspberry Pi when activated.
The reboot input should use suitable debounce or trigger-delay protection to prevent accidental repeated reboot commands.
Exit Hotkey
A keyboard hotkey must be provided to:
Exit the full-screen CCTV application.
Return the user to the normal Raspberry Pi desktop GUI.
Avoid shutting down or rebooting the Raspberry Pi.
The selected hotkey must be documented.
Automatic Startup and Recovery
The completed system must:
Automatically start after the Raspberry Pi is powered on.
Automatically launch the CCTV display application.
Recover or reconnect if the RTSP stream temporarily becomes unavailable.
Resume normal operation after a system reboot.
Operate without requiring a keyboard or mouse during normal use.
Avoid displaying command-line windows, error messages or the Raspberry Pi desktop during normal startup where reasonably possible.
Configuration
The following settings should be stored in an easily editable configuration file:
RTSP stream URL
CCTV username and password, where required
Alarm input GPIO pin
Alarm output GPIO pin
Reboot input GPIO pin
Alarm duration
Still-image file location
MP3 audio file location
Audio volume
GPIO input trigger type
GPIO output active state
Deliverables
The successful developer must provide:
Fully working Raspberry Pi application.
Installation and configuration of all required software.
Automatic startup configuration.
RTSP stream reconnection and basic fault handling.
GPIO input and output programming.
Raspberry Pi DAC Pro audio configuration.
All source code and configuration files.
A backup or installation package that can be used on another Raspberry Pi.
Clear installation and setup instructions.
A complete GPIO pinout showing:
BCM GPIO number
Physical header pin number
Pin function
Input or output type
Active-high or active-low operation
Required pull-up or pull-down configuration
Instructions for changing the RTSP address, image, audio file, timer and GPIO assignments.
Remote support during installation and initial testing.
Testing Requirements
The completed system must be tested to confirm:
The application starts automatically after power-up.
The RTSP stream displays correctly in full-screen mode.
The system reconnects if the RTSP stream is interrupted.
The alarm input displays the still image.
The MP3 plays through the Raspberry Pi DAC Pro.
The GPIO output remains active for approximately 10 seconds.
The system returns to the live stream after the alarm event.
The reboot input safely reboots the Raspberry Pi.
The exit hotkey returns the system to the Raspberry Pi desktop.
Repeated or noisy GPIO inputs do not crash the application.
Developer Requirements
Applicants should have experience with:
Raspberry Pi OS
Raspberry Pi 5
Python or another suitable programming language
GPIO input and output control
RTSP video streaming
VLC, GStreamer, FFmpeg or similar video frameworks
Linux automatic startup services
Raspberry Pi audio and DAC configuration
Application fault recovery and watchdog functions
Please include examples of similar Raspberry Pi, GPIO, CCTV, RTSP or digital signage projects completed previously.
Related categories:
Python
Linux
Electronics
C++ Programming
Arduino
Raspberry Pi
CCTV
Video Streaming