gonzopi

git clone https://git.tarina.org/gonzopi
Log | Files | Refs | README | LICENSE

commit 796fc6fd59f3edc397032f5556b9250b2ead0358
parent 3d68cbde129905b06d39f8499e579b4050d264de
Author: rbckman <rob@tarina.org>
Date:   Wed, 29 Jan 2025 21:42:37 +0000

save udpip and port

Diffstat:
Mgonzopi.py | 27+++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/gonzopi.py b/gonzopi.py @@ -113,7 +113,7 @@ else: #MAIN def main(): - global headphoneslevel, miclevel, gonzopifolder, screen, loadfilmsettings, plughw, channels, filmfolder, scene, showmenu, rendermenu, quality, profilelevel, i2cbuttons, menudone, soundrate, soundformat, process, serverstate, que, port, recording, onlysound, camera_model, fps_selection, fps_selected, fps, db, selected, cammode, newfilmname, camera_recording, abc, showhelp, camera, overlay, overlay2, recordwithports, crossfade, blendmodes, blendselect + global headphoneslevel, miclevel, gonzopifolder, screen, loadfilmsettings, plughw, channels, filmfolder, scene, showmenu, rendermenu, quality, profilelevel, i2cbuttons, menudone, soundrate, soundformat, process, serverstate, que, port, recording, onlysound, camera_model, fps_selection, fps_selected, fps, db, selected, cammode, newfilmname, camera_recording, abc, showhelp, camera, overlay, overlay2, recordwithports, crossfade, blendmodes, blendselect, updip, updport # Get path of the current dir, then use it as working directory: rundir = os.path.dirname(__file__) if rundir != '': @@ -139,13 +139,16 @@ def main(): selected = 0 awb = 'auto', 'sunlight', 'cloudy', 'shade', 'tungsten', 'fluorescent', 'incandescent', 'flash', 'horizon' awbx = 0 + updip = '' + updport = '' awb_lock = 'no' effects = 'none', 'negative', 'solarize' effectselected = 0 blendmodes = 'screen', 'average', 'darken', 'lighten', 'burn', 'multiply' blendselect=0 blending=False - crossfade=3 + fade='in' + fadelenght=3 cammode = 'film' camera_model='' fps = 25 @@ -1482,7 +1485,9 @@ def main(): reclenght = 0 elif pressed == 'middle' and menu[selected] == 'LIVE:': if stream == '': - stream = startstream(camera, stream, plughw, channels,network) + if updip == '': + updip, updport = newudp_ip(numbers_only, network) + stream = startstream(camera, stream, plughw, channels,network,updip,updport) if stream == '': vumetermessage('something wrong with streaming') else: @@ -1914,6 +1919,8 @@ def main(): shot=filmsettings[25] take=filmsettings[26] cameras=filmsettings[27] + updip=filmsettings[28] + updport=filmsettings[29] logger.info('film settings loaded & applied') time.sleep(0.2) except: @@ -2030,7 +2037,7 @@ def main(): menu = standardmenu settings = storagedrives[dsk][0]+' '+diskleft, filmname, str(scene) + '/' + str(scenes), str(shot) + '/' + str(shots), str(take) + '/' + str(takes), rectime, camerashutter, cameraiso, camerared, camerablue, str(round(camera.framerate)), str(quality), str(camera.brightness), str(camera.contrast), str(camera.saturation), effects[effectselected], str(flip), str(beeps), str(round(reclenght,2)), str(plughw), str(channels), str(miclevel), str(headphoneslevel), str(comp), '',blendmodes[blendselect], cammode, '', serverstate, searchforcameras, wifistate, '', '', '', '', '', '', live else: - #gonzopictrlmenu = 'FILM:', 'SCENE:', 'SHOT:', 'TAKE:', '', 'SHUTTER:', 'ISO:', 'RED:', 'BLUE:', 'FPS:', 'Q:', 'BRIGHT:', 'CONT:', 'SAT:', 'FLIP:', 'BEEP:', 'LENGTH:', 'HW:', 'CH:', 'MIC:', 'PHONES:', 'COMP:', 'TIMELAPSE', 'BLEND:', 'CROSSFADE:', 'MODE:', 'DSK:', 'SHUTDOWN', 'SRV:', 'SEARCH:', 'WIFI:', 'CAMERA:', 'Add CAMERA', 'New FILM', 'Sync FILM', 'Sync SCENE' + #gonzopictrlmenu = 'FILM:', 'SCENE:', 'SHOT:', 'TAKE:', '', 'SHUTTER:', 'ISO:', 'RED:', 'BLUE:', 'FPS:', 'Q:', 'BRIGHT:', 'CONT:', 'SAT:', 'FLIP:', 'BEEP:', 'LENGTH:', 'HW:', 'CH:', 'MIC:', 'PHONES:', 'COMP:', 'TIMELAPSE', 'BLEND:', 'FADE:', 'L:', 'MODE:', 'DSK:', 'SHUTDOWN', 'SRV:', 'SEARCH:', 'WIFI:', 'CAMERA:', 'Add CAMERA', 'New FILM', 'Sync FILM', 'Sync SCENE' menu = gonzopictrlmenu #settings = '',str(camselected),'','',rectime,'','','','','','','','','','' settings = storagedrives[dsk][0]+' '+diskleft, filmname, str(scene) + '/' + str(scenes), str(shot) + '/' + str(shots), str(take) + '/' + str(takes), rectime, camerashutter, cameraiso, camerared, camerablue, str(round(camera.framerate)), str(quality), str(camera.brightness), str(camera.contrast), str(camera.saturation), effects[effectselected], str(flip), str(beeps), str(reclenght), str(plughw), str(channels), str(miclevel), str(headphoneslevel), str(comp), '',blendmodes[blendselect], cammode, '', serverstate, searchforcameras, wifistate, str(camselected+1), '', '', '', '', '', '' @@ -2042,7 +2049,7 @@ def main(): if recording == False: #if time.time() - pausetime > savesettingsevery: if oldsettings != settings: - settings_to_save = [filmfolder, filmname, camera.brightness, camera.contrast, camera.saturation, camera.shutter_speed, camera.iso, camera.awb_mode, camera.awb_gains, awb_lock, miclevel, headphoneslevel, beeps, flip, comp, between, duration, showmenu_settings, quality,wifistate,serverstate,plughw,channels,cammode,scene,shot,take,cameras] + settings_to_save = [filmfolder, filmname, camera.brightness, camera.contrast, camera.saturation, camera.shutter_speed, camera.iso, camera.awb_mode, camera.awb_gains, awb_lock, miclevel, headphoneslevel, beeps, flip, comp, between, duration, showmenu_settings, quality,wifistate,serverstate,plughw,channels,cammode,scene,shot,take,cameras,updip,updport] #print('saving settings') savesettings(settings_to_save, filmname, filmfolder) if time.time() - pausetime > savesettingsevery: @@ -3016,7 +3023,7 @@ def newudp_ip(abc, network): cursor = abc[abcx] elif pressed == 'right': pausetime = time.time() - if len(ip) < 2: + if len(ip) < 4: ip = ip + abc[abcx] cursor = abc[abcx] else: @@ -5271,7 +5278,7 @@ def uploadfilm(filename, filmname): #-------------Streaming--------------- -def startstream(camera, stream, plughw, channels,network): +def startstream(camera, stream, plughw, channels,network, updip, updport): #youtube #youtube="rtmp://a.rtmp.youtube.com/live2/" #with open("/home/pi/.youtube-live") as fp: @@ -5281,9 +5288,9 @@ def startstream(camera, stream, plughw, channels,network): # #stream_cmd = 'ffmpeg -f h264 -r 25 -i - -itsoffset 5.5 -fflags nobuffer -f alsa -ac '+str(channels)+' -i hw:'+str(plughw)+' -ar 44100 -vcodec copy -acodec libmp3lame -b:a 128k -ar 44100 -map 0:0 -map 1:0 -strict experimental -f mpegts tcp://0.0.0.0:3333\?listen' #stream_cmd = 'ffmpeg -f h264 -r 25 -i - -itsoffset 5.5 -fflags nobuffer -f alsa -ac '+str(channels)+' -i hw:'+str(plughw)+' -ar '+soundrate+' -acodec mp2 -b:a 128k -ar '+soundrate+' -vcodec copy -map 0:0 -map 1:0 -g 0 -f mpegts udp://10.42.0.169:5002' - numbers_only = ' ','1','2','3','4','5','6','7','8','9','0' - newhost, hostport = newudp_ip(numbers_only, network) - stream_cmd = 'ffmpeg -f h264 -r 24.989 -i - -itsoffset 5.5 -fflags nobuffer -f alsa -ac '+str(channels)+' -i hw:'+str(plughw)+' -ar '+soundrate+' -acodec mp2 -b:a 128k -ar '+soundrate+' -vcodec copy -f mpegts udp://'+newhost+':'+hostport + #numbers_only = ' ','1','2','3','4','5','6','7','8','9','0' + #newhost, hostport = newudp_ip(numbers_only, network) + stream_cmd = 'ffmpeg -f h264 -r 24.989 -i - -itsoffset 5.5 -fflags nobuffer -f alsa -ac '+str(channels)+' -i dsnoop:'+str(plughw)+' -ar '+soundrate+' -acodec mp2 -b:a 128k -ar '+soundrate+' -vcodec copy -f mpegts udp://'+updip+':'+updport try: stream = subprocess.Popen(stream_cmd, shell=True, stdin=subprocess.PIPE) camera.start_recording(stream.stdin, splitter_port=2, format='h264', bitrate = 5555555, quality=quality)