Environment
- LightNVR 0.34.7 (sid_amd64.deb)
- Ubuntu 26.04 in LXC on Proxmox VE (kernel 7.0.2-6-pve)
- 2 NICs: eth0 (cameras 192.168.1.0/24), eth1 (clients 172.31.196.0/23)
- Intel Alder Lake UHD 730, VAAPI via /dev/dri/renderD128
- Browsers tested: Chrome, Firefox (latest)
Bug 1: Audio not transmitted in WebRTC/HLS for ffmpeg: sources despite presence in recording and VLC
Camera added as ffmpeg:rtsp://...#tcp.
ffprobe rtsp://localhost:8554/stream shows aac audio track.
- MP4 recordings contain audio.
- VLC plays audio correctly.
- HLS: no audio controls shown in player.
- WebRTC: SDP contains
opus audio track, UI shows speaker icon/mute toggle, but no sound is heard when unmuted. Browser volume is up, autoplay policy satisfied (clicked before connecting).
Expected: Audio should play in both HLS and WebRTC when stream contains audio track.
Bug 2: hw_accel_enabled = false is ignored — ffmpeg:#hardware always injected
Steps:
- Set
hw_accel_enabled = false in lightnvr.ini.
- Delete
go2rtc.yaml, restart LightNVR.
- Add a native RTSP stream (
rtsp://... without ffmpeg: prefix).
Actual: go2rtc.yaml always contains:
stream_name:
- rtsp://...
- ffmpeg:stream_name#audio=aac
- ffmpeg:stream_name#video=h264#hardware
The h264_vaapi encoder crashes in LXC (vainfo works, but encoding fails with Function not implemented), causing consumers: null and rtsp://localhost:8554/stream returning 404/Invalid data.
Expected: When hw_accel_enabled = false, the yaml should contain only the RTSP URL, with no ffmpeg hardware fallback pipelines.
Bug 3: go2rtc reload API returns 404
POST /api/reload?src=tes returns 404 page not found.
Suggested fixes
Respect hw_accel_enabled flag in yaml generator.
Ensure audio track is exposed in HLS playlist and WebRTC consumer for ffmpeg: sources.
Implement POST /api/reload in go2rtc or use SIGHUP.
Environment
Bug 1: Audio not transmitted in WebRTC/HLS for
ffmpeg:sources despite presence in recording and VLCCamera added as
ffmpeg:rtsp://...#tcp.ffprobe rtsp://localhost:8554/streamshowsaacaudio track.opusaudio track, UI shows speaker icon/mute toggle, but no sound is heard when unmuted. Browser volume is up, autoplay policy satisfied (clicked before connecting).Expected: Audio should play in both HLS and WebRTC when stream contains audio track.
Bug 2:
hw_accel_enabled = falseis ignored —ffmpeg:#hardwarealways injectedSteps:
hw_accel_enabled = falseinlightnvr.ini.go2rtc.yaml, restart LightNVR.rtsp://...withoutffmpeg:prefix).Actual:
go2rtc.yamlalways contains:The h264_vaapi encoder crashes in LXC (vainfo works, but encoding fails with Function not implemented), causing consumers: null and rtsp://localhost:8554/stream returning 404/Invalid data.
Expected: When hw_accel_enabled = false, the yaml should contain only the RTSP URL, with no ffmpeg hardware fallback pipelines.
Bug 3: go2rtc reload API returns 404
POST /api/reload?src=tes returns 404 page not found.
Suggested fixes
Respect hw_accel_enabled flag in yaml generator.
Ensure audio track is exposed in HLS playlist and WebRTC consumer for ffmpeg: sources.
Implement POST /api/reload in go2rtc or use SIGHUP.