Kakapos
Kakapos is a video add filter tool that supports network and local urls, as well as album videos.
Support macOS, iOS, tvOS and watchOS.
Used
- Set the conversion video storage sandbox link.
// Creating temp path to save the converted video
let outputURL: URL = {
let documents = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let outputURL = documents.appendingPathComponent("condy_exporter_video.mp4")
// Check if the file already exists then remove the previous file
if FileManager.default.fileExists(atPath: outputURL.path) {
do {
try FileManager.default.removeItem(at: outputURL)
} catch {
//completionHandler(nil, error)
}
}
return outputURL
}()
- Create the video exporter provider.
let provider = ExporterProvider.init(with: ``URL Link``)
Or
let provider = ExporterProvider.init(with: ``AVAsset``)
- Convert video and add filters, convert buffer.
let filters: [C7FilterProtocol] = [
C7Flip(horizontal: true, vertical: false),
C7ColorConvert(with: .gray),
C7SoulOut(soul: 0.3),
MPSGaussianBlur(radius: 5),
]
/// Export the video after add the filter.
/// - Parameters:
/// - provider: Configure export information.
/// - filtering: Filters work to filter pixel buffer.
/// - complete: The conversion is complete, including success or failure.
Exporter.export(provider: provider, filtering: { buffer in
let dest = BoxxIO(element: buffer, filters: filters)
return try? dest.output()
}, complete: { res _ in
// do somthing..
})
CocoaPods
- If you want to import video exporter module, you need in your Podfile:
pod 'Kakapos'
- If you want to import metal filter module, you need in your Podfile:
pod 'Harbeth'
Swift Package Manager
Swift Package Manager is a tool for managing the distribution of Swift code. Itβs integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.
Xcode 11+ is required to build Kakapos using Swift Package Manager.
To integrate Harbeth into your Xcode project using Swift Package Manager, add it to the dependencies value of your Package.swift
:
dependencies: [
.package(url: "https://github.com/yangKJ/Kakapos.git", branch: "master"),
]
Remarks
The general process is almost like this, the Demo is also written in great detail, you can check it out for yourself.
π· Tip: If you find it helpful, please help me with a star. If you have any questions or needs, you can also issue.
Thanks.
π
About the author
π· E-mail address: [email protected] π·πΈ GitHub address: yangKJπΈ
License
Harbeth is available under the MIT license. See the LICENSE file for more info.