動画の設定どれがおすすめ?iPhone8で徹底検証。

概要

iPhone8 256GB
解像度、フレームレート(コマ数)、コーデック(エンコード形式)でそれぞれ比較する。
一覧はこちら。
www.youtube.com

比較

解像度(4K、FHD)比較

4K30fpsH.264(58.3MB)
www.youtube.com

FHD30fpsH.264(19.7MB)
www.youtube.com

4K(3840x2160)とFHD(1920x1080)を比較する。ファイルサイズは元データのものを記載した。
やはり4Kの方がきめ細かく、大画面で観ても綺麗である。
しかし、手振れ補正が甘い。これは、単純計算でFHDの4倍の情報量をリアルタイムでエンコードしているため、丁寧な処理なんてものをやっていたら間に合わないのだと思われる。したがって、この動画をPCで編集しようと思うならば、それなりのマシンスペックや知識が必要とされる。iPhone上で4Kの編集は難しいと考えたほうが良い。勿論撮影時のバッテリーの消費量も大きくなる。
ファイルサイズも大きいので、空き容量が不足している場合、画質への拘りが特にない場合は、FHDで良いだろう。
結論:4Kは映像作品向け、FHDはSNSスマホ向け

フレームレート(24、30、60fps)比較

4K24fpsH.264(46.7MB)
www.youtube.com

4K30fpsH.264(58.3MB)
www.youtube.com

4K60fpsHEVC(60.9MB)
www.youtube.com

24、30、60fpsの3つを比較するには4Kで撮る必要があったため、60fpsの動画は強制的にHEVCとなり、60fpsの動画はファイルサイズの比較にならない点はご了承願いたい。
動画とは1秒間に24、30、60枚…画像を表示して動いているように見せているものである(厳密に言えば全てのコマが完全な画像とは限らず、ファイルサイズを減らすため差分のコマがある場合が多い)。よって、コマ数が多ければ多いほど滑らかになる一方、処理する情報量も大きくなり、ファイルサイズも大きくなる。コマ数が増えるほど手振れ補正が甘くなっているように見える。
結論:滑らかさを求めるようなシーンでは60fps、映画のような雰囲気を出したい場合は24fps(映画、アニメ等は24fps制作が多い)、一般的な用途では30fpsが無難だろう。

コーデック(H.264、HEVC)比較

4K30fpsH.264(互換性優先)(58.3MB)
www.youtube.com

4K30fpsHEVC(高効率)(33.0MB)
www.youtube.com

画質の違い、私には分からん…
ファイルサイズはHEVCの方が小さいが、その分圧縮率の高いものはデコード(再生)、エンコード(変換)の負荷が大きくなるので、私は画像の方はjpgを使っているのもあって、「互換性優先」(H.264)にしている。
結論:iPhoneの設定に合わせるのが無難

動画の解析

ffmpegを使って動画の情報を見てみる。今回は基本情報とフレーム情報のみ。

4K30fpsH.264
C:\Users\Shibanyan>ffprobe -select_streams v -show_frames -show_entries frame=pict_type "C:\Users\Shibanyan\Desktop\10APPLE\171116_4k30h264.MOV"
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Shibanyan\Desktop\10APPLE\171116_4k30h264.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2017-11-16T03:14:58.000000Z
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 8
    com.apple.quicktime.software: 11.1.1
    com.apple.quicktime.creationdate: 2017-11-16T12:14:58+0900
  Duration: 00:00:10.20, start: 0.000000, bitrate: 47995 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160, 47895 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)
    Metadata:
      creation_time   : 2017-11-16T03:14:58.000000Z
      handler_name    : Core Media Data Handler
      encoder         : H.264
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 91 kb/s (default)
    Metadata:
      creation_time   : 2017-11-16T03:14:58.000000Z
      handler_name    : Core Media Data Handler
    Stream #0:2(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2017-11-16T03:14:58.000000Z
      handler_name    : Core Media Data Handler
    Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2017-11-16T03:14:58.000000Z
      handler_name    : Core Media Data Handler
Unsupported codec with id 0 for input stream 2
Unsupported codec with id 0 for input stream 3
[FRAME]
pict_type=I
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=I
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
…

いつなにがどう撮ったかが記録されている。音声ビットレートは極めて低いことが分かる。
1秒間のフレームの並びはIPPPPPPPPPPPPPPPPPPPPPPPPPPPPPとなっている。1秒に1枚はキーフレームがあるようだ。

4K30fpsHEVC
C:\Users\Shibanyan>ffprobe -select_streams v -show_frames -show_entries frame=pict_type "C:\Users\Shibanyan\Desktop\10APPLE\171116_4k30hevc.MOV"
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Shibanyan\Desktop\10APPLE\171116_4k30hevc.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2017-11-16T03:18:05.000000Z
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: iPhone 8
    com.apple.quicktime.software: 11.1.1
    com.apple.quicktime.creationdate: 2017-11-16T12:18:04+0900
  Duration: 00:00:10.70, start: 0.000000, bitrate: 25906 kb/s
    Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 3840x2160, 25801 kb/s, 30 fps, 30 tbr, 600 tbn, 600 tbc (default)
    Metadata:
      creation_time   : 2017-11-16T03:18:05.000000Z
      handler_name    : Core Media Data Handler
      encoder         : HEVC
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 94 kb/s (default)
    Metadata:
      creation_time   : 2017-11-16T03:18:05.000000Z
      handler_name    : Core Media Data Handler
    Stream #0:2(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2017-11-16T03:18:05.000000Z
      handler_name    : Core Media Data Handler
    Stream #0:3(und): Data: none (mebx / 0x7862656D), 0 kb/s (default)
    Metadata:
      creation_time   : 2017-11-16T03:18:05.000000Z
      handler_name    : Core Media Data Handler
Unsupported codec with id 0 for input stream 2
Unsupported codec with id 0 for input stream 3
[FRAME]
pict_type=I
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=P
[/FRAME]
[FRAME]
pict_type=I
[/FRAME]
[FRAME]
pict_type=B
[/FRAME]
[FRAME]
…

1秒間のフレームの並びはIBBBPBBBPBBBPBBBPBBBPBBBPBBBPPとなっている。1秒に1枚はキーフレームがあるようだ。heicがもっと普及したらhevcとかも使いたいね。

まとめ

・4Kは映像作品向け、FHDはSNSスマホ向け
・滑らかさを求めるようなシーンでは60fps、映画のような雰囲気を出したい場合は24fps、一般的な用途では30fps
・互換性優先(H.264)が無難