diff --git a/pi/bin/video-publisher.sh b/pi/bin/video-publisher.sh index 0b17a528..340eae47 100644 --- a/pi/bin/video-publisher.sh +++ b/pi/bin/video-publisher.sh @@ -31,10 +31,10 @@ VIDEO_BITRATE="${VIDEO_BITRATE:-3000000}" AUDIO_ENABLE="${AUDIO_ENABLE:-0}" AUDIO_DEVICE="${AUDIO_DEVICE:-plughw:0,0}" AUDIO_CODEC="pcm_s16le" -# Keep the audio path simple for the Pi Zero; we hardcode a single PCM profile. -AUDIO_RATE=16000 -AUDIO_CHANNELS=1 -AUDIO_DEVICE="plughw:0,0" +# Keep the audio path simple for the Pi Zero; default to PCM, and honor any rate/channels provided. +AUDIO_RATE="${AUDIO_RATE:-48000}" +AUDIO_CHANNELS="${AUDIO_CHANNELS:-1}" +AUDIO_DEVICE="${AUDIO_DEVICE:-plughw:0,0}" # Flip the camera 180deg (supported by rpicam-vid/libcamera-vid) FLIP_ARGS=(--rotation 180) diff --git a/pi/install_roverd.sh b/pi/install_roverd.sh index 57a766a7..2142307b 100755 --- a/pi/install_roverd.sh +++ b/pi/install_roverd.sh @@ -207,8 +207,8 @@ VIDEO_HEIGHT=720 VIDEO_FPS=30 VIDEO_BITRATE=2000000 AUDIO_ENABLE=0 -AUDIO_DEVICE=plughw:0,0 -AUDIO_RATE=16000 +AUDIO_DEVICE=hw:0,0 +AUDIO_RATE=48000 AUDIO_CHANNELS=1 ENV chown roverd:roverd /var/lib/roverd/video.env diff --git a/pi/roverd/config.go b/pi/roverd/config.go index 206f98d6..9714e84f 100644 --- a/pi/roverd/config.go +++ b/pi/roverd/config.go @@ -142,8 +142,8 @@ func LoadConfig(path string) (*Config, error) { }, Audio: AudioConfig{ CaptureEnabled: false, - CaptureDevice: "plughw:0,0", - SampleRate: 16000, + CaptureDevice: "hw:0,0", + SampleRate: 48000, Channels: 1, Bitrate: 24000, TTSEnabled: false, @@ -246,10 +246,10 @@ func clampFloat(value, min, max float64) float64 { func validateAudioConfig(cfg *AudioConfig) { if cfg.CaptureEnabled && cfg.CaptureDevice == "" { - cfg.CaptureDevice = "default" + cfg.CaptureDevice = "hw:0,0" } if cfg.SampleRate <= 0 { - cfg.SampleRate = 16000 + cfg.SampleRate = 48000 } if cfg.Channels <= 0 { cfg.Channels = 1 diff --git a/pi/roverd/media_env.go b/pi/roverd/media_env.go index 6a278953..4931607c 100644 --- a/pi/roverd/media_env.go +++ b/pi/roverd/media_env.go @@ -27,10 +27,10 @@ func UpdatePublisherEnv(media MediaConfig, audio AudioConfig) error { fmt.Fprintf(&buf, "VIDEO_BITRATE=%d\n", media.VideoBitrate) audioDevice := audio.CaptureDevice if audioDevice == "" { - audioDevice = "plughw:0,0" + audioDevice = "hw:0,0" } if audio.SampleRate <= 0 { - audio.SampleRate = 16000 + audio.SampleRate = 48000 } if audio.Channels <= 0 { audio.Channels = 1 diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index 2fc58426..7cae8915 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -39,8 +39,8 @@ cameraServo: allowRawPulse: false audio: captureEnabled: false - captureDevice: plughw:0,0 - sampleRate: 16000 + captureDevice: hw:0,0 + sampleRate: 48000 channels: 1 bitrate: 24000 ttsEnabled: false