Last active
February 19, 2022 18:58
-
-
Save sxiii/4898a6fff28a0fac3b036effe2f937c7 to your computer and use it in GitHub Desktop.
Revisions
-
sxiii revised this gist
Nov 22, 2021 . 1 changed file with 5 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -13,6 +13,7 @@ card = '/dev/video2' # This part loads settings from file and applies them def load_settings_from_file(filename): try: f = open(filename, "r") @@ -33,6 +34,10 @@ def load_settings_from_file(filename): load_settings_from_file(sys.argv[1]) # This part applies 1280x720 resolution and MJPG format # For list of your supported formats please run `v4l2-ctl -V` subprocess.run(['v4l2-ctl -d ', card, ' -v width=1280,height=720,pixelformat=MJPG'], shell=True) # Config sample (myconfig.txt file contents (remove #s if you want to use it) -
sxiii created this gist
Nov 22, 2021 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,56 @@ #!/usr/bin/python # Back story # v4l2-cli by itself does not accept config file # camset allows us to save setting to text file, but it requires GUI to load it, which is inconvinient # What I've done # So I've written script that allows us to load settings from the config file, created with camset earlier # Code is based on Camset (https://github.com/azeam/camset/) # Run like: `python cliread.py myconfig.txt` (using myconfig.txt saved by camset) # Change card to fit your video device import subprocess import sys card = '/dev/video2' def load_settings_from_file(filename): try: f = open(filename, "r") lines = f.readlines() for line in lines: splits = line.split("=") setting = splits[0] value = splits[1] #if (setting == "resolution_index"): # set_active_resolution(int(value)) # continue subprocess.run(['v4l2-ctl', '-d', card, '-c', '{0}={1}'.format(setting, value)], check=False, universal_newlines=True) f.close() print("Settings file {0} successfully loaded".format(filename)) except Exception as e: print("Unable to load file {0} - {1}".format(filename, e)) return load_settings_from_file(sys.argv[1]) subprocess.run(['v4l2-ctl -d ', card, ' -v width=1280,height=720,pixelformat=MJPG'], shell=True) # Config sample (myconfig.txt file contents (remove #s if you want to use it) #brightness=128 #contrast=128 #saturation=111 #white_balance_temperature_auto=0 #gain=50 #power_line_frequency=0 #white_balance_temperature=3500 #sharpness=140 #backlight_compensation=0 #exposure_auto=1 #exposure_absolute=300 #exposure_auto_priority=0 #pan_absolute=0 #tilt_absolute=0 #focus_absolute=0 #focus_auto=0 #zoom_absolute=100 #resolution_index=33