diff --git a/dist/roverd b/dist/roverd index a31c1841..58163d13 100755 Binary files a/dist/roverd and b/dist/roverd differ diff --git a/dist/servoverifier b/dist/servoverifier index 812591eb..18c9241d 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 0b7b6508..4175f75a 100644 --- a/pi/bin/video-publisher.sh +++ b/pi/bin/video-publisher.sh @@ -67,9 +67,9 @@ load_env_file : "${PUBLISH_URL:?PUBLISH_URL not set in ${ENV_FILE}}" # Defaults tuned for OV5647: use 4:3 output and force the common 2x2 binned full-FOV mode. -VIDEO_WIDTH="${VIDEO_WIDTH:-640}" -VIDEO_HEIGHT="${VIDEO_HEIGHT:-480}" -VIDEO_FPS="${VIDEO_FPS:-30}" +VIDEO_WIDTH="640" +VIDEO_HEIGHT="480" +VIDEO_FPS="30" VIDEO_BITRATE="${VIDEO_BITRATE:-3000000}" VIDEO_SENSOR_MODE="${VIDEO_SENSOR_MODE:-1296:972}" diff --git a/pi/install_roverd.sh b/pi/install_roverd.sh index d62c7164..d6934ed3 100755 --- a/pi/install_roverd.sh +++ b/pi/install_roverd.sh @@ -215,9 +215,6 @@ cat > /var/lib/roverd/video.env <<'ENV' # Managed by roverd; placeholder values will be overwritten at runtime. PUBLISH_URL=srt://192.168.0.86:9000?streamid=#!::r=CHANGE_ME,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 AUDIO_PUBLISH_URL=srt://192.168.0.86:9000?streamid=#!::r=CHANGE_ME-audio,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 -VIDEO_WIDTH=1280 -VIDEO_HEIGHT=720 -VIDEO_FPS=30 VIDEO_BITRATE=2000000 AUDIO_ENABLE=0 AUDIO_DEVICE=hw:0,0 diff --git a/pi/roverd/config.go b/pi/roverd/config.go index 0bfbe20f..82b3eca9 100644 --- a/pi/roverd/config.go +++ b/pi/roverd/config.go @@ -136,9 +136,6 @@ func LoadConfig(path string) (*Config, error) { Media: MediaConfig{ PublishPort: 9000, HealthInterval: Duration{Duration: 30 * time.Second}, - VideoWidth: 1280, - VideoHeight: 720, - VideoFPS: 30, VideoBitrate: 2000000, }, CameraServo: CameraServoConfig{ @@ -197,15 +194,6 @@ func LoadConfig(path string) (*Config, error) { if cfg.Media.Manage && cfg.Media.HealthInterval.Duration <= 0 { cfg.Media.HealthInterval = Duration{Duration: 30 * time.Second} } - if cfg.Media.VideoWidth <= 0 { - cfg.Media.VideoWidth = 1280 - } - if cfg.Media.VideoHeight <= 0 { - cfg.Media.VideoHeight = 720 - } - if cfg.Media.VideoFPS <= 0 { - cfg.Media.VideoFPS = 30 - } if cfg.Media.VideoBitrate <= 0 { cfg.Media.VideoBitrate = 3000000 } diff --git a/pi/roverd/media_env.go b/pi/roverd/media_env.go index e182c340..168c96ab 100644 --- a/pi/roverd/media_env.go +++ b/pi/roverd/media_env.go @@ -16,7 +16,7 @@ func UpdatePublisherEnv(media MediaConfig, audio AudioConfig) error { if media.AudioPublishURL == "" && audio.CaptureEnabled { return fmt.Errorf("audio publishUrl missing") } - if media.VideoWidth <= 0 || media.VideoHeight <= 0 || media.VideoFPS <= 0 || media.VideoBitrate <= 0 { + if media.VideoWidth < 0 || media.VideoHeight < 0 || media.VideoFPS < 0 || media.VideoBitrate <= 0 { return fmt.Errorf("invalid media dimensions/bitrate") } if err := os.MkdirAll(filepath.Dir(publisherEnvPath), 0o755); err != nil { @@ -27,9 +27,15 @@ func UpdatePublisherEnv(media MediaConfig, audio AudioConfig) error { if audio.CaptureEnabled && media.AudioPublishURL != "" { fmt.Fprintf(&buf, "AUDIO_PUBLISH_URL=%s\n", media.AudioPublishURL) } - fmt.Fprintf(&buf, "VIDEO_WIDTH=%d\n", media.VideoWidth) - fmt.Fprintf(&buf, "VIDEO_HEIGHT=%d\n", media.VideoHeight) - fmt.Fprintf(&buf, "VIDEO_FPS=%d\n", media.VideoFPS) + if media.VideoWidth > 0 { + fmt.Fprintf(&buf, "VIDEO_WIDTH=%d\n", media.VideoWidth) + } + if media.VideoHeight > 0 { + fmt.Fprintf(&buf, "VIDEO_HEIGHT=%d\n", media.VideoHeight) + } + if media.VideoFPS > 0 { + fmt.Fprintf(&buf, "VIDEO_FPS=%d\n", media.VideoFPS) + } fmt.Fprintf(&buf, "VIDEO_BITRATE=%d\n", media.VideoBitrate) audioDevice := audio.CaptureDevice if audioDevice == "" || audioDevice == "rovermic" { diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index fec07f0e..74f8f1c3 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -17,9 +17,6 @@ maxWheelSpeed: 350 media: publishUrl: srt://192.168.0.86:9000?streamid=#!::r=roomba-alpha,m=publish&latency=10&mode=caller&transtype=live&pkt_size=1316 publishPort: 9000 - videoWidth: 1280 - videoHeight: 720 - videoFps: 30 videoBitrate: 2000000 manage: true service: video-publisher.service