私が指定している FFmpeg のオプションを目的にごとにメモしておく.

Homebrew でインストールする際の注意点

Homebrew 標準の FFmpeg には Fraunhofer FDK AAC が同梱されていない. Fraunhofer FDK AAC を同梱した FFmpeg をインストールするには以下のようにオプションを指定する必要がある.

brew tap homebrew-ffmpeg/ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-fdk-aac

共通

ffmpeg -i /path/to/0.in -i /path/to/1.in \
  -map 0:0 \
  -map 1:0 \
  -movflags +faststart \
  -vtag hvc1 \
  out.mp4
  • -map で複数のファイルの複数/映像・音声ストリームから使用するストリームを選択.
  • -movflags +faststart でメタデータをファイルの先頭に配置し,ストリーミング再生に対応1
  • -vtag は Apple 製品で再生可能にするために hvc1 を指定2

エンコードなしで映像ファイルと音声ファイルを結合

ffmpeg -i /path/to/0.in -i /path/to/1.in \
  -movflags +faststart \
  -codec copy \
  -vtag hvc1 \
  out.mp4;
  • -codeccopy を指定.

AVCHD から持ち運び用の MP4 を作成

ffmpeg -i /path/to/0.in \
  -movflags +faststart \
  -vcodec libx265 \
  -crf 20 \
  -vtag hvc1 \
  -acodec libfdk_aac \
  -ab 384k \
  out.mp4;
  • -vcodec は標準になりつつある H.265 を指定.
  • -crf で品質を指定.デフォルト値は 28 だが,ここではより高品質な 20 を指定3
  • -acodec は FFmpeg の AAC よりも高品質な Fraunhofer FDK AAC を指定4
  • -ab は音声のビットレート.YouTube のヘルプ5 を参考に 384 kbps を指定.
  1. Encode/YouTube – FFmpeg. Link 

  2. Encode/H.265 – FFmpeg. Link 

  3. x264 と x265 で CRF 毎に SSIM と Bitrate の関係をグラフ化した | ぶっちろぐ. Link 

  4. Encode/AAC – FFmpeg. Link 

  5. Recommended upload encoding settings - YouTube Help. Link