diff --git a/pi/bin/video-publisher.sh b/pi/bin/video-publisher.sh index 500ce645..6be49be6 100644 --- a/pi/bin/video-publisher.sh +++ b/pi/bin/video-publisher.sh @@ -20,15 +20,17 @@ VIDEO_FPS="${VIDEO_FPS:-30}" VIDEO_BITRATE="${VIDEO_BITRATE:-3000000}" AUDIO_ENABLE="${AUDIO_ENABLE:-0}" AUDIO_DEVICE="${AUDIO_DEVICE:-hw:0,0}" -AUDIO_RATE="${AUDIO_RATE:-8000}" +AUDIO_RATE="${AUDIO_RATE:-16000}" AUDIO_CHANNELS="${AUDIO_CHANNELS:-1}" AUDIO_BITRATE="${AUDIO_BITRATE:-64000}" +AUDIO_FORMAT="${AUDIO_FORMAT:-s32le}" # Normalize device/rate aggressively to reduce CPU and match the HAT on card0 AUDIO_DEVICE="hw:0,0" -AUDIO_RATE=8000 +AUDIO_RATE=16000 AUDIO_CHANNELS=1 AUDIO_BITRATE=64000 +AUDIO_FORMAT="s32le" # Flip the camera 180deg (supported by rpicam-vid/libcamera-vid) FLIP_ARGS=(--rotation 180) @@ -85,6 +87,7 @@ run_pipeline() { -thread_queue_size 1024 \ -ac "${AUDIO_CHANNELS}" \ -ar "${AUDIO_RATE}" \ + -sample_fmt "${AUDIO_FORMAT}" \ -i "${AUDIO_DEVICE}" \ -c:v copy \ -c:a pcm_s16le \ diff --git a/pi/install_roverd.sh b/pi/install_roverd.sh index f94b65c2..b888cecc 100755 --- a/pi/install_roverd.sh +++ b/pi/install_roverd.sh @@ -206,7 +206,7 @@ VIDEO_FPS=30 VIDEO_BITRATE=3000000 AUDIO_ENABLE=1 AUDIO_DEVICE=hw:0,0 -AUDIO_RATE=8000 +AUDIO_RATE=16000 AUDIO_CHANNELS=1 AUDIO_BITRATE=64000 ENV diff --git a/pi/roverd/config.go b/pi/roverd/config.go index dd5a7ae0..1173e2de 100644 --- a/pi/roverd/config.go +++ b/pi/roverd/config.go @@ -143,7 +143,7 @@ func LoadConfig(path string) (*Config, error) { Audio: AudioConfig{ CaptureEnabled: true, CaptureDevice: "hw:0,0", - SampleRate: 8000, + SampleRate: 16000, Channels: 1, Bitrate: 64000, TTSEnabled: false, diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index c8f62983..33076b0d 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -40,7 +40,7 @@ cameraServo: audio: captureEnabled: true captureDevice: hw:0,0 - sampleRate: 8000 + sampleRate: 16000 channels: 1 bitrate: 64000 ttsEnabled: false