Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
動画を簡単に編集する方法
Search
nakajijapan
March 12, 2014
Technology
2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
動画を簡単に編集する方法
About NJKMovieComposer
nakajijapan
March 12, 2014
More Decks by nakajijapan
See All by nakajijapan
サービスにおけるDesign Systemの構築
nakajijapan
11
4.2k
Markdownをリアルタイムに解析する
nakajijapan
5
4.7k
Firebase Authorization
nakajijapan
0
340
Intoducing Izumo
nakajijapan
1
2k
Practical CloudKit
nakajijapan
1
1.9k
Introducing to Ajimi - プロダクトを味見していこう
nakajijapan
0
2.4k
Shari
nakajijapan
1
3k
Japan Apple Pay Development
nakajijapan
0
340
業務で絶対必要にならない技術
nakajijapan
0
900
Other Decks in Technology
See All in Technology
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
550
データエンジニアこそ組織のオントロジーに向き合うべき — 問いに答えるAIから、事業を動かすAIへ
gappy50
4
1k
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
400
キャリアLT会#3
beli68
2
280
データエンジニアリングとドメイン駆動設計
masuda220
PRO
15
2.7k
現場をAIで動かす「フィジカル AI」の組み込み設計の考え方【SORACOM Discovery 2026】
soracom
PRO
0
120
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
210
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
230
DevOps Agentで運用判断をチーム資産にする~Agent InstructionsとAgent Skillを継続的に育てる~
fujioka6789
0
140
Git 研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
2
710
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
200
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
470
Featured
See All Featured
The Invisible Side of Design
smashingmag
301
52k
Facilitating Awesome Meetings
lara
57
7k
Docker and Python
trallard
47
4k
First, design no harm
axbom
PRO
2
1.2k
Music & Morning Musume
bryan
47
7.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
4 Signs Your Business is Dying
shpigford
187
22k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
420
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Navigating Weather and Climate Data
rabernat
0
410
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Transcript
ಈըΛ؆୯ʹ ฤू͢Δํ๏ QPUBUPUJQT !OBLBKJKBQBO
!OBLBKJKBQBO 4PGUXBSF&OHJOFFS QBQFSCPZDP
৺ྶࣸਅΞϓϦ͓Θ͔Γ͍͚ͨͩͨͩΖ͏͔
৺ྶಈըΞϓϦ͏Ұ͝ཡ͍ͨͩ͜͏
8IZ
ɾΫϥε໊ ɾಈըՃ ฤूʹඞཁΫϥεଟ͍ ɾ࣮ ɾϋϚΔͱ໎ঢ়ଶ
"7'PVOEBUJPO
.FEJB1MBZFS 6*,JU "7'PVOEBUJPO $PSF"VEJP $PSF.FEJB $PSF"OJNBUJPO
&EJUJOH
"7"TTFU "7"TTFU5SBDL WJEFP "7"TTFU5SBDL BVEJP "7.VUBCMF$PNQPTJUJPO "7.VUBCMF$PNQPTJUJPO5SBDL WJEFP "7.VUBCMF$PNQPTJUJPO5SBDL WJEFP
"7"TTFU "7"TTFU5SBDL WJEFP "7"TTFU5SBDL BVEJP "7.VUBCMF7JEFP$PNQPTJUJPO*OTUSVDUJPO "7.VUBCMF7JEFP$PNQPTJUJPO-BZFS*OTUSVDUJPO "7.VUBCMF7JEFP$PNQPTJUJPO*OTUSVDUJPO "7.VUBCMF7JEFP$PNQPTJUJPO-BZFS*OTUSVDUJPO "7.VUBCMF7JEFP$PNQPTJUJPO
ɾΫϥε໊ ɾಈըՃ ฤूʹඞཁΫϥεଟ͍ ɾ࣮ ɾϋϚΔͱ໎ঢ়ଶ ͭΒΆΑ
͜ͷࡍ͔ͩΒ ϥΠϒϥϦԽ ͯ͠͠·͓͏
/,+.PWJF$PNQPTFS IUUQTHJUIVCDPNOBLBKJKBQBO/,+.PWJF$PNQPTFS
6TBHF
*OJUJBMJ[F
NKJMovieComposer* movieComposition = [[NKJMovieComposer alloc] init];
"EE.PWJF
// movie NSURL* movieURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"movie001" ofType:@"mov"]];
[movieComposition addVideoWithURL:movieURL];
4BWF'JMF
// AVAssetExportSession assetExportSession = [movieComposition readyToComposeVideoWithFilePath:composedMoviePath]; NSURL *composedMovieUrl = [NSURL
fileURLWithPath:composedMoviePath]; // export [assetExportSession exportAsynchronouslyWithCompletionHandler: ^(void ) { // save to device ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init]; if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:composedMovieUrl]) { [library writeVideoAtPathToSavedPhotosAlbum:composedMovieUrl completionBlock:^(NSURL *assetURL, NSError *assetError) { ! // it does not stop the main thread dispatch_async(dispatch_get_main_queue(), ^{ ! NSLog(@"saved"); }); }]; } }];
%POF
FUD
8JQF.PWJF
NSURL* movieURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"movie_wipe001" ofType:@"mov"]]; [movieComposition coverVideoWithURL:movieURL
scale:CGAffineTransformMakeScale(0.30f, 0.30f) transform:CGAffineTransformMakeTranslation(426, 30)];
%FNP
ɾಈը݁߹ ɾϫΠϓ ɾϑΣʔυΠϯɾΞτ ػೳ
-FU`T53: IUUQTHJUIVCDPNOBLBKJKBQBO/,+.PWJF$PNQPTFS
UIBOLT