MP4が再生できない場合の調査・対処方法

はじめに

多くのスマートフォンバイル端末やゲーム機がMP4動画ファイル(以下”MP4”とする)への対応を謳っているものの、再生できるMP4は機器によってバラバラの状態であるため「MP4が再生できない!」という問題にぶつかりやすく、慣れない内は解決に時間がかかる場合が多い。
MP4が再生できない場合に、わたしが実施している問題の切り分け方法をメモしておく。

問題の切り分けについて、まずはMP4の再生について「ローカル再生ができない」のか「ストリーミング再生ができない」のかで大別する。

ローカル再生ができない場合

Windowsやスマートフォンで、ローカルに保存したMP4が再生できない場合。

  1. PC上での再生確認
    この場合は、まずPCにVLC Player(以下、”VLC”とする)をインストールして再生してみる。VLCは動画(音楽)再生ソフトとしては非常に優秀であり、これで再生できないのであればそもそもファイルが壊れているかMP4の作法に従っていない(動画や音楽の形式や組み合わせがおかしい)ファイルであると考えられる。対策としては動画の作り直しとなる。動画作成の方法は各ソフトの説明サイトを参照のこと。
  2. MP4の情報を確認
    PCで再生できたら、つぎにMP4の情報を確認してみる。
    まずは真空波動研Liteを http://www.kurohane.net/ から探してインストール。
    続いて、真空波動研Liteを起動してMP4ファイルをドラッグアンドドロップすると下記のような情報が得られる。情報が出なかったり、真空波動研Liteが落ちたりする場合には、MP4ファイルが壊れている可能性がある。

    • Profile:High@4
    • fps:23.98
    • ビデオビットレート:2726.14kb/s
    • 音声形式:AAC-LC 48.00kHz 2ch
    • 音声ビットレート:318.96kb/s

    確認したら次のステップへ。

  3. 機器が再生できるMP4の仕様と突き合わせ
    機器が再生できるMP4の仕様を確認し、問題となっているMP4がその機器で再生できる形式なのかを確認してみる。下記は一例。

    一つでも仕様を逸脱した項目があった場合は再生できないと思ったほうがいい。
    その場合は機器に合った仕様でMP4を作り直すこと。
    問題となりやすい例を下記に示す。

    • Profile:Baseline→Main→Highの順に要求が厳しくなる。High Profileをまともに再生できる環境は多くない。(PS3とGalaxy Tabぐらいしか知らない)
    • Frame size(画面サイズ):たとえばPSPではFrame sizeが720×480までと制限されているので、それ以上のサイズの動画は再生不可。
    • fps:fpsが高すぎると(60fpsとか)、再生できない確率が高くなる。29.97ぐらいまでに抑えておくのが良い。
    • ビットレート:たとえばPSPでは768kbpsまでとなっている。
    • 音声形式:音声形式にAC-3(5.1ch)を使ったりすると再生できないことが多い。無難なのはAAC 2ch。

    などなど。つまり、再生する機器に応じて、MP4の作成には十分注意する必要がある。

ストリーミング再生ができない場合

ストリーミングサーバでトランスコード(MP4をFLVに形式変換して配信しているなど)している場合は別だが、ローカルで再生できないMP4はストリーミングでも再生できない。なのでまずはローカルで再生できるかどうかを確認する(→「ローカル再生ができない場合」を参照)。
しかし、ローカルで再生できるにもかかわらずストリーミングで再生できない場合がある。
これは、エンコーダがストリーミング配信に不適切なファイルを出力してしまうため。下記の説明が詳しい。
http://www.alpha.co.jp/biz/products/dlna/mlplayer/convert_to_mp4.shtml

上記にもある通り、この場合はMP4box(またはYambなどのmp4フロントエンド)を通せば修正が可能だ。再エンコードなどは発生しないので、画質・音質が落ちることはない。

MP4boxをコマンドラインで使用する場合は、
# MP4Box -add [元MP4ファイル名] -new [新MP4ファイル名]

Yambを使う場合は、

  1. [Creation] – [Click to create an MP4 file (省略)]
  2. ファイル選択
  3. [Next]ボタンを押す

でOK。

なお、エンコーダによってはストリーミング配信に適したMP4を出力することが可能になっている。
例えばHandBrakeでは、[Web optimized]にチェックを入れるだけで良い。

補足1:どの機器でも再生できるMP4は作れるのか?

作れる。だが、再生しようとしている機器すべての最大公約数をとることになるので、画質・音質はかなり犠牲となる。
それが嫌ならば、あとは妥協点を探していくしかない。
わたしの場合は、再生環境をWindows PC、PS3、Galaxy Tab(2.3)に絞った。これならば1080p(High Profile)の動画が問題なく再生できる。

補足2:エンコーダはどれを使うべきか?

完全に好みと言っていい。各々が使いやすいソフトを使えばいい。
個人的にはHandBrakeを使っている。正直、mp4のオプションは複雑すぎて全く理解していないが、デフォルトプリセット(High)で満足のいく仕上がりになっている。また、ストリーミングに最適化しやすいのも大きい(前述のとおり、[Web optimized]にチェックを入れるだけで済む。)。

以上

—–
検索用word:MP4 ストリーミング Pogoplug QNAP Qmobile

Xperia RayとWZR-HP-G300NHの相性問題

Xperia Ray(SO-03C)自体はその小ぶりさによる取り回しの良さが非常に満足だったのだが、一つ重大な問題が発生していた。

