unpause-live / Swiftvideo
Licence: apache-2.0
Swift Video Framework for Linux, macOS, and iOS/iPadOS
Stars: ✭ 137
Programming Languages
swift
15916 projects
Labels
Projects that are alternatives of or similar to Swiftvideo
Go Transcode
Live on-demand transcoding in go using ffmpeg. Also with NVIDIA GPU hardware acceleration.
Stars: ✭ 39 (-71.53%)
Mutual labels: ffmpeg, live-streaming
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+1394.89%)
Mutual labels: ffmpeg, live-streaming
Live Stream From Desktop
Provide guidance to test live streaming (mpeg-dash or hls) or vod from your desktop
Stars: ✭ 124 (-9.49%)
Mutual labels: ffmpeg, live-streaming
showroom
Script for archiving AKB48 Group related Showroom streams
Stars: ✭ 48 (-64.96%)
Mutual labels: ffmpeg, live-streaming
Docker Nginx Rtmp
🐋 A Dockerfile for nginx-rtmp-module + FFmpeg from source with basic settings for streaming HLS. Built on Alpine Linux.
Stars: ✭ 608 (+343.8%)
Mutual labels: ffmpeg, live-streaming
Ffdynamic
Library with dynamic audio/video composition and runtime control
Stars: ✭ 274 (+100%)
Mutual labels: ffmpeg, live-streaming
nott
The New OTT Platform - an excuse to discuss and design a simple edge computing platform
Stars: ✭ 46 (-66.42%)
Mutual labels: ffmpeg, live-streaming
Obs Studio
OBS Studio - Free and open source software for live streaming and screen recording
Stars: ✭ 34,115 (+24801.46%)
Mutual labels: ffmpeg, live-streaming
Abr Broadcaster
A real time encoder for Adaptive Bitrate Broadcast
Stars: ✭ 80 (-41.61%)
Mutual labels: ffmpeg, live-streaming
Xl player
A high performance Android media player, base on ffmpeg and MediaCodec, support VR video.
Stars: ✭ 126 (-8.03%)
Mutual labels: ffmpeg
Rtmp Ts Dash Webrtc
👾 音视频解决方案 Audio and video solutions(AV1)
Stars: ✭ 129 (-5.84%)
Mutual labels: ffmpeg
Tiktokbot
A TikTokBot that downloads trending tiktok videos and compiles them using FFmpeg
Stars: ✭ 126 (-8.03%)
Mutual labels: ffmpeg
Ffscreencast
ffscreencast - ffmpeg screencast/desktop-recording with video overlay and multi monitor support
Stars: ✭ 1,625 (+1086.13%)
Mutual labels: ffmpeg
Spacextract
Extraction and analysis of telemetry from rocket launch webcasts (from SpaceX and RocketLab)
Stars: ✭ 131 (-4.38%)
Mutual labels: ffmpeg
Screen Recorder
A Ruby gem to video record and take screenshots of your desktop or specific application window. Works on Windows, Linux, and macOS.
Stars: ✭ 135 (-1.46%)
Mutual labels: ffmpeg
Video Srt Windows
这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。
Stars: ✭ 2,497 (+1722.63%)
Mutual labels: ffmpeg
SwiftVideo
Video streaming and processing framework for Linux, macOS, and iOS/iPadOS/tvOS. Swift 5.1+ because I'm just opening this up and I really don't feel like dealing with older versions of Swift.
Getting Started
For now, check the Examples directory for some hints about how to use this framework. I promise I will be creating documentation to clarify how it all fits together and how you can do useful, interesting things with this framework.
Using with SwiftPM
- Add
.package(url: "https://github.com/unpause-live/SwiftVideo.git", from: "0.2.0")to your package dependencies - In your target dependencies, add either
SwiftVideoorSwiftVideo_Baredepending on whether or not you wish to build with FFmpeg and Freetype support.
Using with Xcode + iOS
You can use this project in Xcode for iOS as a Swift Package as of 0.2.0.
- Go to File -> Swift Packages -> Add Package Dependency, or in your Project settings go to the Swift Packages tab and press +
- Set the package repository URL to https://github.com/unpause-live/SwiftVideo
- Select the branch or version you want to reference. Only 0.2.0 and above will be usable on iOS unless you also compile FFmpeg and Freetype for it.
- Choose the
SwiftVideo_Bareproduct when prompted. This will build SwiftVideo without FFmpeg and Freetype. If you have built those libraries for iOS and wish to use them with SwiftVideo, choose theSwiftVideoproduct instead. - If you are using the VideoMixer you will need to include
Sources/SwiftVideo/kernels.metalin your project directly so that they are included. This will be changed when Swift 5.3 is released.
Current Features
- RTMP Client and Server
- "Flavor" Client and Server (toy protocol, see flavor.md)
- OpenCL Support
- Metal Support
- Audio Decode/Encode (via FFmpeg and CoreAudio)
- Video Decode/Encode (via FFmpeg and CoreVideo)
- Camera capture (macOS/iOS)
- Text rendering (via FreeType)
- Video Mixer
- Audio Mixer
- Audio Resampler (via FFmpeg+SOX)
FFmpeg support is thanks to https://github.com/sunlubo/SwiftFFmpeg
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].
