2013年1月2日水曜日

動画再生してみる:その5-再生できない条件

動画再生できない条件

以前の記事(その4)にも書いたが、MP870での動画再生には、
  • 動画再生できない
  • 動画再生できるが、視聴に耐えられない(カクカクする、音ずれなど)
の2種類あった。

MP870での動画の再生能力を調べるために、実際に XMedia Recorder を使って、色々な動画を作ってみた。
その中で、エンコード時のパラメータをちょっと変えただけで、丸っきり再生できない動画ができてしまうことが解った。
エンコード時の各パラメータの変化を MediaInfo で確認しながら考えたところ、MP870 のエンコーダーの性能に、ある種の特徴やクセがあるようだった。

そこで、MP870 のエンコーダーで、再生できる条件・再生できない条件について、以下に整理してみる。

ビデオ コーデック


MPEG-4 AVC / H.264

MP870では各種の動画再生に対応している。
その中でも今回の”動画遊び”wには、H.264 を選択した。
これは以前に PSP で”動画遊び”をしていた際に、「携帯動画変換君」を使ってパラメータ単位で色々と試した経験があるからである。

プロファイル

MP870では、[Baseline]、[Main]、[High] のプロファイルが再生可能であった。
意外だったのは、High プロファイルの動画でも再生が可能だったことである。
但し、プロファイルとレベルとパラメータの組み合わせにより、再生ができたり、できなかったりする。

なお、プロファイルとレベルの組み合わせについては、ウィキペディア(H.264)に詳しくまとまっている。


レベル

MP870では、レベル1からレベル3.2までが再生可能であった。レベル4以上は再生できなかった。
MP870の画面解像度(QVGA:320x240) を考えればオーバースペックではあるが、レベル3.2まで再生可能であった。

後述するが、レベル3.2まで再生できることにより、実は MP870 では、うまく条件を設定すれば、高ビットレートで 30 fps のヌルヌル動画を再生することが可能なのである。

フレームレート

MP870では、30 fps(29.97 fps)までの動画の再生が可能であった。
(実際は、これ以上の高フレームレートの動画は試していないのだが)

エンコード時のパラメータの設定により、30 fps の動画でもカクカクせず、音ずれ(遅延)せずに快適な視聴が可能であった。

ビットレート

MP870では、2000 kbps の動画の再生が可能であった。
実際は、これ以上の高ビットレートの動画は試していないが、データの転送に余裕がある環境であれば、もう少し高ビットレートも可能かもしれない。
例えば、内蔵メモリからの再生であったり、class 10 の microSDHC を使用するなどが考えられる。

その他のパラメータ

MP870では、H.264 のパラメータに [B-Pyramid] を指定すると再生できなかった。
また、[CABAC] も有効にすると再生できなかった。

これらのパラメータを指定した動画を再生すると、「再生できません」と表示されるか、最悪の場合、MP870 がハングアップした。
MP870 がハングアップすると操作を一切受け付けないので、本体をリセットする必要がある。


オーディオ コーデック


AAC

オーディオのコーデックには AAC を選択した。
特別な理由がある訳では無いが、mp4 をコンテナとした場合の一般的な組み合わせとして考えた。

サンプリングレート

MP870では、[44 kHz]、[48kHz] の指定が可能であった。

ビットレート

目的の動画に合わせて適切なビットレートを選択すれば良いが、320 kbps でも再生可能であった。

まとめ


MP870の動画の再生環境を整えると、思ったよりも高画質な動画の再生が可能であった。

例えば、class 10 の 32GB の microSDHC を用意して、動画ファイルのサイズを無視すれば、充分に高画質な動画を作成して、MP870 で再生することが可能である。


関連記事:
デアイ
動画再生してみる:その1-始めに
動画再生してみる:その2-準備するもの
動画再生してみる:その3-テスト
動画再生してみる:その4-動画の再エンコード
動画再生してみる:その5-再生できない条件
基本的な使い方:動画編