diff --git a/dist/roverd b/dist/roverd index 2c8734d2..72484550 100755 Binary files a/dist/roverd and b/dist/roverd differ diff --git a/dist/servoverifier b/dist/servoverifier index 9acfb438..1f965abb 100755 Binary files a/dist/servoverifier and b/dist/servoverifier differ 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