Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pedrosg94/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
https://github.com/pedrosg94/rootencoder-ios

amf encoder filters ios mpeg2-ts rtmp rtp rtsp srt stream stream-library streaming swift swiftui

Last synced: 11 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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

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

## Compile

### SPM

In Xcode go to:
Project > Package dependencies > + > add this to the search bar:
```
https://github.com/pedroSG94/RootEncoder-iOS
```

## Use examples:

### RTMP

https://github.com/pedroSG94/RootEncoder-iOS/blob/master/app/RtmpSwiftUIView.swift

### RTSP

https://github.com/pedroSG94/RootEncoder-iOS/blob/master/app/RtspSwiftUIView.swift

## Incoming features

I will develop this features but not in this order.

- [ ] Stream from file (FromFileRtsp/FromFileRtmp)
- [ ] Upload to cocoapod
- [ ] Minors features: video bitrate on fly, adaptative bitrate.
- [ ] SRT (maybe the last one)