Slingplayer(アプリ)やニコニコ動画(Webブラウザ)でストリーミング動画再生をすると、1分ほどで必ずといっていいほどWifi通信が異常となった。
とはいえ、Wifi通信全部ができなくなるわけではなく、異常が発生したアプリやWebブラウザのみ、ネットワークに繋がらなくなるというものだった。
なお、Wifiに再接続すると正常に戻るが、結局また異常は発生するので何の解決にもならない。

Google検索してみたものの、Xperia Rayの普及率は大したものではないため、特に同様の問題はHITしなかった。

Xperia(SO-01B)では特に問題が発生していなかったため、Buffaloの無線LANルータであるWZR-HP-G300NHに当たりをつけた。
(余談だが、WZR-HP-G300NHは本当に何かと問題の多いルータで、評価も散々である)

とはいえ検索wordは思い浮かばず、”WZR-HP-G300NH”まで入力したところでGoogle先生からサジェストされた聞きなれない言葉”dd-wrt”を検索。
なるほど、ルータ用のカスタムファームウェアのことか。

他に手もなかったので、燃えないゴミ化する可能性もあったが
WZR-HP-G300NHとG301NをDD-WRT化~その1~
WZR-HP-G300NHにdd-wrtをインストールしました
の情報を参照させていただき無事ファーム入れ替え成功。
なお、ブリッジモードのままファーム書き換えをすると非常に面倒なことになるので注意。

色々設定後、Xperia Rayから無線LANルータに接続。
そしてストリーミング再生……問題なさそうだ。解決とする。

私のような組み合わせを使っている人はほとんどいないだろうが、相性問題は本当に厄介である。

今回は改めてGoogle先生の優秀さを認識させられたのだった。

以上

Atrac Advanced LosslessをDLNA配信する【その2】

前回は自作PCにVAIO Media Integrated Serverをインストールして、Atrac Advanced Lossless(AAL)のDLNA配信に成功した。

しかし、問題点として、x-アプリで取り込んだAAL(.omaファイル)を一度Sonic Stage CP4.4で取込み直さないといけなかった(拡張子は同じでもファイルに互換性がないらしい)。

そこで今回は、VAIO Media Plusを自作PCへ強引にインストールしてうまくいくか試した。
結論から言うと、うまくいった。
詳しい方法は書かない。理由はお察し下さい。

今回の方法ではVAIO Media Plusのバージョンが1.1なのでちょっと古い。2.x系を入れようと試行錯誤してみるも、うまくいかなかった。

まぁ当初の目標は達成できたので良しとする。

以上

EveryDNSが使えなくなってる……

beautiful-moon.tokyoの名前解決にはEveryDNSを使っていた。
しかし、今日ふとEveryDNSを覗いてみると「EveryDNS/EditDNS Discontinued」の文字が。
ああ、潰れたのね……。

後はdyndns使ってねということらしいが、まったく使い方が分からず。というか全部有料?

代替サービスとしては、

  • zoneedit
  • 私的ダイナミックDNS

等があるみたいだけど、面倒な制限があったりと使い勝手が今ひとつ。

何年もお世話になっていたEveryDNSが使えなくなるとは、本当に残念な限りでした。

Atrac Advanced LosslessをDLNA配信する

もはやSony開発者でさえどうでもいいと思ってるであろうAtrac Advaced Lossless(AAL)。

ウォークマンでまともに使えるロスレスフォーマットはこれしかないので(仕方なく)使っている人もいると思う。自分もその一人。
しかしながら、AALを再生できるのは、ウォークマンおよびx-アプリ(SonicStage)ぐらいしかない。
Sonyの製品のPSP、Bravia、PS3からも見捨てられる始末。どうしようもねぇ……。

このようにHDDを無駄に圧迫するだけの存在ではさすがにもったいないので、せめてLAN内でDLNA配信でもできれば嬉しいじゃないかと考えた。

調査の結果、下記の方法があることが分かった。

  • VAIO Media Integrated Serverというソフトを使ってLPCMに変換してDLNA配信する。
  • VAIO Media Plusというソフトを使ってLPCMに変換してDLNA配信する。
  • HDDコンポ ネットジュークを使う。

なんだ、VAIO Mediaなんちゃらというソフトを手にいれれば楽勝じゃん!

だが世界のSonyは甘くなかった。

VAIO MediaはVAIOにプリインされているだけで、単体入手するのは絶望的……アホですか?

しかしここで諦めるのも癪なのでさらに調べてみると……あった。VGF-WA1というWifiスピーカにはVAIO Media Integrated Serverが付属してるらしいじゃないですか。古いソフトなのが気になるが……(2008年ぐらいか?)。

VGF-WA1はもう生産完了しているのでオークションで入手した。

さてVAIO Media Integrated ServerをWindows 7(64bit)にインストールして……DLNAサーバとして認識しないorz
調査の結果ファイアウォールの設定が変だったので修正(もともとWindows7用のソフトではないからこの辺はしょうがないか)。

AALが入ってるフォルダを指定……ネットワークドライブが指定できないじゃないか馬鹿モーン!
仕方なく音楽ファイルをローカルドライブに落としてきて指定……あれ? VGF-WA1側でmp3は表示されるがoma(AAL)が表示されない。

もしかして……と思い立って、omaをSonic Stage CP4.4にドラッグアンドドロップ。

再生できるようになったー!!!

……しかしx-アプリで変換したAALは未対応ですかそうですかorz

ちなみにPS3でも再生できることを確認した。

なんだか色々と面倒だったけど、何とかAALをDLNA配信するという目的は達成できた。
VAIO Media Plusならx-アプリのomaに対応してるようだ。何とか入手する方法はなかろうか……。

以上