▶️ video player in Swift, simple way to play and stream media on iOS/tvOS
Swift Objective-C Ruby Shell
Clone or download
Latest commit a39e67e Aug 8, 2018




Player is a simple iOS video player library written in Swift.

Build Status Pod Version Swift Version GitHub license


  • plays local media or streams remote media over HTTP
  • customizable UI and user interaction
  • no size restrictions
  • orientation change support
  • simple API

Quick Start

Player is available for installation using the Cocoa dependency manager CocoaPods. Alternatively, you can simply copy the Player.swift file into your Xcode project.

# CocoaPods
swift_version = "4.0"
pod "Player", "~> 0.9.0"

# Carthage
github "piemonte/Player" ~> 0.9.0

Need Swift 3? Use release 0.7.0


The sample project provides an example of how to integrate Player, otherwise you can follow these steps.

Allocate and add the Player controller to your view hierarchy.

 self.player = Player()
 self.player.playerDelegate = self
 self.player.playbackDelegate = self
 self.player.view.frame = self.view.bounds
 self.player.didMove(toParentViewController: self)

Provide the file path to the resource you would like to play locally or stream. Ensure you're including the file extension.

let videoUrl: URL = // file or http url
self.player.url = videoUrl



Adjust the fill mode for the video, if needed.

 self.player.fillMode = PlayerFillMode.resizeAspectFit.avFoundationType

Display video playback progress, if needed.

extension ViewController: PlayerPlaybackDelegate {

    public func playerPlaybackWillStartFromBeginning(_ player: Player) {
    public func playerPlaybackDidEnd(_ player: Player) {
    public func playerCurrentTimeDidChange(_ player: Player) {
        let fraction = Double(player.currentTime) / Double(player.maximumDuration)
        self._playbackViewController?.setProgress(progress: CGFloat(fraction), animated: true)
    public func playerPlaybackWillLoop(_ player: Player) {
        self. _playbackViewController?.reset()


You can find the docs here. Documentation is generated with jazzy and hosted on GitHub-Pages.




Player is available under the MIT license, see the LICENSE file for more information.