Latest 0.1.0
License MIT
Platforms ios 10.0
Dependencies SpinKit, SDWebImage
Frameworks MobileCoreServices, AVFoundation

iOS Instagram/Snapchat Stories Video Player with Queue/Playlist like! (ObjC)

Note: This is a WIP, help me improve it!

Demo GIF


  • Tap to next or prev video in the queue/playlist
  • Loopeable playlist (smart algorithm!)
  • Fast preload of both next and prev videos
  • Thumbnails support
  • Video and Thumbs caching

How does it work?

It is based on raw AVPlayer.
GMStoryViewController has 3 video players (GMVideoViewController), it loads the current video and smartly preloads the next and previous video too.

Note: For now to get best buffering and instant play at tap time, the videos while preloading are also being played looping, just not shown. As soon as the video should be shown we hide the other 2, seek that to time zero and show it. Alternatives welcome.

Warning: You might want to choose to disable playing all the videos while controller not being shown (the reason is to get better buffering)


To run the example project, clone the repo, and run pod install from the Example directory first.


xCode and iOS simulator or Device


GMStoryVideoPlayer is available through CocoaPods. To install
it, simply add the following line to your Podfile:

pod "GMStoryVideoPlayer"


Gaston Morixe, [email protected]


GMStoryVideoPlayer is available under the MIT license. See the LICENSE file for more info.

Latest podspec

    "name": "GMStoryVideoPlayer",
    "version": "0.1.0",
    "summary": "iOS Obj-C Story Video Player like Instagram and Snapchat with back, forth, loop and video caching",
    "description": "iOS Video Player based on raw AVPlayer with an algorithm to create a Instagram/Snapchar Story player like. nIt supportsnt* Fast/Instant tap and skip to next/prev videont* Preloadingnt* Thumnailsnt* Video Caching",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Gaston Morixe": "[email protected]"
    "source": {
        "git": "",
        "tag": "0.1.0"
    "social_media_url": "",
    "platforms": {
        "ios": "10.0"
    "source_files": [
    "frameworks": [
    "dependencies": {
        "SpinKit": [],
        "SDWebImage": []

Pin It on Pinterest

Share This