RootEncoder iOS (rtmp-rtsp-stream-client-swift) is a stream encoder to push video/audio to media servers using protocols RTMP, RTSP with all code written in Swift
The project is not stable yet.
- Required iOS 14 and Swift 5
- H264, H265 and AAC support
- Switch camera while streaming
- RTSP TCP/UDP
- RTSPS
- RTSP auth (basic and digest)
- RTMP auth (adobe and llnw)
- RTMP
- RTMPS
- Real time filters (with Metal)
- Reconnection (RTMP and RTSP)
- Stream from device display (DisplayRtsp/DisplayRtmp)
- Get upload bandwidth used (RTMP and RTSP)
- Local video record
Minimum requirements: iOS 14 and Swift 5.10.
- Open your project and go to
File > Add Package Dependencies...(orProject > Package Dependencies > +). - Paste this URL in the search bar:
https://github.com/pedroSG94/RootEncoder-iOS
Select exact version is recommended.
dependencies: [
.package(url: "https://github.com/pedroSG94/RootEncoder-iOS.git", from: "0.1.1")
],
targets: [
.target(
name: "YourTarget",
dependencies: [
.product(name: "RootEncoder", package: "RootEncoder-iOS")
]
)
]The library exposes a single module with all the protocols included:
import RootEncoderhttps://github.com/pedroSG94/RootEncoder-iOS/blob/master/app/RtmpSwiftUIView.swift
https://github.com/pedroSG94/RootEncoder-iOS/blob/master/app/RtspSwiftUIView.swift
- Stream from file and others video/audio sources
- Make RTMP module equivalent in features to Android version
- Make RTSP module equivalent in features to Android version
- SRT
- WHIP