iOS視頻壓縮(仿微信錄像)

視頻壓縮

AVFoundation框架中提供了視頻壓縮的功能,有一些應(yīng)用場(chǎng)景,對(duì)像素要求不高,但是需要看到視頻的,可以對(duì)視頻進(jìn)行壓縮,比如微信的小視頻功能。

//壓縮
- (void)compression{ 
NSLog(@"壓縮前大小 %f MB",[self fileSize:_videoUrl]); 
// 創(chuàng)建AVAsset對(duì)象 
AVAsset* asset = [AVAsset assetWithURL:_videoUrl]; 
/* 
創(chuàng)建AVAssetExportSession對(duì)象 
壓縮的質(zhì)量 
AVAssetExportPresetLowQuality 最low的畫(huà)質(zhì)最好不要選擇實(shí)在是看不清楚 
AVAssetExportPresetMediumQuality 使用到壓縮的話(huà)都說(shuō)用這個(gè) 
AVAssetExportPresetHighestQuality 最清晰的畫(huà)質(zhì)  
*/ 
AVAssetExportSession * session = [[AVAssetExportSession alloc]
initWithAsset:asset presetName:AVAssetExportPresetMediumQuality];
 //優(yōu)化網(wǎng)絡(luò) 
session.shouldOptimizeForNetworkUse = YES; 
//轉(zhuǎn)換后的格式 
 //拼接輸出文件路徑 為了防止同名 可以根據(jù)日期拼接名字 或者對(duì)名字進(jìn)行MD5加密  
NSString* path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] 
stringByAppendingPathComponent:@"hello.mp4"]; 
//判斷文件是否存在,如果已經(jīng)存在刪除 
[[NSFileManager defaultManager]removeItemAtPath:path error:nil]; 
//設(shè)置輸出路徑 
session.outputURL = [NSURL fileURLWithPath:path]; 
 //設(shè)置輸出類(lèi)型 這里可以更改輸出的類(lèi)型 具體可以看文檔描述 
session.outputFileType = AVFileTypeMPEG4;  
[session exportAsynchronouslyWithCompletionHandler:^{ 
NSLog(@"%@",[NSThread currentThread]);  
//壓縮完成
 if(session.status==AVAssetExportSessionStatusCompleted) {
 //在主線(xiàn)程中刷新UI界面,彈出控制器通知用戶(hù)壓縮完成 dispatch_async(dispatch_get_main_queue(), ^{
 NSLog(@"導(dǎo)出完成"); 
CompressURL = session.outputURL; 
NSLog(@"壓縮完畢,壓縮后大小 %f MB",[self fileSize:CompressURL]); 
                           });
            } 
     }];  
 }

Demo地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,027評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,284評(píng)論 4 61
  • 從15歲開(kāi)始,我就想我要在25歲時(shí)死去。 那為什么不在15歲就去死呢。因?yàn)槟鞘堑奈也粔蛴職猓桓胰ニ馈?如今,我2...
    蜉蝣的蜉蝣閱讀 292評(píng)論 0 0
  • 大_滿(mǎn)_閱讀 227評(píng)論 0 0
  • 青歌的一魄蕩蕩悠悠,幻成的樣子,站在一旁看著他們。 “你死了?!蔽艺f(shuō)道。 她不解的問(wèn):“你是誰(shuí)。” “我是花精,在...
    銅鏡映無(wú)邪閱讀 256評(píng)論 0 0

友情鏈接更多精彩內(nèi)容