Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

iOS - Fine tuned video compression in Swift 4

License

NotificationsYou must be signed in to change notification settings

akaashdev/SwiftVideoCompressor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS - Fine tuned video compression in Swift 5

Forked fromVideoCompressionTutorial

  • Changes :
    • Added Swift 5 support
    • Added Compression Progress Handler
    • Added Result type completion handler
    • Handled device camera video orientation fix automatically

Features

  • iOS 9+
  • No dependencies
  • Single file, single function
  • Compression in background thread
  • Cancelable
  • Configurable a/v bitrate, video resolution, audio sample rate and many other fine tuning operations
  • Proper orientation correction for back/front camera
  • Low performance compression duringBackground Execution, even when device is locked. (Application.beginBackgroundTask must be called explicitly)
  • Progress Handling

Install

Copythis file to your project.

Usage

// Get source videoletvideoToCompress= //any valid URL pointing device storage// Declare destination path and remove anything exists in itlet destinationPath=URL(fileURLWithPath:NSTemporaryDirectory()).appendingPathComponent("compressed.mp4")try?FileManager.default.removeItem(at: destinationPath)// Compressletcancelable=compressh264VideoInBackground(    videoToCompress: videoToCompress,    destinationPath: destinationPath,    size:nil, // nil preserves original,    //size: (width: 1280, height: 720)     compressionConfig:.defaultConfig,    progressQueue:.main,    progressHandler:{ progressin         // Handle Progress},    completion:{[weak self] resultinswitch result{case.success(let url):            // Handle destination URL                    case.failure(let error):            // Handle Errorcase.cancelled:            // Handle Cancelled case}})// To cancel compression, set cancel flag to true and wait for handler invokecancelable.cancel=true

How to initiate a background task (i.e while the phone is locked)

Please refer to the discussion here.

About

iOS - Fine tuned video compression in Swift 4

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift100.0%

[8]ページ先頭

©2009-2025 Movatter.jp