diff --git a/pi/bin/video-publisher.sh b/pi/bin/video-publisher.sh index 6661053b..211b2397 100644 --- a/pi/bin/video-publisher.sh +++ b/pi/bin/video-publisher.sh @@ -19,14 +19,14 @@ VIDEO_HEIGHT="${VIDEO_HEIGHT:-1080}" 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:-16000}" +AUDIO_DEVICE="${AUDIO_DEVICE:-hw:0,0}" +AUDIO_RATE="${AUDIO_RATE:-8000}" AUDIO_CHANNELS="${AUDIO_CHANNELS:-1}" AUDIO_BITRATE="${AUDIO_BITRATE:-64000}" # Normalize device if env still says "default" if [[ "${AUDIO_DEVICE}" == "default" ]]; then - AUDIO_DEVICE="plughw:0,0" + AUDIO_DEVICE="hw:0,0" fi # Flip the camera 180deg (supported by rpicam-vid/libcamera-vid) FLIP_ARGS=(--rotation 180) @@ -86,10 +86,9 @@ run_pipeline() { -ar "${AUDIO_RATE}" \ -i "${AUDIO_DEVICE}" \ -c:v copy \ - -c:a pcm_alaw \ + -c:a pcm_s16le \ -ac "${AUDIO_CHANNELS}" \ -ar "${AUDIO_RATE}" \ - -af "aresample=async=1:min_hard_comp=0.100:first_pts=0" \ -flush_packets 1 \ -f mpegts \ "${PUBLISH_URL}" diff --git a/pi/install_roverd.sh b/pi/install_roverd.sh index 95dbb415..f94b65c2 100755 --- a/pi/install_roverd.sh +++ b/pi/install_roverd.sh @@ -126,7 +126,7 @@ ensure_pwm_overlay() { log "Enabled dtoverlay=pwm-2chan on GPIO12/13 in $boot_config (backup at $backup). Reboot required for changes to apply." } -ensure_user roverd "dialout,gpio,video,render" +ensure_user roverd "dialout,gpio,video,render,audio" install -o roverd -g roverd -m 0755 "$BINARY_SRC" /usr/local/bin/roverd log "Installed roverd binary" @@ -205,8 +205,8 @@ VIDEO_HEIGHT=720 VIDEO_FPS=30 VIDEO_BITRATE=3000000 AUDIO_ENABLE=1 -AUDIO_DEVICE=plughw:sndrpigooglevoi,0 -AUDIO_RATE=16000 +AUDIO_DEVICE=hw:0,0 +AUDIO_RATE=8000 AUDIO_CHANNELS=1 AUDIO_BITRATE=64000 ENV diff --git a/pi/roverd/config.go b/pi/roverd/config.go index 1ed76956..dd5a7ae0 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: "plughw:0,0", - SampleRate: 16000, + CaptureDevice: "hw:0,0", + SampleRate: 8000, Channels: 1, Bitrate: 64000, TTSEnabled: false, diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index 8ebaf4b9..c8f62983 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -39,8 +39,8 @@ cameraServo: allowRawPulse: false audio: captureEnabled: true - captureDevice: plughw:0,0 - sampleRate: 16000 + captureDevice: hw:0,0 + sampleRate: 8000 channels: 1 bitrate: 64000 ttsEnabled: false