Theora(セオラ)とは
オープンな非可逆の動画圧縮ファイルフォーマット、または、そのコーデックである。
- Oggコンテナフォーマットの標準ビデオコーデックとして利用
- 音声ファイルフォーマットには、Vorbisが使われるのが一般的
特徴
- ブロック単位の動き補償
- 8x8 Type-II 離散コサイン変換
- 品質ベースエンコード (VBR)
- 適応インループフィルター (deblocking)
- 最小8x8のマクロブロック
- 量子化行列のカスタマイズ (intra/inter, luma/chroma)
- フレキシブルなエントロピー符号 (1フレームあたり80個のVLC tables)
- YUV4:2:0に加えYUV4:2:2、YUV4:4:4のピクセルフォーマット
- 8bitのカラーチャンネル
- 複数のreference frames
- 非正方ピクセル (ピクセルアスペクト比) のサポート
- 16の倍数ではない解像度 (現在は8x8以上のフレーム) をサポート
- 量子化値の非線形スケーリング
- ブロック単位までの適応量子化
- ストリームはIフレームとPフレームによって構成されBフレームはサポートし* ない
- 1/2画素精度の動き補償
- Oggのほか、AVI、Matroska、Ogg Media等のコンテナ形式に対応
※VBR 可変ビットレート、毎秒のビットレートが変化する。 固定ビットレートよりも高音質
拡張子
通常はOggコンテナに格納。 音声コーデックがVorbisの場合、ファイルの拡張子は.ogvとなる。
ビルド方法
Theoraをビルドする為には、Vorbisとoggが必要なため、この2つをビルドする必要がある。(Vorbisをビルドするにはoggが必要)
1.ダウンロード
http://www.theora.org/downloads/
2.ビルド
[iOSのクロスコンパイルについて調査中]
※わかり次第更新します。
homebrewを使ってインストール
※ homebrewのインストール方法については割愛。
1.ライブラリを検索
$ brew search theora
ffmpeg2theora theora
2.インストール
brew install theora
ハマった点
私の環境では、インストールするときに下記のようなエラーが発生した。
Error: You must ``brew link libvorbis' before theora can be installed
先にlibvorbisをインストールする必要があるという内容だが、
既にlibvorbisがインストール済みのため発生していた。
theoraのビルドには、liboggとlibvorbisが必要なのだが、
brew install
を行う際は、すべてのライブラリをビルドしに行くため怒られるらしい。
(brewのオプションに回避策があるかもしれませんが)
解決方法
brew remove libvorbis
で一旦libvorbisを削除し、再度theoraをインストール。
brew install theora
liboggやlibvorbisをhomebrew経由でインストールしていない場合、 それらの関連でエラーが出てしまったら関連ファイルを削除する必要があるため注意。 (make uninstallでできればいいですが)
※キーフレーム キーフレームとは、CGのアニメーションの中で主となる変化が定義されているフレームのことである。 物体の形や位置の変化ポイントが指定され、その間を補完することで滑らかな動画像が作成される。 動画の再生に何らかの変化を起こすフレームアクションは、キーフレームにしか設定することができない。