« Android SDK Toolsを更新できない | トップページ | Androidでメールが受信できなくなったので初期化した »

2010/01/02

Androidでビデオへオーバレイできるか

以前のエントリ「【ダウンロード違法化直前】HT-03Aでニコニコ動画をストリーミングその2」から派生して。

上記リンク先では、ニコニコ動画をAndroidで視聴する方法のひとつを提示した。その方法とは、サーバ側でAndroidで再生可能なフォーマットに変換し、Androidはそのファイルをストリーム再生する、というものであった。コメントも動画に埋め込んでしまうことで、コメントも動画の一部として再生させた。

しかし、コメントも動画の一部としてしまった場合、コメントだけの更新が不可能になり利便性が低いのではないかという意見が有った。

ここで、コメントを動画に埋め込む方式(エンベッド方式と呼称)と、クライアント側で動画の上にコメントを描画する方式(オーバレイ方式と呼称)の利点と欠点を挙げる。まず、エンベッド方式のメリットとして、以下の点が挙げられる。

  • 端末依存性を無くすことができる。
    • (前回の方式で例えると)mp4ストリーム再生可能な機種であれば再生ができる。AndroidもiPhoneも再生可能である。
    • オーバレイ方式では、専用のクライアントアプリが必要である。
  • 端末の処理負荷を低減できる。これは反応速度や電池の持ちに影響する。
    • エンベッド方式では、コメントを表示する場合に動画再生処理以外の処理が不要。
    • オーバレイ方式では、動画再生処理+コメント表示処理が必要。

一方、デメリットとしては以下の点が考えられる。

  • コメントを表示する/しないのリアルタイム変更が不能。
    • エンベッド方式では、変換要求時までに決定する必要があり、切り替える場合はそれぞれに対応する変換処理が必要になる。
    • オーバレイ方式では、再生時に合成するため、再生中に切り替えることが可能。
  • コメントを最新化する場合の処理負荷(ここでは、キャッシュ保存に関する法的な問題は考えない)
    • エンベッド方式では、画像変換処理をやり直す必要がある。
    • オーバレイ方式では、コメントデータのみを再取得すれば良い。

個人的には、携帯端末でPCほどの多機能性は不要であり、エンベッド方式で十分だと考えている。

 

ところで、Androidで動画にオーバレイすることは可能なのだろうか。

既存のアプリGoogle Goggles(日本語解説)やLayer(紹介動画)では、カメラから取り込んだ映像にウィジェットをオーバレイしているが、どうもビデオへのオーバレイはHT-03Aの現行OSであるバージョン1.6では不可能なようだ。

FrameLayoutを用いればウィジェットを重ねあわせることができる。また、SurfaceViewは背景を透明化することができる(参考)。不透明な動画再生Viewを下に、透明なコメント再生Viewを上にして重ねれば上手く行くかと考えたのだが、透明化すると下のViewが見えるようになるわけではなく、下のActivityが見えてしまった。つまり下のViewも透過してしまうようだ。

では、動画再生Activityとコメント再生Activity、というようにActivityを分けてしまえば良いのかというと、動画再生Activityがバックグランドに回った時点で動画再生は停止してしまい、こちらもうまくいかなかった。

さきゅばすが利用しているffmpegのavfilterや、以前JMFで試したようなeffect filterといった、動画像を画面描画前にフィルタ処理するようなAPIも、調べた限りではなさそうだ。

ただ、API Level 5、つまりAndroid2.0ではSurficeViewにsetZOrderMediaOverlayというメソッドが追加されており、これを利用すれば可能になるかもしれない。

しかし透過させるために前述の方法では特定のViewだけ透過させることは不可能であるしどうするのか、と思っていたのだが、Color.TRANSPARENTという色が定義されているようで、これを用いれば良いのかもしれない(ちなみにAndroidで使用するのはjava.awt.Colorではなくandroid.graphics.Colorだ)。

 

調査が中途半端になってしまったが、他に行わなければならないことが多くあるため、これよりいくらかの期間プログラミングを休むことにする。なお、書きかけのプログラミング関連エントリもいくつかあるのだが、これらについては簡単に終えられるようであれば完成させて投稿したい。

 

追記:

