iMac proでエンコード

環境

素材

いつもの

  • 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秒

Adobe Media Encoder編

Input Codec Min:Sec FPS
sony_xavcs_30p.MP4 H.264 1:03 177
HEVC(H.265) 1:12 155
canon_uhd.MP4 H.264 0:14 101
HEVC(H.265) 0:13 109
gh5_422_uhd.MP4 H.264 0:20 88
HEVC(H.265) 0:20 88

sony_xavcs_30p.MP4 のエンコードの場合、ほぼCPUは使われず、GPUだけとなりました。 GPUエンコード律速となっています。 f:id:taku-woohar:20200521192610p:plain

canon_uhd.MP4の場合、先ほどよりはCPUの負荷が上がっていますが、それでも利用率は低いです。 あとH.265はGPUも少し利用率低めです。 f:id:taku-woohar:20200521193036p:plain

gh5_422_uhd.MP4 では大分CPU使用率が高くなりました。主にデコード処理に使われているのだと思います。GPUも使用率高めです。なのでこの動画形式だとCPUもGPUも同等に使い切れる変換形式だと思います。 f:id:taku-woohar:20200521193242p:plain

FFmpeg

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

Input Codec FPS
sony_xavcs_30p.MP4 libx264 81
h264_videotoolbox 189
libx265 27
hevc_videotoolbox 157
canon_uhd.MP4 libx264 26
h264_videotoolbox 52
libx265 10.36
hevc_videotoolbox 45
gh5_422_uhd.MP4 libx264 28
h264_videotoolbox 52
libx265 12
hevc_videotoolbox 45

HEVC Toolboxが使えるのでh.265は少し早くエンコード出来る様です。

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 sony_xavcs_30p.MP4 -c:v hevc_videotoolbox -b:v 5000k fhd2fhd_toolbox_h265_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 canon_uhd.MP4 -c:v hevc_videotoolbox -b:v 5000k uhd2fhd_toolbox_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
ffmpeg -y -i gh5_422_uhd.MP4 -c:v hevc_videotoolbox -b:v 5000k  -pix_fmt yuv420p uhd422_to_fhd_toolbox_h265_1.mp4