スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« Appleの発表も終わった | トップページ | いつも通りではあるものの »

AVFoundationを調査中

今はTiExtenderの開発フェーズなのだが、まだ、何をするかは決まらない。ただ、近い将来、AGMPlayerのネイティブ版を開発する必要もあり、それ自体は既に容易なのだが、Windows版のサブセット扱いから脱皮させるためには、mp4形式を扱える様にする必要がある。

現行のOS X用AGMPlayerはApple製Java6を使って開発してあるのだが、次のOS X、改め、macOSでは、このApple製Java6は使えなくなる予定になっている。

なので、macOS環境でAGMPlayerを使える様にする為には、ネイティブ版を開発する必要があるのだが、OS X環境用には、既に、Mirror-DTCのネイティブ版をリリースしていて、Windows環境では、ネイティブ版AGMPlayerも、リリース済みだ。

と、いう事で、Mac環境用にAGMPlayerのネイティブ版を開発したければ、UIに関しては、Mirror-DTCクライアントを参考にし、コアルーチンについては、Windows用のネイティブ版から持ってくれば良い。

このため、Mac用に現行のJava版AGMPlayerからネイティブ版へ切り替える開発は、大して難しくは無いのだが、Windows版のAGMPlayerでは、AGMPlayerのネイティブ形式である所のAGM形式以外にも、Windowsがサポートしている各種動画形式をサポートしている。

具体的には、H.264/AAC形式の動画を再生したり、AGM形式に再エンコードしたり、逆に、AGM形式動画をH.264/AAC形式の動画ファイルに再エンコードしたりする事もできる。

これに対して、現行のOS X用AGMPlayerでは、AGM形式以外の動画形式をサポートしていないので、感覚的には、Windows版が親機で、OS X版は子機みたいな感じになっている。

つまり、各種形式からのエンコードはWindowsマシン上で行い、OS X環境では、AGM形式に再エンコードされた動画の再生のみ可能、という感じになっているのだが、これでは、何時までたっても、AGM形式動画を真面目に使いたければ、Windows環境は必須、みたいになってしまう訳だ。

まあ、他人とデータのやり取りをしないのであれば、AGM形式だけでも、無劣化のRGB形式と、動画用としてはほぼ無劣化扱いで圧縮率が少し高いYV12形式と、動画編集用のDCT形式と、視聴用のDCT+形式が揃っているので、色々な場面で便利に使える訳なのだが、AmuseGraphicsファミリーソフトを使っていない第三者とデータのやり取りをしようとすると、メジャーな動画形式との変換機能が必要になる訳だ。

この問題については、Windows版のVer1.3.0でH.264/AACへのエンコードをサポートした事で、動画作成者がWindowsを使っている場合には、最終的にAGM形式動画をH.264/AACに再エンコードしてしまえば、この形式はMacの標準動画形式でもある訳なので、Macユーザーにもデータを渡せる様にはなった。

なので、前バージョンまでに比べれば、問題は緩和されているのだが、前述の様に、この様な利用形態を採る場合には、Windowsマシンは必須になる。

と、いう事で、Mac単体でも、AGM形式動画を便利に使える様にする為には、AGM形式動画からメジャー所の動画形式に変換する機能をMac用ソフトとして提供する必要がある訳なのだが、今時のメジャー所の動画形式というのは、Macの標準動画形式にもなった感がある、H.264/AAC、つまり、m4v形式になる訳だ。

で、m4v形式へのエンコードは、ffmpegなんかのオープンソースプログラムを改変して、AGM形式をサポートさせれば、行える訳なのだが、H.264というのは特許問題を抱えていて、ffmpeg等のオープンソースプログラムは、この特許問題をクリアしていない訳だ。

なので、作者的には、長らく、H.264形式はサポートして来なかったのだが、Windowsでは、Windows7の頃から、OS Xについても、OS X 10.9の頃から、H.264エンコーダーはOS 機能として内蔵してきていて、それらを使えば、特許問題は、少なくとも個人利用の範囲では、クリアされる。

このため、Windows版については、既に、Windows内蔵のエンコーダーを使ってH.264/AAC形式への変換機能をサポートしている訳なのだが、近い将来、OS X版についても、OS内蔵のAPIを使って、同様の機能を追加しようとしていた訳だ。

と、いう事で、今回のTiExtenderのバージョンアップ開発では、どの道、近い将来、AGMPlayer等で、H.264へのエンコード機能をサポートする必要があるので、前倒しで、関連機能を実装する事にした訳だ。

で、表題にしたAVFoundationというフレームワークを使うと、それっぽい事が出来る筈なのだが、まだ良く判らないので、ひょっとすると、それよりも下層のVideoToolboxを使う必要もあるのかもしれない。

ちなみに、OS Xでは、標準搭載のQuicktimePlayerを使うと、デスクトップとWebカメラのキャプチャーを行い、それを動画化する事が出来る。

つまり、Windows環境用のAG-デスクトップレコーダーとAG-Webカメラレコーダー相当の機能はMac環境では標準搭載されている訳なのだが、出力される動画形式はm4v相当なので、編集作業には向かない。

OS X環境用には、既にネイティブ版Mirror-DTC サーバーを開発済みで、TiExtenderではエフェクト機能なんかも実装してある訳なので、AG-デスクトップレコーダー相当のソフトをMac用に開発するのは簡単なのだが、この場合にも、今の所、出力形式はAGM形式しか選択肢がないので、開発していない訳だ。

と、いう事なので、AmuseGraphics系ソフトを真面目にMacに移植できるか否かはAGM形式とH.264/AAC形式の相互変換がMac上で行えるか否かにかかっている訳なので、今回のTiExtender開発は、その前段階としても、重要になってきているかもしれない。

= この記事に関連する公開中ソフト =

TiExtender

TiExtender

(2016/10/25追加)

« Appleの発表も終わった | トップページ | いつも通りではあるものの »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/63779059

この記事へのトラックバック一覧です: AVFoundationを調査中:

« Appleの発表も終わった | トップページ | いつも通りではあるものの »

2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google