Chienomi

TwitterにVideoを投稿するときの処理

Live With Linux::tips

Twitterは本当にビデオをまともに受け付けない。

受け付けるフォーマットが極端に狭いため、普通のビデオフォーマットではまず間違いなくエラーになる。

そのため、ビデオがエラーになる場合の方法を簡単にまとめておく。

問題

条件は次のように書かれている。

  • フレームレートは60FPS以下としてください
  • サイズは32x32~1280x1024の間としてください
  • ファイルサイズは512MBを超えないでください
  • 再生時間は0.5秒~140秒の間としてください
  • アスペクト比は1:3~3:1の間としてください
  • ピクセルアスペクト比は1:1としてください
  • YUV 4:2:0ピクセルフォーマットにのみ対応しています
  • 音声は必ずAACのLow Complexityプロファイルとしてください。High-Efficiency AACには対応しておりません
  • 音声は必ずモノまたはステレオとします。5.1以上には対応しておりません
  • Open GOPを含めないでください
  • 必ずプログレッシブスキャンを使用してください

実際可能性が高いのは次のもの

  • 140秒を越えている
  • HEVC(H.265)である
  • コンテナがMP4ではない
  • FHD以上である
  • フレームレートが60である (可変60FPSでは通らない!!!)
  • AVC High Profileである
  • YUV4:4:4である

AAC-HEってこともあるかもしれない。

横向き動画のためのコマンド

ffmpeg -i $SOURCE_FILE -r 30 -c:v libx264 -vf scale=1280:-1 -profile:v main -pix_fmt yuv420p -crf $CRF $DEST_FILE