Skip to content

Commit

Permalink
updated package
Browse files Browse the repository at this point in the history
  • Loading branch information
i-saint committed Mar 13, 2016
1 parent e671b1d commit 4a86b2f
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 deletions.
Binary file added Packages/FAACSelfBuild.unitypackage
Binary file not shown.
Binary file modified Packages/FrameCapturer.unitypackage
Binary file not shown.
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,26 +110,27 @@ Twitter 投稿は GifRecorder と全く同じ手順で機能します。
##### ライセンス料対策について

MP4 の使用には通常ライセンス料が科せられますが、本プラグインはそれを回避するための対策が施してあります。
その引き換えに、利用には若干の不便を伴うようになっています。以下はその詳細になります。
その引き換えに、使用には若干の不便を伴うようになっています。以下はその詳細になります。

動画エンコーダには OpenH264 というソフトウェアを利用しています。ありがたいことに、これは一定の条件を満たせばライセンス料を免除できるようになっています。

動画エンコーダには OpenH264 というソフトウェアを利用しています。ありがたいことに、これは一定の条件を満たせばライセンス料を免除できるようになっています。
1. OpenH264 のバイナリはソフトウェア本体とは別にダウンロードするようになっている
2. ユーザーは OpenH264 を使用するか否かをコントロールできるようになっている
3. OpenH264 の使用をコントロールする場所に次の一文を明記してある: "OpenH264 Video Codec provided by Cisco Systems, Inc."
4. これらの条件のライセンスの条文 ( http://www.openh264.org/BINARY_LICENSE.txt 下部) が参照可能になっている

1 の条件を満たすため、OpenH264 の dll 、実行時にダウンロードしてくるようになっています。
1 の条件を満たすため、OpenH264 の dll はパッケージには含んでおらず、実行時にダウンロードしてくるようになっています。
ダウンロード&展開は Output Dir に自動的に行われ、大抵は数秒で終わり、一度行えば以後不要です。しかし、ダウンロードが終わっていない時や何らかの事情で失敗した場合など、
録画できないケースがありうるということは気に留めておいた方がいいでしょう。
また、バイナリライセンスの条文は StreamingAssets/UTJ/FrameCapturer の中にファイルがあります。

音声エンコーダにもライセンス料の問題があります。
音声エンコーダはバイナリを配布するとライセンス料を科せられるようになっており、こちらは OpenH264 のような親切なエンコーダがおそらく存在しないため、別の方法で対策しています。
ライセンス料が科せられるのはバイナリを配布する場合のみであり、ソースコードの配布にはライセンス料は科せられません。つまり、ソースコードで配布してユーザーの手元でビルドすれば条件には引っかかりません。このため、FAACSelfBuild.unitypackage には音声エンコーダ (FAAC) のソースとコンパイラ (clang) をパッケージングしてあり、実行時にビルドするようになっています。
ビルドが必要なのは最初の一回だけですが、ビルドには数秒の時間がかかり、その間合計 100MB ほどのファイル郡が生成されることは気に留めておいた方がいいかもしれません。
ビルドは Output Dir 内で自動的に行われ、一度行えば以後不要です。しかし、ビルドには数秒の時間がかかり、その間合計 80MB ほどのファイル郡が生成されることは気に留めておいた方がいいかもしれません。

OpenH264 のダウンロード、および FAAC のビルドは MP4Recorder や MP4OffscreenRecorder の Start() の中で開始され、別スレッドで行われます (=メインスレッドをブロックしない)。録画や録音ができるようになるのに数秒ラグがあることと失敗するケースがありうることを除けば使用者が気にすることは特にないはずです
しかしながら、どちらも不格好な回避策であり、ある程度の規模のソフトウェアになるときちんとライセンス料を支払ってパッケージに含めることも一考すべきかもしれません
OpenH264 のダウンロード、および FAAC のビルドは MP4Recorder や MP4OffscreenRecorder の Start() の中で開始され、別スレッドで行われます (=メインスレッドをブロックしない)。録画 / 録音ができるようになるまでに数秒ラグがあること、失敗するケースがありうることを除けば使用者が気にすることは特にないはずです
しかしながら、どちらも不格好な回避策であり、ある程度の規模のソフトウェアになるとライセンス料を支払ってパッケージに含めることも視野に入れるべきかもしれません


## Exr Recorder
Expand Down Expand Up @@ -179,12 +180,15 @@ png は 16 bit 整数カラーをサポートしており、half や float の R

![PngRecorder](Screenshots/PngRecorder.png) ![PngOffscreenRecorder](Screenshots/PngOffscreenRecorder.png)

---

## C++ Interface
本プラグインは、画面のキャプチャから各種ファイルへのエクスポートはネイティブコードの DLL として実装されています。この DLL は Unity への依存はなく、非 Unity のアプリケーションへも容易に組み込めるようになっています。使い方は [テストコード](Plugin/Tests)[FrameCapturer.h](Plugin/FrameCapturer.h) を読むと大体わかると思います。
ソースからビルドすればスタティックリンクライブラリを作ることもできます。ビルドの手順は、このリポジトリを pull して setup.bat を実行した後、Plugin/FrameCapturer.sln をビルドするだけです。MasterLib がスタティックリンクライブラリをビルドする設定になっています。

## History
- 2016/03/13
- FAAC セルフビルドパッケージを追加
- 2016/03/10
- MP4 Recorder
- PNG Recorder
Expand Down

0 comments on commit 4a86b2f

Please sign in to comment.