Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 9 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
- Host: GitHub
- URL: https://github.com/pedroSG94/RootEncoder-iOS
- Owner: pedroSG94
- License: apache-2.0
- Created: 2020-08-28T19:27:46.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-05T23:02:13.000Z (about 1 month ago)
- Last Synced: 2024-10-14T20:03:26.290Z (about 1 month ago)
- Topics: amf, encoder, filters, ios, mpeg2-ts, rtmp, rtp, rtsp, srt, stream, stream-library, streaming, swift, swiftui
- Language: Swift
- Homepage:
- Size: 2.72 MB
- Stars: 119
- Watchers: 9
- Forks: 34
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
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)