From 97c7098e14c24f3e1cd8b64fdb41a57afd0992c5 Mon Sep 17 00:00:00 2001 From: legop3 Date: Thu, 27 Nov 2025 20:58:01 -0500 Subject: [PATCH] ooooopuusss --- dist/roverd | Bin 6815928 -> 6815928 bytes dist/servoverifier | Bin 1769656 -> 1769656 bytes pi/bin/video-publisher.sh | 15 +++++++++------ pi/install_roverd.sh | 4 ++-- pi/roverd/config.go | 4 ++-- pi/roverd/roverd.sample.yaml | 4 ++-- 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/dist/roverd b/dist/roverd index 2c8734d2eaeb9c6fa4046d1b97e22d336f39c462..724845501f441394a5227899ec7b01b487377a71 100755 GIT binary patch delta 670 zcmb8qJ5N&q9ER}&2SMtEx7rrGAb3SY>Ft!BqNo&sBA0R%t)lky^pu(s3#A&m7)W?A zP7()V;$UQAF}her6T_gN!05uD3yBW8=wRai6PP&swr6?P=bx+V;?={dM$hz|5sw5$ zQj@VMIzGR1uYLdY{zLzRr`aug-vWpdqLfgHGGZH1PE-)viAuso z>>zd$yNKOH6(PNy*hB0k9E6i_5!FNuv5(kK93T!7wZtK!j;JRN6Gw=n#4+MHae`z#nPK1dL;?f&* zKKoW)BEN4ZiZA|jKB{hr2mOf_(=uBO!}3|)kl#x9eVVQX4NDKklUCdcXqw-%vaA|) zwOXjvtH*3cKAkZu?WnXMm9AA3f7!b<^}kj;|6EDhe)~GS ptf`+-7Q$$Eef*&;ZK{Sy2va1Bo2vC?zGQ7_W6>&ZET(=I{sLO8*{A>j delta 684 zcmcJ~Ia3n>9ES0QMG!plqFkP!qKI>_p( zdx*V+kC48a*hlOqYKU5*j;JRZhy%ny;t+9|I6@pH8i^+27;&69K{OL5iBm)iahhl) z&JbsbHlm&AAUcUILL+p-PXve{VGt(KO@xRZ;v8|F=p`-?7l}(mnCK(=iGhz8eEq$= zRDPAG#lqjgXZ0;k(6k*hp!s#j(~OX91p`*f)Ew6^EL+!uK_k$uhs;;&s@>S789jdg zbd`NSGv`!3NG*0`b56#~xK6KU%`LiBfAoHh4NVKmN*}^?pMT^FwGlBSE{mub7FWbo zF(P7OR9q8rkq~2ITug{bkrY$nx|kL>#7%Ka+!iz9PO(sHz4%tTQBnL|9SNxad2Cy? c^V@1lIKnM%tKQe;l8yYduQRc}`IYy<~*#?2x#;#!uEDQ_`B0$Ux#O{8f4DT#drKUI3JNWy1 zd~*F$DYAEwe|eKYn*d{*08^U)bDIE5n*eK@09%^?dz%19n*e8<09Ts;cbfoDn*eW{ z0AHH`f17~7HUU9-5A{TI<7Bgxv=p7N(xvTdr! ztFhpoKku*|qf?VWn*d{*08^U)bDIE5n*eK@09%^?dz%19n*e8<09Ts;cbfoDn*eW{ z0AHH`f17~7HUU9-5A_sN^Q07W6GLO8lr%##%cMk8lf-0m!<1Arv&1ALBU4i|6AL3t z^XYC8g7U0}W>&_=?O73mKr95r!aytn#G*hf2E^h(EU`T+LNa(I83s=W8mzb7j7h5L F9{~3HTD|}P diff --git a/pi/bin/video-publisher.sh b/pi/bin/video-publisher.sh index 2d5115aa..0cd75e22 100644 --- a/pi/bin/video-publisher.sh +++ b/pi/bin/video-publisher.sh @@ -20,15 +20,15 @@ VIDEO_FPS="${VIDEO_FPS:-30}" VIDEO_BITRATE="${VIDEO_BITRATE:-3000000}" AUDIO_ENABLE="${AUDIO_ENABLE:-0}" AUDIO_DEVICE="${AUDIO_DEVICE:-plughw:0,0}" -AUDIO_RATE="${AUDIO_RATE:-8000}" +AUDIO_RATE="${AUDIO_RATE:-48000}" AUDIO_CHANNELS="${AUDIO_CHANNELS:-1}" -AUDIO_BITRATE="${AUDIO_BITRATE:-64000}" +AUDIO_BITRATE="${AUDIO_BITRATE:-24000}" -# Normalize device/rate to match the HAT capture (2ch/48k S32_LE); plughw handles any minor conversions. +# Normalize device/rate to match the HAT capture; plughw handles any minor conversions. AUDIO_DEVICE="plughw:0,0" -AUDIO_RATE=8000 +AUDIO_RATE=48000 AUDIO_CHANNELS=1 -AUDIO_BITRATE=64000 +AUDIO_BITRATE=24000 # Flip the camera 180deg (supported by rpicam-vid/libcamera-vid) FLIP_ARGS=(--rotation 180) @@ -87,7 +87,10 @@ run_pipeline() { -ar "${AUDIO_RATE}" \ -i "${AUDIO_DEVICE}" \ -c:v copy \ - -c:a pcm_mulaw \ + -c:a libopus \ + -b:a "${AUDIO_BITRATE}" \ + -application voip \ + -frame_duration 60 \ -ac:a "${AUDIO_CHANNELS}" \ -ar:a "${AUDIO_RATE}" \ -af "aresample=async=1:min_hard_comp=0.050:first_pts=0" \ diff --git a/pi/install_roverd.sh b/pi/install_roverd.sh index 86c2c9b3..a3e3d1b2 100755 --- a/pi/install_roverd.sh +++ b/pi/install_roverd.sh @@ -206,9 +206,9 @@ VIDEO_FPS=30 VIDEO_BITRATE=3000000 AUDIO_ENABLE=1 AUDIO_DEVICE=plughw:0,0 -AUDIO_RATE=8000 +AUDIO_RATE=48000 AUDIO_CHANNELS=1 -AUDIO_BITRATE=64000 +AUDIO_BITRATE=24000 ENV chown roverd:roverd /var/lib/roverd/video.env chmod 0640 /var/lib/roverd/video.env diff --git a/pi/roverd/config.go b/pi/roverd/config.go index 92da69fb..032f558f 100644 --- a/pi/roverd/config.go +++ b/pi/roverd/config.go @@ -143,9 +143,9 @@ func LoadConfig(path string) (*Config, error) { Audio: AudioConfig{ CaptureEnabled: true, CaptureDevice: "plughw:0,0", - SampleRate: 8000, + SampleRate: 48000, Channels: 1, - Bitrate: 64000, + Bitrate: 24000, TTSEnabled: false, DefaultEngine: "flite", DefaultVoice: "rms", diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index 28b50542..151e2e0d 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -40,9 +40,9 @@ cameraServo: audio: captureEnabled: true captureDevice: plughw:0,0 - sampleRate: 8000 + sampleRate: 48000 channels: 1 - bitrate: 64000 + bitrate: 24000 ttsEnabled: false defaultEngine: flite defaultVoice: rms