上で「どうもビデオへのオーバレイはHT-03Aの現行OSであるバージョン1.6では不可能なようだ。」というように書いたが、ドワンゴのインターンシップでAndroid用ニコニコ動画プレーヤを作成した方の記事を読んだところ、別に問題なく行えるようだ[参考:hiroki - ドワンゴインターンで作ったもの, 第1回名古屋Android勉強会 でインターンについて発表してきた]。

また、「調査が中途半端になってしまったが、」と書いたが、こちらについてもよくよく考えると今に始まったことではなかった。

« Android SDK Toolsを更新できない | トップページ | Androidでメールが受信できなくなったので初期化した »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

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

この記事へのトラックバック一覧です: Androidでビデオへオーバレイできるか:

« Android SDK Toolsを更新できない | トップページ | Androidでメールが受信できなくなったので初期化した »

other sites

  • follow us in feedly
  • github
  • stackoverflow

ソフトウェアエンジニアとして影響を受けた書籍

  • Christain Bauer: HIBERNATE イン アクション

    Christain Bauer: HIBERNATE イン アクション
    理論と実践が双方とも素晴らしい製品であるHibernate。本書はそのプロダクトを書名に冠していますが、Hibernateを使うつもりがなく、ORマッピングの解説書として読むにしても十分な良書です。Second EditionとしてJava Persistence With Hibernateという書籍も出版されていますが、残念ながら現在のところ 和訳はされていません。-インアクションは2.xの、Java Persistence-は3.1の頃のものなので、最新版とはちょっと違うところもあることに注意。 (★★★★★)

  • アンドリュー・S・タネンバウム: 分散システム 原理とパラダイム 第2版

    アンドリュー・S・タネンバウム: 分散システム 原理とパラダイム 第2版
    クライアント/サーバシステムを構築する上で必要となる知識が総論されてます。Web技術者も、フレームワーク部分を開発するのであれば必読。 (★★★★★)

  • Joel Spolsky∥著: ジョエル・オン・ソフトウェア

    Joel Spolsky∥著: ジョエル・オン・ソフトウェア
    前述の書籍「ソフトウエア開発プロフェッショナル」をより砕いたもの、という感じでしょうか。 前書きではプログラマでなくSE向けの本のように書かれているが、プログラマが読んでも面白い本であると思われます。 SEになった新人(あるいはそういう会社に入る/入りたての人)にとっては、これからどういったことが仕事を遂行していく上で起こりえるのか、どのように考えて行なっていけばいいのか決定する助けになると思います。 元は″Joel on Software″というブログの記事で、web上でも一部日本語で読めます。 http://japanese.joelonsoftware.com/ (★★★)

  • ドナルド・C・ゴース,ジェラルド・M・ワインバーグ: ライト、ついてますか

    ドナルド・C・ゴース,ジェラルド・M・ワインバーグ: ライト、ついてますか
    問題解決(一昔前のの流行語で言うところの『ソリューション』)能力は、システムエンジニアのスキルとして備えるべきもののうちのひとつです。しかし、これは難しい。学校で出されるテストと違い、唯一の、(問題提出者が想定している)解を求めるだけが「問題解決」では無いからです。そもそも、何が問題なのか、それは本当に問題なのか、それは本当に解決すべき問題なのか、その問題解決方法は正しいのか、などを解決しなければ、「その解は正しいのか」に辿りつくことができません。この本の最も良いところのひとつは、本があまり厚くないこと。すぐに読めるし、何回も読み返す気になるでしょう。 (★★★★★)

  • スティーブ・マコネル: ソフトウエア開発プロフェッショナル

    スティーブ・マコネル: ソフトウエア開発プロフェッショナル
    コードコンプリートで有名なスティーブマコネルの著書。新人SEに読んで欲しい。個人として業界の中でどうあるべきか、組織としてどうあるべきか、SEのプロ意識とは?SEの心構え概論、といったところでしょうか。また、業界における資格の重要性についても説かれています。この業界では資格が特に軽んじられる傾向がありますが、この傾向はどんな弊害をもたらすのか、将来的にこの業界は資格に対してどのような姿勢で臨んでいくべきなのか。日経BP社では(他の出版社もだが)最近、似たような類いのあまり面白くない書籍が乱出版されていますが、この本は別格だと思うので安心して購入して欲しいと思います。 (★★★★★)

無料ブログはココログ