動画からLive Photoに変換するアプリを作った

Live Photoが登場した瞬間に、既存の動画とか変換してウハウハする人とか出てくると思っていたのですが、
出てこないなと思っているうちに、そもそもLive Photoという単語を聞かなくなってしまいました。
ならばと自分で作ってみたので、オープンソースとして動画からLive Photoに変換するアプリを公開することにします。

※先に言っておくと、このアプリを使用するにはXcodeでアプリをビルドできる能力が必要です。
最近では有料の開発者でなくても実機にアプリをインストールできるので、MacとXcode 7系があればOKです。

前置き

Live Photoを動画から起こすツールは前々から作りたいと思っていたのだけれど、良い感じのAPIがありませんでした。
既に誰かやっていないかと調べたところ、以下のようなWebサイトがヒットしました。

Live Photoの解説とともに、既にツールまで作成されていました。すごい。
ただし、OS X向けのツールだったので、私はこれをiOS向けに移植した次第であります。
mzp氏に圧倒的感謝です。

あと、この辺りも参考にしました。

ここでも、mzp氏の公開したコードが使用されています。

アプリの導入方法

前述のWebサイトを見ていただければ分かりますが、Live Photoを生成するために、画像と動画に対して
謎のパラメータを埋め込んでいます。
このパラメータはAppleの公式文章にあるわけでもなく、そもそも既存の素材からLive Photoを生成する方法が
公開されていません。
つまり、Live Photo生成アプリなんてものをApp Storeに公開しようすると、Appleに拒否される可能性があります。

それと、先人たちがオープンソースでコードを公開してくれていたおかげで
このアプリができたというのもあって、本アプリもオープンソースとして公開します。

ここから持っていって頂ければOK。
注意点として、LivePhotoMaker.xcodeprojではなく、LivePhotoMaker.xcworkspaceを開いてください。

使い方

まず、Live Photoに変換したい動画を用意します。カメラで撮った動画でも良いし、何でも良いです。

そうしたら、動画を3秒程度まで縮めます。
今のところ長いままでも変換できていますが、それだとLive Photoの意味が無いので…
動画のトリミングはiOS単体で可能です。以下のサイトを参考にしてください。

尚、一回のトリミングで短くすることが難しいようであれば、トリミングした動画を更にトリミングすると良いと思います。
また、Macから同期した動画などは編集できないようですが、メモなどに一旦貼り付け、そこから端末に保存しなおせば編集できます。

動画の用意ができたら、本アプリを起動します。
まず、右上の「+」マークを押して、用意した動画を選択しましょう。

動画を選択すると、シークバーが現れます。
このシークバーを操作して、Live Photoの最初に表示されている静止画にしたい部分を切り出します。

選択が終わったら、左上の「Make」ボタンを押すとLive Photoが生成されます。

生成が終わると、Live Photoのプレビュー画面に移ります。
この画面で、画面を押し込むとLive Photoに変換できていることが分かると思います。

右上の「Save」ボタンを押すと、カメラロールにLive Photoが保存されます。

とりあえず、Xcode 7.2 / 7.3 beta(1)とiPhone 6s / iPod touch (5gen)で動作確認しています。
(3D Touch非対応機でも動作しますが、iOS 9以降が必要。)

アプリをビルドしなければいけないという手間はありますが、興味のある人は使ってみてください。

[`evernote` not found]

  1. コメントはまだありません。

  1. トラックバックはまだありません。