diff --git a/pi/bin/video-publisher.sh b/pi/bin/video-publisher.sh index 5ee9dede..7137f858 100644 --- a/pi/bin/video-publisher.sh +++ b/pi/bin/video-publisher.sh @@ -19,18 +19,16 @@ VIDEO_HEIGHT="${VIDEO_HEIGHT:-1080}" 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:-16000}" +AUDIO_DEVICE="${AUDIO_DEVICE:-plughw:0,0}" +AUDIO_RATE="${AUDIO_RATE:-48000}" AUDIO_CHANNELS="${AUDIO_CHANNELS:-2}" AUDIO_BITRATE="${AUDIO_BITRATE:-64000}" -AUDIO_FORMAT="${AUDIO_FORMAT:-s32}" -# Normalize device/rate aggressively to reduce CPU and match the HAT on card0 -AUDIO_DEVICE="hw:0,0" -AUDIO_RATE=16000 +# Normalize device/rate to match the HAT capture (2ch/48k S32_LE); plughw handles any minor conversions. +AUDIO_DEVICE="plughw:0,0" +AUDIO_RATE=48000 AUDIO_CHANNELS=2 AUDIO_BITRATE=64000 -AUDIO_FORMAT="s32" # Flip the camera 180deg (supported by rpicam-vid/libcamera-vid) FLIP_ARGS=(--rotation 180) @@ -87,10 +85,9 @@ 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_s32le \ + -c:a pcm_s16le \ -ac "${AUDIO_CHANNELS}" \ -ar "${AUDIO_RATE}" \ -flush_packets 1 \ diff --git a/pi/install_roverd.sh b/pi/install_roverd.sh index 72e3fb62..c738df56 100755 --- a/pi/install_roverd.sh +++ b/pi/install_roverd.sh @@ -205,8 +205,8 @@ VIDEO_HEIGHT=720 VIDEO_FPS=30 VIDEO_BITRATE=3000000 AUDIO_ENABLE=1 -AUDIO_DEVICE=hw:0,0 -AUDIO_RATE=16000 +AUDIO_DEVICE=plughw:0,0 +AUDIO_RATE=48000 AUDIO_CHANNELS=2 AUDIO_BITRATE=64000 ENV diff --git a/pi/roverd/config.go b/pi/roverd/config.go index e84ad6ff..1a35ebb2 100644 --- a/pi/roverd/config.go +++ b/pi/roverd/config.go @@ -142,8 +142,8 @@ func LoadConfig(path string) (*Config, error) { }, Audio: AudioConfig{ CaptureEnabled: true, - CaptureDevice: "hw:0,0", - SampleRate: 16000, + CaptureDevice: "plughw:0,0", + SampleRate: 48000, Channels: 2, Bitrate: 64000, TTSEnabled: false, diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index 620e4c09..024eba98 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -39,8 +39,8 @@ cameraServo: allowRawPulse: false audio: captureEnabled: true - captureDevice: hw:0,0 - sampleRate: 16000 + captureDevice: plughw:0,0 + sampleRate: 48000 channels: 2 bitrate: 64000 ttsEnabled: false