Submit Search
Upload
6秒動画アプリ Vineの作り方
•
25 likes
•
24,563 views
Hiramatsu Ryosuke
Follow
iOS_LT #13で発表した資料です。 AVFoundationを使ってVineのようなアプリを作ってみました。
Read less
Read more
Technology
Business
Report
Share
Report
Share
1 of 26
Download now
Download to read offline
Recommended
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
スマートスピーカーのバックエンドでAzure を使う方法
スマートスピーカーのバックエンドでAzure を使う方法
一希 大田
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
App extension for iOS
App extension for iOS
toyship
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
Masanori Fujisaki
WordCafe Fuji vol.1
WordCafe Fuji vol.1
Endoh Shingo
Dev opschef
Dev opschef
Yusuke Ando
Webサイト向けAPI #twtr_hack
Webサイト向けAPI #twtr_hack
Yusuke Yamamoto
Recommended
Swiftではじめる動画再生
Swiftではじめる動画再生
Yusuke Ariyoshi
スマートスピーカーのバックエンドでAzure を使う方法
スマートスピーカーのバックエンドでAzure を使う方法
一希 大田
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
App extension for iOS
App extension for iOS
toyship
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
WordCamp2015 LT WordPress+VPSでつくられたWebサイトのセキュリティチェックポイントとWordPressの「Waltiプラグイ...
Masanori Fujisaki
WordCafe Fuji vol.1
WordCafe Fuji vol.1
Endoh Shingo
Dev opschef
Dev opschef
Yusuke Ando
Webサイト向けAPI #twtr_hack
Webサイト向けAPI #twtr_hack
Yusuke Yamamoto
Master-Detail App を実装する
Master-Detail App を実装する
幸雄 村上
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!
一希 大田
mBaaS/C4SA howto
mBaaS/C4SA howto
史識 川原
iOS 8 App Extension
iOS 8 App Extension
Takeo Nanba
Redmine4時代のプラグイン開発 redmine.tokyo #13
Redmine4時代のプラグイン開発 redmine.tokyo #13
Sho Douhashi
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
200813 fgdc mandai
200813 fgdc mandai
beyond Co., Ltd.
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
アシアル株式会社
App Extensions in iOS ver JP
App Extensions in iOS ver JP
qohj
モバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャ
Rikitake Oohashi
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
shinya sakemoto
salesforceとiOSでやってみた
salesforceとiOSでやってみた
Junko Nakayama
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
React Nativeの話のその前に… サービスの作り方の話
React Nativeの話のその前に… サービスの作り方の話
Kanako Kobayashi
Flash Professional CS6 の新機能のご紹介 AIR編
Flash Professional CS6 の新機能のご紹介 AIR編
KinkumaDesign
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
NTT Resonant Technology Inc.
React + Amplifyで アプリ開発
React + Amplifyで アプリ開発
虎の穴 開発室
AWS amplify studioが変えるフロントエンド開発の未来とは
AWS amplify studioが変えるフロントエンド開発の未来とは
Koitabashi Yoshitaka
20170715 高知lt kintoneカスタマイズ
20170715 高知lt kintoneカスタマイズ
安隆 沖
titanium_outline20111227
titanium_outline20111227
Masashi Hitotsuyanagi
Stupid Video Tricks
Stupid Video Tricks
Chris Adamson
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
Yusuke Murata
More Related Content
What's hot
Master-Detail App を実装する
Master-Detail App を実装する
幸雄 村上
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!
一希 大田
mBaaS/C4SA howto
mBaaS/C4SA howto
史識 川原
iOS 8 App Extension
iOS 8 App Extension
Takeo Nanba
Redmine4時代のプラグイン開発 redmine.tokyo #13
Redmine4時代のプラグイン開発 redmine.tokyo #13
Sho Douhashi
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
200813 fgdc mandai
200813 fgdc mandai
beyond Co., Ltd.
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
アシアル株式会社
App Extensions in iOS ver JP
App Extensions in iOS ver JP
qohj
モバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャ
Rikitake Oohashi
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
shinya sakemoto
salesforceとiOSでやってみた
salesforceとiOSでやってみた
Junko Nakayama
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
React Nativeの話のその前に… サービスの作り方の話
React Nativeの話のその前に… サービスの作り方の話
Kanako Kobayashi
Flash Professional CS6 の新機能のご紹介 AIR編
Flash Professional CS6 の新機能のご紹介 AIR編
KinkumaDesign
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
NTT Resonant Technology Inc.
React + Amplifyで アプリ開発
React + Amplifyで アプリ開発
虎の穴 開発室
AWS amplify studioが変えるフロントエンド開発の未来とは
AWS amplify studioが変えるフロントエンド開発の未来とは
Koitabashi Yoshitaka
20170715 高知lt kintoneカスタマイズ
20170715 高知lt kintoneカスタマイズ
安隆 沖
titanium_outline20111227
titanium_outline20111227
Masashi Hitotsuyanagi
What's hot
(20)
Master-Detail App を実装する
Master-Detail App を実装する
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!
mBaaS/C4SA howto
mBaaS/C4SA howto
iOS 8 App Extension
iOS 8 App Extension
Redmine4時代のプラグイン開発 redmine.tokyo #13
Redmine4時代のプラグイン開発 redmine.tokyo #13
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
200813 fgdc mandai
200813 fgdc mandai
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
App Extensions in iOS ver JP
App Extensions in iOS ver JP
モバイルアプリ向けAWSネイティブアーキテクチャ
モバイルアプリ向けAWSネイティブアーキテクチャ
Google Play Developer APIを使ってみた
Google Play Developer APIを使ってみた
salesforceとiOSでやってみた
salesforceとiOSでやってみた
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
React Nativeの話のその前に… サービスの作り方の話
React Nativeの話のその前に… サービスの作り方の話
Flash Professional CS6 の新機能のご紹介 AIR編
Flash Professional CS6 の新機能のご紹介 AIR編
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
React + Amplifyで アプリ開発
React + Amplifyで アプリ開発
AWS amplify studioが変えるフロントエンド開発の未来とは
AWS amplify studioが変えるフロントエンド開発の未来とは
20170715 高知lt kintoneカスタマイズ
20170715 高知lt kintoneカスタマイズ
titanium_outline20111227
titanium_outline20111227
Viewers also liked
Stupid Video Tricks
Stupid Video Tricks
Chris Adamson
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
Yusuke Murata
最近遊んだ Wii Uの 3つのソフトの感想
最近遊んだ Wii Uの 3つのソフトの感想
teapipin
これからの時代に! パソコン離れの中のパソコン選び
これからの時代に! パソコン離れの中のパソコン選び
teapipin
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
teapipin
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Shuichi Tsutsumi
Viewers also liked
(6)
Stupid Video Tricks
Stupid Video Tricks
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
ReactをRailsとどっぷり使ってみた話と、フロントエンド×AWSのこれから
最近遊んだ Wii Uの 3つのソフトの感想
最近遊んだ Wii Uの 3つのソフトの感想
これからの時代に! パソコン離れの中のパソコン選び
これからの時代に! パソコン離れの中のパソコン選び
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Similar to 6秒動画アプリ Vineの作り方
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
Kazuhito Miura
iOS 10 new Camera
iOS 10 new Camera
Gaprot
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
Kentaro Matsumae
第3回 Web 動画 編集講座 〜 Webサイトに動画を掲載してみよう - NAMO (NAgoya Movie Obenkyokai)
第3回 Web 動画 編集講座 〜 Webサイトに動画を掲載してみよう - NAMO (NAgoya Movie Obenkyokai)
Katz Ueno
第7回 Web 動画 編集講座 〜編集して Web にアップしてみよう - NAMO (NAgoya Movie Obenkyokai)
第7回 Web 動画 編集講座 〜編集して Web にアップしてみよう - NAMO (NAgoya Movie Obenkyokai)
Katz Ueno
情報リテラシー論09様々な動画とネット生配信2017長岡造形大学
情報リテラシー論09様々な動画とネット生配信2017長岡造形大学
新潟コンサルタント横田秀珠
とにかくアプリ内の文言が決まらない話 AbemaTV
とにかくアプリ内の文言が決まらない話 AbemaTV
Shunsuke Matsumoto
Mashup Caravan in FUKUOKA (Cyberagent)
Mashup Caravan in FUKUOKA (Cyberagent)
moai kids
SI-Toolkit for Web Testing ハンズオン勉強会
SI-Toolkit for Web Testing ハンズオン勉強会
yuichi_kuwahara
Similar to 6秒動画アプリ Vineの作り方
(9)
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
2015年に「画面テストの動画録画」を作って「流行れ!」 と願ったが、流行らんかった上ロストした話 #seleniumjp
iOS 10 new Camera
iOS 10 new Camera
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
第3回 Web 動画 編集講座 〜 Webサイトに動画を掲載してみよう - NAMO (NAgoya Movie Obenkyokai)
第3回 Web 動画 編集講座 〜 Webサイトに動画を掲載してみよう - NAMO (NAgoya Movie Obenkyokai)
第7回 Web 動画 編集講座 〜編集して Web にアップしてみよう - NAMO (NAgoya Movie Obenkyokai)
第7回 Web 動画 編集講座 〜編集して Web にアップしてみよう - NAMO (NAgoya Movie Obenkyokai)
情報リテラシー論09様々な動画とネット生配信2017長岡造形大学
情報リテラシー論09様々な動画とネット生配信2017長岡造形大学
とにかくアプリ内の文言が決まらない話 AbemaTV
とにかくアプリ内の文言が決まらない話 AbemaTV
Mashup Caravan in FUKUOKA (Cyberagent)
Mashup Caravan in FUKUOKA (Cyberagent)
SI-Toolkit for Web Testing ハンズオン勉強会
SI-Toolkit for Web Testing ハンズオン勉強会
More from Hiramatsu Ryosuke
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
Hiramatsu Ryosuke
iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集
Hiramatsu Ryosuke
5分でつまむEffective Objective-C
5分でつまむEffective Objective-C
Hiramatsu Ryosuke
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
Hiramatsu Ryosuke
iOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review Request
Hiramatsu Ryosuke
emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2
Hiramatsu Ryosuke
AppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストに
Hiramatsu Ryosuke
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
Hiramatsu Ryosuke
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
Hiramatsu Ryosuke
Unix
Unix
Hiramatsu Ryosuke
C-langage
C-langage
Hiramatsu Ryosuke
More from Hiramatsu Ryosuke
(12)
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集
5分でつまむEffective Objective-C
5分でつまむEffective Objective-C
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
iOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review Request
emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2
AppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストに
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
Unix
Unix
C-langage
C-langage
Recently uploaded
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Recently uploaded
(7)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
6秒動画アプリ Vineの作り方
1.
How to make
Vine like app? 6秒動画アプリ Vineの作り方 iOS_LT #13 / @himara2 2014/05/28(Wed.)
2.
Vine ・Twitter社の動画アプリ ・6秒動画アプリ ・画面を押してる間だけ撮影 ・短い動画が連結される 特徴 ・ループ再生される
3.
Vineっぽい機能を実装してみよう。
4.
Vineっぽい機能 ・6秒動画アプリ ・画面を押してる間だけ撮影 ・撮影した短い動画が連結される ・ループ再生される
5.
Vineっぽい機能 ・6秒動画アプリ ・画面を押してる間だけ撮影 ・撮影した短い動画が連結される ・ループ再生される
6.
AVFoundation framework をつかう。
7.
撮影編
8.
@tomonish くんが発表してたやつ http://www.slidesharenet.org/ssuser9c7e21/avfoundation
9.
10.
① ② ③
11.
①AVCaptureSesison の準備 // セッションの作成 self.session
= [[AVCaptureSession alloc] init]; _session.sessionPreset = AVCaptureSessionPresetHigh; @property (nonatomic) AVCaptureSession *session;
12.
②入力デバイス(カメラ)の準備 // 入力デバイスの設定 AVCaptureDevice *device
= [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; ! AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:nil]; ! [_session addInput:input];
13.
③出力デバイス(ファイル)の準備 // 出力デバイスの作成 self.output =
[[AVCaptureMovieFileOutput alloc] init]; CMTime maxDuration = CMTimeMakeWithSeconds(60, 30); _output.maxRecordedDuration = maxDuration; _output.minFreeDiskSpaceLimit = 1024 * 1024; ! [_session addOutput:_output];
14.
これで準備はOK! // セッションを開始 [_session startRunning]; セッションの開始
15.
NSString *outputPath =
[[NSString alloc] initWithFormat:@“%@%@%d.mp4”, NSTemporaryDirectory(), @“output", outputIndex]; NSURL *fileURL = [NSURL fileURLWithPath:outputPath]; ! [_output startRecordingToOutputFileURL:fileURL recordingDelegate:self]; 録画開始のタイミングで… 録画停止のタイミングで… [_output stopRecording];
16.
#pragma mark -
AVCaptureFileOutputRecordingDelegate ! // 録画開始 - (void)captureOutput:(AVCaptureFileOutput *)captureOutput didStartRecordingToOutputFileAtURL:(NSURL *)fileURL fromConnections:(NSArray *)connections { NSLog(@"rec start."); } ! ! // 録画停止 - (void)captureOutput:(AVCaptureFileOutput *)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL *)outputFileURL fromConnections:(NSArray *)connections error:(NSError *)error { NSLog(@"rec end."); // 出力ファイルを指定しておく [_outputPathes addObject:outputFileURL]; } Delegate method 保存したファイルパスをArrayで保持しておく
17.
撮影開始 → 撮影終了
で .mp4 outputPathes (NSArray)
18.
合成編
19.
①コンポジションの準備 // コンポジション生成 self.composition =
[AVMutableComposition composition]; AVMutableCompositionTrack *compositionVideoTrack = [_composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
20.
②動画の合成 CMTime startTime =
kCMTimeZero; for (NSURL *url in _outputPathes) { // 動画アセットの取得 AVAsset *asset = [AVAsset assetWithURL:url]; AVAssetTrack *videoTrack = [[asset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]; [compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:videoTrack atTime:startTime error:nil]; startTime = CMTimeAdd(startTime, asset.duration); }
21.
②動画の合成 CMTime startTime =
kCMTimeZero; for (NSURL *url in _outputPathes) { // 動画アセットの取得 AVAsset *asset = [AVAsset assetWithURL:url]; AVAssetTrack *videoTrack = [[asset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]; [compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:videoTrack atTime:startTime error:nil]; startTime = CMTimeAdd(startTime, asset.duration); }
22.
CMTime startTime =
kCMTimeZero; for (NSURL *url in _outputPathes) { // 動画アセットの取得 AVAsset *asset = [AVAsset assetWithURL:url]; AVAssetTrack *videoTrack = [[asset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0]; [compositionVideoTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:videoTrack atTime:startTime error:nil]; startTime = CMTimeAdd(startTime, asset.duration); } kCMTimeZero asset.duration asset1 asset2 asset3 assetの終端に 次のassetをinsertしていく
23.
③合成した動画の出力 // 出力する self.exporter =
[[AVAssetExportSession alloc] initWithAsset:_composition presetName:AVAssetExportPresetHighestQuality]; _exporter.videoComposition = videoComposition; _exporter.outputURL=[NSURL fileURLWithPath:outputPath]; _exporter.outputFileType = AVFileTypeQuickTimeMovie; [_exporter exportAsynchronouslyWithCompletionHandler:^(void){ // export成功時の処理(カメラロールへの保存など) }];
24.
「撮影した短い動画の連結」完成! ※音声込みの動画にしたい場合は Audioも録音・合成する必要があります
25.
参考資料 AVFoundationを使ったキャプチャ機能 - SlideShare AVFoundationで動画の加工合成処理
- qiita iOS4プログラミングブック - Amazon ・撮影に関するクラスの俯瞰に ・合成や編集に関するクラスの俯瞰に ・体系的におさえるならコレ
26.
おわり
Download now