GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - SDWebImage/SDWebImageVideoCoder: A toy (non-production) SDWebImage coder plugin to play Video Format like MP4 on Animated Image View

BranchesTags
Open more actions menu

Latest commit

 

History

17 Commits
17 Commits

Folders and files

NameName
Last commit message
Last commit date
.swiftpm/xcode/package.xcworkspace
.swiftpm/xcode/package.xcworkspace
 
 
Example
Example
 
 
SDWebImageVideoCoder.xcodeproj
SDWebImageVideoCoder.xcodeproj
 
 
SDWebImageVideoCoder
SDWebImageVideoCoder
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
Cartfile
Cartfile
 
 
Cartfile.resolved
Cartfile.resolved
 
 
LICENSE
LICENSE
 
 
Package.resolved
Package.resolved
 
 
Package.swift
Package.swift
 
 
README.md
README.md
 
 
SDWebImageVideoCoder.podspec
SDWebImageVideoCoder.podspec
 
 

Repository files navigation

SDWebImageVideoCoder

CI Status Version License Platform

What's for

This is just a toy coder plugin for SDWebImage. Which aim to provide a demo usage that how SDWebImage combined the Animated Image View and Player and let it works for generic usage and customization.

Important: This project is just a toy, which means, it does not provide any production ready features, and the performances is really slow.

For real world rendering for short video files (like Imgur's GIFV format). You should always prefers to use the video player and rendering components, like AVKit's AVPlayerViewController .

This coder plugin, provide the animation loading support for video format, including:

  • MP4 (MPEG/4)
  • M4V (Apple iTunes Movie)
  • MOV (QuickTime Movie)

Requirements

  • iOS 9+
  • macOS 10.11+
  • tvOS 9+

Installation

CocoaPods

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

pod 'SDWebImageVideoCoder'

Carthage

SDWebImageVideoCoder is available through Carthage.

github "SDWebImage/SDWebImageVideoCoder"

Swift Package Manager (Xcode 11+)

SDWebImageVideoCoder is available through Swift Package Manager.

let package = Package(
    dependencies: [
        .package(url: "https://github.com/SDWebImage/SDWebImageVideoCoder.git", from: "0.2.0")
    ]
)

Usage

Load Video URL

For coder plugin usage, see Wiki - Coder Usage

  • Objective-C
// register coder
[SDImageCodersManager.sharedCoder addCoder:SDImageVideoCoder.sharedCoder];
// load URL
SDAnimatedImageView *imageView;
NSURL *videoURL = [NSURL URLWithString:@"https://i.imgur.com/FY1AbSo.mp4"]; 
[imageView sd_setImageWithURL:videoURL];
  • Swift
// register coder
SDImageCodersManager.shared.addCoder(SDImageVideoCoder.shared)
// load URL
let imageView: SDAnimatedImageView
let url = URL(string: "https://i.imgur.com/FY1AbSo.mp4")
imageView.sd_setImage(url: url)

AVAsset player usage

For player usage, see Wiki - Animated Image Player

  • Objective-C
// AVAsset
AVAsset *asset;
AVAssetImageGenerator *generator = [AVAssetImageGenerator assetImageGeneratorWithAsset:asset];
generator.appliesPreferredTrackTransform = YES;
generator.requestedTimeToleranceBefore = kCMTimeZero;
generator.requestedTimeToleranceAfter = kCMTimeZero;
// player
SDAnimatedImagePlayer *player = [SDAnimatedImagePlayer playerWithProvider:generator];
player.animationFrameHandler = ^(NSUInteger index, UIImage * frame) {
    // frames
};
[player seekToFrameAtIndex:5 loopCount:0];
[player play];
  • Swift
let asset: AVAsset
let generator = AVAssetImageGenerator(asset: asset)
generator.appliesPreferredTrackTransform = true
generator.requestedTimeToleranceBefore = .zero
generator.requestedTimeToleranceAfter = .zero
// Player
let player = SDAnimatedImagePlayer(provider: generator)
player.animationFrameHandler = { (index, frame) in 
    // frames
}
player.seekToFrame(at: 5, loopCount: 0)
player.play()

Example

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

This demo MP4 video is from Imgur. You can always try you short video files as well.

Author

DreamPiggy, [email protected]

License

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

About

A toy (non-production) SDWebImage coder plugin to play Video Format like MP4 on Animated Image View

Topics

iosmacosmovmp4sdwebimagetvos

Resources

Readme
MIT license
Activity
Custom properties

Stars

12 stars

Watchers

1 watching

Forks

2 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.