読者です 読者をやめる 読者になる 読者になる

子豚の嫁探し

3ヶ月毎に嫁を探す豚野郎です。

iPhone 4での動画再生について

少し気になっていたので試してみた。

iPhone 4の動画再生仕様は公式サイトに記されているものを見ると、720p・30fps・Level 3.1、というものになっています。これに則ると、自分がエンコードした例えば以下のような動画は再生できないことになります。(MPCからメディア情報をコピペ)

僕は友達が少ない 第07話 「携帯電話は着信が少ない_| ̄|○」 (BS-TBS x264 1280x720 AAC).mp4

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : High@L4.1
Format settings, CABAC           : Yes
Format settings, ReFrames        : 6 frames
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 24mn 29s
Bit rate                         : 1 167 Kbps
Maximum bit rate                 : 9 997 Kbps
Width                            : 1 280 pixels
Height                           : 720 pixels
Display aspect ratio             : 16:9
Frame rate mode                  : Variable
Frame rate                       : 24.470 fps
Minimum frame rate               : 23.976 fps
Maximum frame rate               : 59.940 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.052
Stream size                      : 204 MiB (80%)
Writing library                  : x264 core 120 r2120+639 552713c
Encoding settings                : cabac=1 / ref=6 / deblock=1:1:2 / analyse=0x3:0x113 / me=umh / subme=7 / psy=1 / fade_compensate=0.00 / psy_rd=0.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=0 / threads=3 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=1 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.76 / qpmin=8 / qpmax=42 / qpstep=8 / vbv_maxrate=40000 / vbv_bufsize=30000 / crf_max=0.0 / nal_hrd=none / ip_ratio=1.40 / aq=2:0.60
Encoded date                     : UTC 2011-12-25 02:12:37
Tagged date                      : UTC 2011-12-25 02:12:37
Color primaries                  : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics         : BT.709-5, BT.1361
Matrix coefficients              : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177

12月25日、BS-TBS放送分のはがない7話をPV4でキャプチャしたものがソースになります。x264はJEEB氏のL-SMASH版r2120をお借りしています。Aパート序盤の60iテロップはItsで60fps処理させ、そこで吐き出されたタイムコードを入力した混合fpsVFR動画です。でもこれでは仕様に適合しないのでバイナリを弄って、ProfileをMainに、Levelを3.1に変更して保存。それをiTunesにぶち込んで、Home Sharing等でiPhoneに送ると・・・テロップの60fps部分も問題なく綺麗に再生されました。

と、ここまでやってみたものの、実はバイナリを弄らずにそのままぶち込んでも再生できます。規格なんて関係ないっぽい。普通に1280x720の24fps(テロ処理の60i含む混合fpsも)であれば問題なく再生できるんですね。PS3の時にいろいろと苦労させられたのでiPhoneでも同じように面倒かと思って無視してたけど、余裕。

随分前に同じように試したときは、iTunesのライブラリに動画を追加することすらできなかったです。が、自分のx264設定の見直しでおkになったのか、iTunesやiOS等の仕様が緩くなったのか、よくわかりませんがいつの間にか可能になってました。おそらく前者のおかげだろうけど。こうなるとPS3も試してみたくなる(おそらく現在の設定でエンコした動画なら再生できるとは思う)けど、残念ながら実家の弟に奪われてます…。まじ返せ。

便利な時代になったなぁ、というお話でした。