v1.7.0
AlexxIT/go2rtcv1.7.0Sep 2, 2023by AlexxIT
AI Summary
Major architectural overhaul removing most external libraries and introducing a native HomeKit Server with transparent proxy capabilities.
Key Highlights
- New HomeKit Server
- Removal of external libraries (rewritten parsers)
- Transparent proxy for HomeKit cameras
Breaking Changes
- Storage migration: `go2rtc.json` removed, all changes now go to `go2rtc.yaml`
New Features
- TP-Link Kasa cameras source
- Custom timeout for RTSP source
- Media filter for RTSP source
- AAC consumer support
- RTMPS source support
- OpenIPC WebRTC format support
- Go version updated to 1.21
Full Release Notes
**Dangerous update!** A lot of new stuff. Not everything can work well.
## Add HomeKit Server
- Add support output any H264 camera to Apple HomeKit
- Add support transparent proxy for HomeKit cameras (Aqara, etc.)
## Total rework
- Remove almost all external libraries (dependencies) except `pion/WebRTC` and rewrited that formats/parsers from scratch
- Total rework HomeKit source
- including native AAC-ELD audio support for FFmpeg
- Total rework RTMP/RTMPS source
- Total rework HTTP-FLV source
- Total rework MPEG-TS source:
- including rework TP-Link Tapo source
- add support IPTV streams with B-frames and AAC audio
- add support MPEG-TS for HLS source
- Rework RTSP server (consumer) for less CPU usage
- Rework JPEG source
- Rework MJPEG source
- Rework Magic (pipe/tcp/http) source
- Rework MP4, HLS, MPEG-TS, MJPEG consumers
- Rework HomeKit pairing WebUI
- Rework Discovery API for all sources
- Support for adding and removing streams in `go2rtc.yaml` with preserving file formatting
- Remove storage as `go2rtc.json` file, all changes now go to `go2rtc.yaml`
## Other with examples
- Add TP-Link Kasa cameras source #545
```yaml
streams:
# https://medium.com/@hu3vjeen/reverse-engineering-tp-link-kc100-bac4641bf1cd
kasa: kasa://user:pass@192.168.1.123:19443/https/stream/mixed
```
- Add width, height, resize params for JPEG snapshots API #517 @skrashevich
```bash
ffplay "http://192.168.1.123:1984/api/frame.jpeg?src=camera1&w=1280&h=720"
```
- Add support custom timeout for RTSP source
```yaml
streams:
camera1: rtsp://192.168.1.123/stream1#timeout=30
```
- Add custom headers for HTTP source
```yaml
streams:
http-mjpeg1: "https://mjpeg.sanford.io/count.mjpeg#header=Authorization: Bearer XXX"
```
- Add media filter for RTSP source #198
```yaml
streams:
camera-video: rtsp://192.168.1.123/stream1#media=video
camera-audio: rtsp://192.168.1.123/stream1#media=audio
```
- Add AAC consumer
```bash
ffplay "http://192.168.1.123:1984/api/stream.aac?src=camera1"
```
## Other
- Add support simple HLS/TS source
- Add support RTMPS source
- Add support **MJPEG** codec for **HomeKit** source
- Add support [OpenIPC](https://openipc.org/) WebRTC format as source
- Add **SDP** to `stream.json` info
- Add insecure HTTPS requests to IP addresses
- Add new H265 codec to **DVRIP** source #561 by @dbuezas
- Add check for empty H265 packet #589
- Add autobild binaries (artifacts) for master (dev) version
- Add support B-frames for MP4 consumer
- Add `ffplay` example to WebUI links page
- Support hass source without hass config #541
- Update FFmpeg preset for OPUS
- Update WebUI config editor #593 by @skrashevich
- Update Go version to 1.21 #592 by @skrashevich
- Update FFmpeg flags for hardware vaapi #557 by @h0nIg
- Update readme about wyze-bridge #588
- Improve mDNS handler
- Fix config file validating
- Fix support more TP-Link cameras RTSP #567 by @awatuna
- Fix H264 profile parsing for [OpenIPC](https://openipc.org/) RTSP source
- Fix 400 response on PLAY for Reolink Doorbell #562
- Fix redirect for rtspx source #565
- Fix WebUI background color for dark mode browser
- Fix H265 codec for bubble source