All Projects → unpause-live → Swiftvideo

unpause-live / Swiftvideo

Licence: apache-2.0
Swift Video Framework for Linux, macOS, and iOS/iPadOS

Programming Languages

swift
15916 projects

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
Thumbnailer
Go media thumbnailer
Stars: ✭ 123 (-10.22%)
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
Patch
Something could be public patches
Stars: ✭ 120 (-12.41%)
Mutual labels:  ffmpeg
Srt
Secure, Reliable, Transport
Stars: ✭ 1,898 (+1285.4%)
Mutual labels:  live-streaming
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
Fwf
HTML video editor with FFmpeg
Stars: ✭ 128 (-6.57%)
Mutual labels:  ffmpeg

SwiftVideo

GitHub Actions Swift version License

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

  1. Add .package(url: "https://github.com/unpause-live/SwiftVideo.git", from: "0.2.0") to your package dependencies
  2. In your target dependencies, add either SwiftVideo or SwiftVideo_Bare depending 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.

  1. Go to File -> Swift Packages -> Add Package Dependency, or in your Project settings go to the Swift Packages tab and press +
  2. Set the package repository URL to https://github.com/unpause-live/SwiftVideo
  3. 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.
  4. Choose the SwiftVideo_Bare product 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 the SwiftVideo product instead.
  5. If you are using the VideoMixer you will need to include Sources/SwiftVideo/kernels.metal in 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].