iMacでいろいろ動画エンコード

環境

素材

以下の3つの素材を1920x1080 29.97P に変換する速度を測ります。

  • sony_xavcs_30p.MP4
    • 1920 × 1080 29.97fps
    • 50Mbps
    • Sony RX100M4 X-AVCS
    • 11175F
    • 6分13秒
  • canon_uhd.MP4
    • 3840x2160 29.97fps
    • 120Mbps
    • Canon PowerShot G7 X Mark III
    • 1423F
    • 47秒
  • gh5_422_uhd.MP4
    • 3840x2160 29.97fps
    • 150Mbps
    • LUMIX GH5
    • 1770F
    • 59秒

FFmpeg

FFmpegはバージョン4.2.2を使用します。

Input Codec FPS
sony_xavcs_30p.MP4 libx264 31
h264_videotoolbox 202
libx265 11
canon_uhd.MP4 libx264 11
h264_videotoolbox 53
libx265 4.68
gh5_422_uhd.MP4 libx264 11
h264_videotoolbox 42
libx265 5.0

h264_videotoolboxはmacOSでハードウェアエンコード出来るオプションですが、かなり早いです。

ffmpeg -y -i sony_xavcs_30p.MP4 -c:v libx264 -b:v 5000k fhd2fhd_x264_1.mp4
ffmpeg -y -i sony_xavcs_30p.MP4 -c:v h264_videotoolbox -b:v 5000k fhd2fhd_toolbox_h264_1.mp4
ffmpeg -y -i sony_xavcs_30p.MP4 -c:v libx265 -b:v 5000k fhd2fhd_x265_1.mp4


ffmpeg -y -i canon_uhd.MP4 -c:v libx264 -b:v 5000k uhd2fhd_x264_1.mp4
ffmpeg -y -i canon_uhd.MP4 -c:v h264_videotoolbox -b:v 5000k uhd2fhd_toolbox_h264_1.mp4
ffmpeg -y -i canon_uhd.MP4 -c:v libx265 -b:v 5000k uhd2fhd_h265_1.mp4


ffmpeg -y -i gh5_422_uhd.MP4 -c:v libx264 -b:v 5000k -pix_fmt yuv420p uhd422_to_fhd_x264_1.mp4
ffmpeg -y -i gh5_422_uhd.MP4 -c:v h264_videotoolbox -b:v 5000k  -pix_fmt yuv420p uhd422_to_fhd_toolbox_h264_1.mp4
ffmpeg -y -i gh5_422_uhd.MP4 -c:v libx265 -b:v 5000k -pix_fmt yuv420p uhd422_to_fhd_h265_1.mp4

Adobe Media Encoder編

Input Codec Min:Sec FPS
sony_xavcs_30p.MP4 H.264 1:19 141
HEVC(H.265) 4:18 43
canon_uhd.MP4 H.264 1:53 12
HEVC(H.265) 2:02 11
gh5_422_uhd.MP4 H.264 2:31 11
HEVC(H.265) 2:43 10

上記はAdobeのMedia Encoder 14.1 でのエンコード結果です。H.264はMetal ハードウェアエンコード、H.265はCPUでのエンコードになります。 気になる点はH.265はFFmpegの3倍ほどの速度が出ています。Finder情でもQuickTimeが再生可能な形式なので、違うエンコード結果になっている模様です。

FHDのエンコードは、エンコーダの性能が速度を決める模様です。 UHDはエンコーダに依らず、デコード処理がボトルネックになっているかもしれません。