閉じる
閉じる
×
皆様おひさしぶりです。
iPhone Xを発売日当日【確保】し、翌日に買いに行った彼方です。
iPhone Xに動画を突っ込んでみようと思いまして。しかしどこまで対応してるのか分からないという状況だったので、とりあえずさくっとプロファイル解析してみました。
た、たぶん、まだ日本語でこの手の記事を書いている人は……少ないか、も?
(少なくとも検索結果ではまだ何も出てこなかった)
■お前本当に高効率で録画してるの?
iPhone Xではご存知HEVC(h.265)を採用してるのですが、ビットレートとかチャンクに関する情報はまだ見掛けないので、とりあえずまずはさくっと4Kで動画を撮影して、そのデータを確認してみました。
あくまで参考です。参考。
4K動画の撮影結果ですが、なんか微妙な結果に。
まず、拡張子がh265でもhevcでもなく、MOVでした。長時間撮影すると変換される……というのはちょっと考えにくい。
XMedia Recodeでの解析結果では、
ということで、同じく1080pでもチェックしたが、やはりコーデックはMPEG-4 AVC/H.264でした。そんなばなな。
念のため、MediaCoder x64でもチェック。
※ちゃんとオチがあります。
■とりあえず同じ条件で動画を作成してみる
録画データを確認しながら、とりあえず同じ条件でエンコードして、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(写真の場合)に変換されてしまうんですねぇ。
・・・いやまて、これ凄いんじゃね? だって、ファイル転送するときにハードウエアエンコードしながら、それをストリームとして出してるんでしょ。これ地味にとんでもない機能なんじゃないの?
と、とにかく、これを「元のフォーマットのまま」で再転送してみましょう。
そして開いてみるとー?
はい、回答いただきましたー。ちなみにこれは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は再生できるようです。
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
※ちゃんとオチがあります。
■とりあえず同じ条件で動画を作成してみる
録画データを確認しながら、とりあえず同じ条件でエンコードして、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 (モノラル/ステレオ・ビットレートは自由?)
-
次の記事これより新しい記事はありません。
-
前の記事2017-04-22 07:36:27HTML5とFirefoxの動作について2コメ
広告