本文将介绍视频、音频处理的方法;方便大家使用
或者:https://coding.net/u/Xoxo_x/p/VideoAndAudio/git/tree/master
首先
音视频处理需要用到AVFoundation下的AVAssetExportSession,通过exportAsynchronouslyWithCompletionHandler回调,得知处理状况。 |
一、视频压缩
视频压缩实际上是一种视频格式的转换、苹果原生录制的视频通过此方法可以压缩为原来的1/8 ~ 1/9左右。
- 创建AVURLAsset
// 视频来源
let videoInputUrl = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("Daid", ofType: "mp4")!)
// 视频采集
let videoAsset = AVURLAsset(URL: videoInputUrl, options: nil)
- 创建输出路径
// 最终合成输出路径
let name = currentTimeStamp() + ".mp4"
let temporaryFile = (NSTemporaryDirectory() as NSString).stringByAppendingPathComponent(name)
print(temporaryFile)
let outputFileUrl = NSURL(fileURLWithPath: temporaryFile)
其中,currentTimeStamp()为时间戳字符串,防止重复。
//时间戳
func currentTimeStamp()->String {
let now = NSDate()
let dformatter = NSDateFormatter()
dformatter.dateFormat = "yyyy年MM月dd日 HH:mm:ss"
print("当前日期时间:\(dformatter.stringFromDate(now))")
//当前时间的时间戳
let timeInterval:NSTimeInterval = now.timeIntervalSince1970
let timeStamp = Int(timeInterval)
return String(timeStamp)
}
<