VIMVideoPlayer alternatives and similar libraries
Based on the "Video" category.
Alternatively, view VIMVideoPlayer alternatives based on common mentions on social networks and blogs.
-
ZFPlayer
Support customization of any player SDK and control layer(支持定制任何播放器SDK和控制层) -
LFLiveKit
LaiFeng IOS Live Kit,H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate -
MobilePlayer
:iphone: :movie_camera: A powerful and completely customizable media player for iOS -
BMPlayer
A video player for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, support subtitles. -
Swift-YouTube-Player
Swift library for embedding and controlling YouTube videos in your iOS applications via WKWebView! -
PryntTrimmerView
A set of tools to trim, crop and select frames inside a video -
VersaPlayer
Versatile Video Player implementation for iOS, macOS, and tvOS -
YoutubeKit
YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app -
Periscope VideoViewController
Video view controller with Periscope fast rewind control -
VGPlayer
A simple iOS video player in Swift,Support play local and network,Background playback mode. -
ios-360-videos
NYT360Video plays 360-degree video streamed from an AVPlayer on iOS. -
AVPlayerViewController-Subtitles
Easy way to show SRT files on AVPlayerViewController -
SSVideoPlayer
A video player that support both local and network resource. -
MPMoviePlayerController-Subtitles
Easy way to show SRT files on MPMoviePlayerController -
AVAnimator
AVAnimator is an iOS library that makes it easy to implement non-trivial animated/video content in iOS -
PlayerView
Player View is a delegated view using AVPlayer of Swift -
swift-360-videos
360 video player for iOS written in swift - a subset of SceneKit that works -
ABMediaView
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos. -
VideoPager
Paging Video UI, and some control components is available. -
JDVideoKit
You can easily transfer your video into Three common video type via this framework.
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of VIMVideoPlayer or a related project?
README
VIMVideoPlayer
VIMVideoPlayer
is a simple wrapper around the AVPlayer and AVPlayerLayer classes.
Setup
Add the VIMVideoPlayerView
and VIMVideoPlayer
classes to your project.
Do this by including this repo as a git submodule or by using cocoapods:
# Add this to your podfile
target 'MyTarget' do
pod 'VIMVideoPlayer', ‘{CURRENT_POD_VERSION}’
end
Usage
Create a new VIMVideoPlayerView
instance or set up an @IBOutlet:
@IBOutlet weak var videoPlayerView: VIMVideoPlayerView!
...
override func viewDidLoad()
{
// Configure the player as needed
self.videoPlayerView.player.looping = true
self.videoPlayerView.player.disableAirplay()
self.videoPlayerView.setVideoFillMode(AVLayerVideoGravityResizeAspectFill)
self.videoPlayerView.delegate = self
}
Play a video:
// Using an NSURL
if let path = NSBundle.mainBundle().pathForResource("waterfall", ofType: "mp4")
{
self.videoPlayerView.player.setURL(NSURL(fileURLWithPath: path))
}
else
{
// Video file not found!
}
/*
Note: This must be a URL to an actual video resource (e.g. http://website.com/video.mp4 or .m3u8 etc.),
It cannot be a URL to a web page (e.g. https://vimeo.com/67069182),
See below for info on using VIMVideoPlayer to play Vimeo videos.
*/
// Using an AVPlayerItem
let playerItem: AVPlayerItem = ...
self.videoPlayerView.player.setPlayerItem(playerItem)
self.videoPlayerView.player.play()
// Or using an AVAsset
let asset: AVAsset = ...
self.videoPlayerView.player.setAsset(asset)
self.videoPlayerView.player.play()
Optionally implement the VIMVideoPlayerViewDelegate
protocol methods:
protocol VIMVideoPlayerViewDelegate
{
optional func videoPlayerViewIsReadyToPlayVideo(videoPlayerView: VIMVideoPlayerView!)
optional func videoPlayerViewDidReachEnd(videoPlayerView: VIMVideoPlayerView!)
optional func videoPlayerView(videoPlayerView: VIMVideoPlayerView!, timeDidChange cmTime: CMTime)
optional func videoPlayerView(videoPlayerView: VIMVideoPlayerView!, loadedTimeRangeDidChange duration: Float)
optional func videoPlayerViewPlaybackBufferEmpty(videoPlayerView: VIMVideoPlayerView!)
optional func videoPlayerViewPlaybackLikelyToKeepUp(videoPlayerView: VIMVideoPlayerView!)
optional func videoPlayerView(videoPlayerView: VIMVideoPlayerView!, didFailWithError error: NSError!)
}
See VIMVideoPlayer.h
for additional configuration options.
Playing Vimeo Videos
Vimeo Pro members can access playback URLs for Vimeo videos using the Vimeo API. Playback URLs are only included in the response object if the requesting account is a Vimeo Pro account.
If you have a Vimeo Pro account, when you make a request to the Vimeo API for a video object the response object will contain a list of video files
. These represent the various resolution video files available for this particular video. Each has a link
. You can use the string value keyed to link
to create an NSURL. You can pass this NSURL to VIMVideoPlayer for playback.
Check out this Stack Overflow question for additional info.
You can use the Vimeo iOS SDK to interact with the Vimeo API.
For full documentation on the Vimeo API go here.
Found an Issue?
Please file it in the git issue tracker.
Want to Contribute?
If you'd like to contribute, please follow our guidelines found in [CONTRIBUTING.md](CONTRIBUTING.md).
License
VIMVideoPlayer
is available under the MIT license. See the [LICENSE](LICENSE.md) file for more info.
Questions?
Tweet at us here: @vimeoapi.
Post on Stackoverflow with the tag vimeo-ios
.
Get in touch here.
Interested in working at Vimeo? We're hiring!
*Note that all licence references and agreements mentioned in the VIMVideoPlayer README section above
are relevant to that project's source code only.