haikieu / RootEncoder-iOS

RootEncoder iOS (rtmp-rtsp-stream-client-swift) is a stream encoder to push video/audio to media servers using protocols RTMP, RTSP and SRT with all code written in Swift

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RootEncoder iOS

RootEncoder iOS (rtmp-rtsp-stream-client-swift) is a stream encoder to push video/audio to media servers using protocols RTMP, RTSP and SRT with all code written in Swift

Status

The project is not stable yet. For now, the min iOS version required is iOS14 but I have plan to downgrade it a bit. Swift 5 is required because RTMP and RTSP protocol use async await in sockets.

Features

  • H264 and AAC support
  • Switch camera while streaming
  • RTSP TCP/UDP
  • RTSPS
  • RTSP auth (basic and digest)
  • RTMP
  • RTMPS
  • Real time filters (with Metal). For now, support only filters with CIImage but I have plan to add filters using vertex and fragment
  • Reconnection (RTMP and RTSP)
  • Stream from device display (DisplayRtsp/DisplayRtmp)
  • H265 support (RTSP)
  • Get upload bandwidth used (RTMP and RTSP)

Incoming features

I will develop this features but not in this order.

  • RTMP auth (adobe and llnw)
  • H265 support (RTMP)
  • Local video record
  • Stream from file (FromFileRtsp/FromFileRtmp)
  • Upload to cocoapod or similar
  • Minors features: video bitrate on fly, adaptative bitrate.
  • SRT (maybe the last one)

About

RootEncoder iOS (rtmp-rtsp-stream-client-swift) is a stream encoder to push video/audio to media servers using protocols RTMP, RTSP and SRT with all code written in Swift

License:Apache License 2.0


Languages

Language:Swift 99.4%Language:Objective-C 0.6%