1. 程式人生 > >iphone ios取出視訊的每一幀圖片(關鍵幀,AVAssetImageGenerator)

iphone ios取出視訊的每一幀圖片(關鍵幀,AVAssetImageGenerator)

[mImageGenerator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:CMTimeMakeWithSeconds(time, NSEC_PER_SEC)]] completionHandler:
    ^(CMTime requestedTime, CGImageRef image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error)
    {
 
        NSLog(@"actual got image at time:%f", CMTimeGetSeconds(actualTime));
        if (image)
        {
            [CATransaction begin];
            [CATransaction setDisableActions:YES];
            [layer setContents:(id)image];
 
            //UIImage *img = [UIImage imageWithCGImage:image];
            //UIImageWriteToSavedPhotosAlbum(img, self, nil, nil);
 
            [CATransaction commit];
        }
    }];
 

如何取得第一幀

AVFoundationframework 

 CoreMediaframework
+ (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {
    AVURLAsset *asset = [[[AVURLAsset alloc] initWithURL:videoURL options:nil] autorelease];
    NSParameterAssert(asset);
    AVAssetImageGenerator *assetImageGenerator = [[[AVAssetImageGenerator alloc] initWithAsset:asset] autorelease];
    assetImageGenerator.appliesPreferredTrackTransform = YES;
    assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;

    CGImageRef thumbnailImageRef = NULL;
    CFTimeInterval thumbnailImageTime = time;
    NSError *thumbnailImageGenerationError = nil;
    thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60) actualTime:NULL error:&thumbnailImageGenerationError];

    if (!thumbnailImageRef)
        NSLog(@"thumbnailImageGenerationError %@", thumbnailImageGenerationError);

    UIImage *thumbnailImage = thumbnailImageRef ? [[[UIImage alloc] initWithCGImage:thumbnailImageRef] autorelease] : nil;

    return thumbnailImage;

希望各位能支援一下我們的網站:http://t.cn/zOdAUxJ提提意見

相關推薦

iphone ios取出視訊圖片關鍵AVAssetImageGenerator

