v2.2

m1k1o/nekov2.2Apr 1, 2021by m1k1o

AI Summary

Significant updates to stream quality controls, mobile browser compatibility, and Raspberry Pi support.

Key Highlights

  • Configurable stream quality via `VIDEO_BITRATE`, `AUDIO_BITRATE`, and `MAX_FPS`.
  • Support for mobile browsers with `playsinline` attribute.
  • Invite links with password embedded in the URL.
  • ARM-based images for Raspberry Pi support.

New Features

  • Mobile browser support (`playsinline`).
  • Stream quality controls (bitrate in kbit/s, max FPS).
  • Invite links with `?pwd=` parameter.
  • Stats endpoint `/stats?pwd=<admin>`.
  • VLC and XFCE Docker tags.
  • ARM-based images.
  • VNC viewer support via `NEKO_VNC_URL`.
  • Vue.js component integration.
  • Healthcheck added to Dockerfile.

Full Release Notes

### New Features
- Added limited support for some mobile browsers with `playsinline` attribute.
- Added `VIDEO_BITRATE` and `AUDIO_BITRATE` in kbit/s to control stream quality (in collaboration with @mbattista).
- Added `MAX_FPS`, where you can specify max WebRTC frame rate. When set to `0`, frame rate won't be capped and you can enjoy your real `60fps` experience. Originally, it was constant at `25fps`.
- Invite links. You can invite people and they don't need to enter passwords by themselves (and get confused about user accounts that do not exits). You can put your password in URL using `?pwd=<your-password>` and it will be automatically used when logging in.
- Added `/stats?pwd=<admin>` endpoint to get total active connections, host and members.
- Added `m1k1o/neko:vlc` tag, use VLC to watch local files together (by @mbattista).
- Added `m1k1o/neko:xfce` tag, as an non video related showcase (by @mbattista).
- Added ARM-based images, for Raspberry Pi support (by @mbattista).

### Bugs
- Fixed h264 pipelines bugs (by @mbattista).
- Fixed sessions manager thread safety by adding mutexes (caused panic in rare edge cases).
- Now when user gets kicked, he won't join as a ghost user again but will be logged out.
- **iOS compatibility!** Fixed really strange CSS bug, which prevented iOS from loading the video.
- Proper disconnect only once with unsubscribing events. When webrtc fails, user won't be logged in without username again.

### Misc
- Versions bumped: Go 16, Node.js 14 (by @mbattista).
- Remove HTML tags from user name.
- Upgraded `pion/webrtc` to v3 (by @mbattista).
- Added `requestFullscreen` compatibility for older browsers.
- Fixed small lags in video and improved video UX (by @mbattista).
- Added `m1k1o/neko:vncviewer` tag, use `NEKO_VNC_URL` to specify VNC target and use n.eko as a bridge.
- Abiltiy to include neko as a component in another Vue.Js project (by @gbrian).
- Added HEALTHCHECK to Dockerfile.