ユーザーブロマガは2021年10月7日(予定)をもちましてサービスを終了します

iPhone Xの動画プロファイルについて【解析中】
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

iPhone Xの動画プロファイルについて【解析中】

2017-11-08 01:28
    皆様おひさしぶりです。
     iPhone Xを発売日当日【確保】し、翌日に買いに行った彼方です。
     
     iPhone Xに動画を突っ込んでみようと思いまして。しかしどこまで対応してるのか分からないという状況だったので、とりあえずさくっとプロファイル解析してみました。

     た、たぶん、まだ日本語でこの手の記事を書いている人は……少ないか、も?
    (少なくとも検索結果ではまだ何も出てこなかった)


    ■お前本当に高効率で録画してるの?

     iPhone Xではご存知HEVC(h.265)を採用してるのですが、ビットレートとかチャンクに関する情報はまだ見掛けないので、とりあえずまずはさくっと4Kで動画を撮影して、そのデータを確認してみました。

     あくまで参考です。参考。

     4K動画の撮影結果ですが、なんか微妙な結果に。
     まず、拡張子がh265でもhevcでもなく、MOVでした。長時間撮影すると変換される……というのはちょっと考えにくい。
     XMedia Recodeでの解析結果では、
    • MPEG-4 AVC/H.264
    • Profile: High
    • Level:5.1
    • FPS: 60
    • SAR: 16:9
    • DAR: 16:9
    • bitrate: 105574 kbps(約100Mbps!?)
    • (音声は)AAC(mp4a)-LC 91kbps 44100Hz 32bitモノラル
     何かおかしい。
     ということで、同じく1080pでもチェックしたが、やはりコーデックはMPEG-4 AVC/H.264でした。そんなばなな。

     念のため、MediaCoder x64でもチェック。
    • Format Type: Quicktime
    • Format: MPEG-4
    • bitrate: 111Mb/s
    • Video Format: AVC
    • Video Format Profile: High@L5.1
    • Codec ID: avc1
    • Color space:: YUV
    • Chroma subsampling: 4:2:0
    • Bitdepth: 8bit
     ちなみに、1080pの動画も同じようなデータでした。ということは、解析結果は間違っていないということか。わけがわからないよ。
    ※ちゃんとオチがあります。

    ■とりあえず同じ条件で動画を作成してみる

     録画データを確認しながら、とりあえず同じ条件でエンコードして、iPhone Xに食わせてみることにした。4Kの動画は手元にないが、1080pでテストすれば早いだろう。
     とりあえず、AVC/H.264 highプロファイル Level5.1で、手持ちにあったFHD(1080p)動画をエンコードして、iPhone Xに食わせてみる。転送にはiTunesを使わず、iFunBoxを利用。1080pなので、ビットレートは25Mbps程度にセット。フレームレートは元が24fpsだが、60に変換。アニメーションのフレームなので映像調整はアニメーションに。
     音声トラックは同じくAAC-LCにして、44100Hz ステレオ 128kbpsに。
     エンコーダーはXMedia Recodeを使用。

     そして問題発生。なんと転送できない。
    (仕方なく、iTunesで転送する)

     結果は・・・再生OK! まったく問題なし。そりゃそうだ。ごく標準的な設定なのだから。
    ※もちろん、オチが用意されています。

    ■面白くねーぞ!

     という怒号も聞こえてくるかもしれないので、変化球でやってみる。
     次は拡張子をh265にしてみる。
     形式はHEVC Raw Video、拡張子はh265に。
     ビデオコーデックはHEVC/H.265、フレームレートは同じく60に変換。ビットレートは噂によると半分くらいで良いらしいので、12.5Mbps程度。(2-Pass)
     で。H.265なんですが、プロファイルがいくつもある。とりあえずMainにしておいて、レベルは5.1 High tierに、プリセット標準、調整無効に。

     と、ここでおかしなことに気付く。音声トラックが無ぇ!

     よし、ここは困ったときのApple共通規格「MOV」だ!
     おほほほ、ちゃんとコーデックにHEVC/H.265があるじゃないか!
     あとは条件を整えて。音声トラックは同じく44100Hz 128Kbpsに。
     あとはコーデックなんだけど・・・Apple公式から引用すると

    対応するオーディオフォーマット:AAC-LC、HE-AAC、HE-AAC v2、保護されたAAC、MP3、Linear PCM、Apple Lossless、FLAC、Dolby Digital(AC-3)、Dolby Digital Plus(E-AC-3)、Audible(フォーマット2、3、4、Audible Enhanced Audio、AAX、AAX+)

     らしい。しかしエンコーダーの第一候補は「Fraunhofer FDK AAC
     うーん、なんだこれは。調べてみると、オープンソースライブラリとか出てきたな。どうやら品質は高いようだけど……音声比較ではないから、とりあえず、ここは同じでAAC-LCにしておこう。

     エンコード、かーらーのー、iTunes!
     といきたいところだが、ここで大問題。HEVCのエンコード速度が恐ろしく遅い。めっちゃ遅い。当方Intel Core-i7 4770を使っているが、毎秒8フレーム程度しかエンコードできない。ハードウエアでエンコード出来ないと、こんなに効率が違うものなのか……。
     設定を2-Passではなく1-Pass平均に切り替え。(ものぐさ)

     ざんねん! このファイルは再生できません!(なんでや)

     どうやら、MOVコンテナ内にH.265を格納できない……いやいや、そんな馬鹿な。Apple公式には

    対応するビデオフォーマット:HEVC、H.264、MPEG-4 Part 2、Motion JPEG

     ってちゃんと書かれている。ちゃんと最初に、HEVCって書かれてるよ。
    ※これも、ちゃんとオチがあります

    ■トラップ発動! 設定の落とし穴!

     ということで、ここでオチを発表。
     なんと、HEIFとかHEVCはパソコンに転送するとき、自動で変換されます!
     わーい! すっごーい!

     じゃねぇよ!

     設定>写真> メニュー内に「MACまたはPCに転送」って項目がある。
     そこで「自動」にチェックが入っていると、なんと自動でMP4とかJPEG(写真の場合)に変換されてしまうんですねぇ。
     ・・・いやまて、これ凄いんじゃね? だって、ファイル転送するときにハードウエアエンコードしながら、それをストリームとして出してるんでしょ。これ地味にとんでもない機能なんじゃないの?

     と、とにかく、これを「元のフォーマットのまま」で再転送してみましょう。
     そして開いてみるとー?
    • MOVコンテナ
    • コーデック:HEVC
    • プロファイル:Main
    • フレームレート:60fps
    • SAR/DAR:16:9
    • ビットレート:48151Kbps
    • カラーモード:YUV 4:2:0 Planar 12bpp
    • 音声:AAC-LC 91kbps 44100Hz 32bitモノラル

     はい、回答いただきましたー。ちなみにこれは4Kのファイルのほうですが、たいへん参考になりますね。この設定通りに作ってみましょう。変換がめっさ重いので、24fpsのままで作ってみます。(ただし、XMedia Recodeではビットレート設定がちょっと不安定なので、そこは様子を見ながら)
     で、ここでプロファイルはMainで作るようですが、プリセットが見えない。こっちはMediaCoderからデータを取得したところ、L5.1 Highだそうで。おそらく5.1 High tierだと思われます。
     ・・・あれ、さっきとだいたい仕様同じじゃね? まあ、とりあえず変換してiTunesに突っ込んでみましょう。

    「このiPhoneで再生できないため、コピーされませんでした」

     ……ぇー。
     ちゃんとコーデックもレベルもプロファイルも合わせてるのに、なんで再生できないの?

     ちなみに、iFunBoxからのアクセスも受け付けてくれません。
     コンピュータからファイル操作の要領でDCIMディレクトリにファイルを突っ込もうとしても、デリートやコピー(コンピュータへ)は出来てもiPhone Xへの転送は出来ない仕様。さて、どうしたものか。

    ■ファイル見れた!

     何時間も格闘して、いい加減に頭にきて強硬手段に打って出た。
     DropBoxなら問題なくファイルが見れるだろう!

     HEVC再生成功。

     どうやら再生できないファイルってのは嘘なのか、iTunes側でまだ許可していないのか。あるいはiOSのバージョンの問題なのか。とりあえずよく分からないけど、DropBoxにファイルを突っ込んでみたところ、まったく問題なく動画が再生された。ビットレートは20Mbpsくらいと、かなり高い設定だが、ネットワークの通信速度が普通にそれ以上なので問題なさそうだ。
     あとは、どうやって安定的にファイルを送り込めるか。反響があれば引き続き検証してみたいと思う。(先にiTunesのアップデートが来るかもね)

     ということで、おさらい。
     以下の設定にすればHEVCは再生できるようです。

    • MOVコンテナ
    • コーデック:HEVC
    • プロファイル:Main
    • レベル 5.1 High
    • フレームレート:any
    • SAR/DAR:(ファイルによる)
    • ビットレート:any(ファイルサイズによる)
    • カラーモード:YUV 4:2:0 Planar 12bpp
    • 音声:AAC-LC 44100Hz (モノラル/ステレオ・ビットレートは自由?)
     ただまあ、試してみた結果なんだけど、画質、いまいちな感じがするんだよねぇ。気のせいだろうか。
    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。