[mImageGenerator generateCGImagesAsynchronouslyForTimes:[NSArray arrayWithObject:[NSValue valueWithCMTime:CMTimeMakeWithSeconds(time, NSE

linuxcentos7中安裝mysql修改密碼遠端連線從sqlyog連線套教程自己整理筆記

2.開啟MySQL遠端訪問許可權 允許遠端連線 改表法: use mysql; update user set host = '%' where user = 'root'; FLUSH PRIVILEGES; ps:網上還要修改防火牆的方法,我沒成功,

京東豬臉識別比賽資料預處理:用Python將視訊提取儲存為圖片

最近參加京東的豬臉識別比賽,訓練集是30個視訊,需要將視訊的每一幀提取出來儲存為圖片,存入對應的資料夾(分類標籤)。 本例是直接呼叫了cv2 模組中的 VideoCapture。一次執行,大概10分鐘,就能得到預處理後的分類圖片了,具體程式碼如下。

OpenCV讀取視訊、OpenCV提取視訊圖片合成新的AVI視訊

CvCapture 是視訊獲取結構 被用來作為視訊獲取函式的一個引數 比如 CvCapture* cap; IplImage* cvQueryFrame( cap ); 從攝像頭或者檔案中抓取並返回一幀 #include "stdafx.h"  

libVLC 提取視訊

什麼是幀         DVD 電影中的場景、從 YouTube 下載的剪輯、通過網路攝像頭拍攝的內容。。。無論是視訊還是動畫,都是由一系列靜止的影象組成。然後,這些影象會一個接一個的播放,讓你的眼睛誤以為物體在移動。影象的播放速度越快,動作看起來越流暢,畫面也越逼真。

iOS開發之視頻根據url獲取第一圖片,獲取任一圖片

keyword rac onerror 根據 ati parameter all ger mage + (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time { AV

IOS用程式碼繪製圖片

/ 繪製一張圖片 UIImage *randomBlockImage(CGFloat sideLength, CGFloat inset) { UIGraphicsBeginImageConte

swiper裏面的tab切換不同的slide高度不一樣外層高度何如隨之改變如果裏面的每一屏的高度不一樣那麽就會一直以高度最大的一個座位最外層的高度總成了頁面內容少的那頁有很大空白改如何動態改變外層的高度呢

ide設置 就會 否則 location translate dir 最大的 ext 如果 解決方案:1.autoHeight: true;缺點:有明顯的跳動效果2.先給容器設固定高度,每次滑動多少時,改變當前tab頁的容器高度,我在實現是遇到一點小問題,代碼忘記保存了。

iOS UILable 文字添加圖片 文字前面中間後面添加圖

str nbsp tab 添加 tac nsa end agen mut 1,實例化一個UILable 2, // 創建一個富文本 NSMutableAttributedString *attri = [[NSMutableAttributedString

CNN輸出層的卷積核層的權重矩陣和偏移量矩陣

var 圖像 cas 值轉換 auth git dom 轉換 訓練 分別是16個5*5的一通道的卷積核,以及16個偏移量。A2是轉置一下,為了輸出每一個卷積核,TensorFlow保存張量方法和人的理解有很大區別,A21 A31 A41 A51都是卷積核的權重矩陣偏移量

阿里巴巴的員工分十個等級級別薪資都很高網友直呼真羨慕

阿里巴巴是我國一家很知名的企業,它裡邊有三萬多個員工,並且這些崗位分為十個級別。一到三分為低端崗位,四等級的為初級專員,五等級的是高階工程師,一年有15到25萬的工資。六等級的為資深工程師,一年有20到35萬工資。七等級的是技術專家,年薪在30到50萬之間。八等級為高階專家,年薪在45萬到80萬之間

拼接多幅圖片成為圖片微信底部微信和指紋合二為一

/** * 拼接多幅圖片成為一張圖片 * * 引數說明:原圖片為檔案路徑陣列,目的圖片如果留空,則不儲存結果 * * 例子: * <code> * $ci = new CombineImage(array("D:/Downloads/1.jpg", "D:/Down

Linux:寫一個指令碼臺主機裝上JDK並配好環境變數

 當我們有很多臺主機,想在每臺機器上都安裝一樣的某些軟體時,可以通過指令碼去實現。 首先建立一個資料夾noarch(這裡是因為我之前配置的目錄就在這,所以就寫這個了,你可以隨便寫個名字) mkdir noarch 把事先下載好的軟體包放在這個目錄下(這個過程所有機器

用遞迴的方法把一個無符號整數的位數字單獨寫出來並且計算出位加起來的和。

這個題的具體含義是什麼呢? 例如: 給出一個無符號整數:1234     一千兩百三十四; 然後變成:1   2   3   4; 再把它們加起來:10; 所以很簡單的一道題,但是我們要用遞迴的思想寫

給出一個不多於5位的正整數1 求出它是幾位數2 分別打印出位數字3 按逆序打印出各位數字例如原數為321應輸出123

1、         給出一個不多於5位的正整數,要求: (1)    求出它是幾位數; (2)    分別打印出每一位數字; (3)    按逆序打印出各位數字,例如原數為321,應輸出123.  #include <stdio.h> int main()

給一個不多於5位的正整數要求: 1求出它是幾位數 2分別輸出位數字 3按逆序輸出各位數字例如原數為321應輸出123

4.9給一個不多於5位的正整數,要求: (1)求出它是幾位數 (2)分別輸出每一位數字 (3)按逆序輸出各位數字,例如原數為321,應輸出123 程式碼: #include “stdio.h” #include “math.h” int count(int n)

老紫竹的專欄享受Java的快樂天之我的大資料生活

跟老紫竹學Java 考慮再三,自己最熟悉的還是這麼多年使用Java在伺服器端和Web方面的程式設計經驗了。決定重新整理自己這麼多年的經驗,看看到底自己都會啥?考慮到實際情況,將採用虛擬專案的形式,根據專案的大小,從專案的分析設計到

段文字中插入圖片labletextview為例

 NSMutableAttributedString *str=[[NSMutableAttributedString alloc] initWithString:@"fdsahfjdsafkdhaf

android 開發 View _12_ 用Canvas 繪製圖片部落格中演示用Canvas畫驗證碼圖片

package net.yt.yuncare.widgets; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import and

本沒有讀完的好書都要把它讀完

輸入一個字串,刪除其中所有的數字,所有大寫字母改成小寫,其他不變,並輸出。 break是直接跳出迴圈,continue意思是遇到數字就跳過,後面的語句不執行; 大小寫字母轉換 -‘A’+’a’ 或者 -‘a’+’A’; 輸入一個字串,輸出其出現次數最多的數字,如果有兩個數