#### crowsnest.conf
#### This is a typical default config.
#### Also used as default in mainsail / MainsailOS
#### See:
#### https://github.com/mainsail-crew/crowsnest/blob/master/README.md
#### for details to configure to your needs.


#####################################################################
####                                                            #####
####      Information about ports and according URL's           #####
####                                                            #####
#####################################################################
####                                                            #####
####    Port 8080 equals /webcam/?action=[stream/snapshot]      #####
####    Port 8081 equals /webcam2/?action=[stream/snapshot]     #####
####    Port 8082 equals /webcam3/?action=[stream/snapshot]     #####
####    Port 8083 equals /webcam4/?action=[stream/snapshot]     #####
####                                                            #####
#####################################################################
####    RTSP Stream URL: ( if enabled and supported )           #####
####    rtsp://<ip>:<rtsp_port>/stream.h264                     #####
#####################################################################


[crowsnest]
log_path: ~/printer_data/logs/crowsnest.log
log_level: verbose                      # Valid Options are quiet/verbose/debug
delete_log: false                       # Deletes log on every restart, if set to true
no_proxy: false


[cam 1]
mode: ustreamer                # ustreamer - Provides mjpg and snapshots. (All devices)
                                        # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
enable_rtsp: false                      # If camera-streamer is used, this enables also usage of an rtsp server
rtsp_port: 8554                         # Set different ports for each device!
port: 8080                              # HTTP/MJPG Stream/Snapshot Port
device: /dev/video0                    # See Log for available ...
resolution: 1920x1080     #2592x1944   #1920x1080             # widthxheight format
max_fps: 30                             # If Hardware Supports this it will be forced, otherwise ignored/coerced.
#custom_flags:                          # You can run the Stream Services with custom flags.
# Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.
v4l2ctl:  brightness = -20 , contrast = 40 , saturation = 30 , hue = 0, white_balance_automatic = 1, gamma = 300 , white_balance_temperature = 4600 , sharpness = 70 , backlight_compensation = 0 , auto_exposure = 1 #, exposure_time_absolute = 312, focus_absolute = 0 , focus_automatic_continuous = 1   


#[cam 2]
#mode: camera-streamer                   # ustreamer - Provides mjpg and snapshots. (All devices)
                                        # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
#enable_rtsp: false                      # If camera-streamer is used, this enables also usage of an rtsp server
#rtsp_port: 8554                         # Set different ports for each device!
#port: 8081                              # HTTP/MJPG Stream/Snapshot Port
#device: /base/soc/i2c0mux/i2c@1/imx708@1a                     # See Log for available ...
#resolution: 1280x720 #1366x768 1920x1080                    # widthxheight format
#max_fps: 30                             # If Hardware Supports this it will be forced, otherwise ignored/coerced.
##custom_flags:                          # You can run the Stream Services with custom flags.
## Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.
##v4l2ctl:  brightness = 20 , contrast = 40 , saturation = 62 , hue = -86, white_balance_automatic = 1, gamma = 160 , gain = 30 , power_line_frequency = 2 , white_balance_temperature = 4600 , sharpness = 6 , backlight_compensation = 0 #, auto_exposure = 1 , exposure_time_absolute = 312, focus_absolute = 0 , focus_automatic_continuous = 1



#=============================================================================================================== User Controls

#brightness 0x00980900 (int)    : min=-64 max=64 step=1 default=0 value=0
#contrast 0x00980901 (int)    : min=0 max=64 step=1 default=34 value=34
#saturation 0x00980902 (int)    : min=0 max=78 step=1 default=62 value=62
#hue 0x00980903 (int)    : min=-2000 max=2000 step=1 default=-86 value=-86
#white_balance_automatic 0x0098090c (bool)   : default=1 value=1
#gamma 0x00980910 (int)    : min=100 max=300 step=1 default=150 value=150
#gain 0x00980913 (int)    : min=0 max=130 step=1 default=32 value=35
#power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=1 value=2
#white_balance_temperature 0x0098091a (int)    : min=2800 max=6500 step=1 default=4600 value=4600 flags=inactive
#sharpness 0x0098091b (int)    : min=1 max=7 step=1 default=4 value=4
#backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=0 value=0
	
#Camera Controls

#auto_exposure 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
#1: Manual Mode
#3: Aperture Priority Mode
#exposure_time_absolute 0x009a0902 (int)    : min=1 max=80000 step=1 default=312 value=2496 flags=inactive
#error 5 getting ext_ctrl Exposure, Dynamic Framerate
#focus_absolute 0x009a090a (int)    : min=0 max=256 step=1 default=0 value=127 flags=inactive
#focus_automatic_continuous 0x009a090c (bool)   : default=1 value=1

