Twitter 動画をツイートできず - 公式「YUV 4:2:0 ピクセルフォーマット にのみ対応しています」

YouTube ではアップロードして公開できました。



しかし、Twitter で動画アップロード時、完了できてるのに、ダイアログがグレーアウトしたまま。

ツイートができない。戻るとエラーの表示。

エラー
長い動画はアップロードされるまで時間がかかります。アップロードが中断されないように、ブラウザのタブは開いたままにしてください

アップロードはできてるのに。

なんでかな。

 

🎞️ ffmpeg で .mov → .mp4 に変換するときの注意点

ffmpeg では、以下のようにすれば Twitter でもいけます。

画質は -crf で設定するだけです。0 はロスなし、18 は実際はロスしていますが見た目では問題ありません。

もし、FFmpeg以外のプレイヤーで再生できるようにしたい場合は、-vf format=yuv420p を追加してください。

色の再現性が若干低下することがありますが、広い互換性のために必要です。


ffmpeg -i input.mov -crf 18 -vf format=yuv420p output.mp4

YouTubeにアップロードする場合は、-vf format=yuv420p を省略することができます。

👉 video - ffmpeg convert mov to mp4 without reduction of bit rate - Stack Overflow hatena-bookmark

それぞれのコマンドオプションで作成された output.mp4 を ffprobe で確認。


# -vf format=yuv420p なし
ffmpeg -i input.mov -crf 18 output.mp4 

Stream #0:0[0x1](und): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p10le(tv, bt709, progressive), 720x1280 [SAR 1:1 DAR 9:16], 216 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)


ffmpeg -i input.mov -crf 18 -vf format=yuv420p output.mp4

Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 720x1280 [SAR 1:1 DAR 9:16], 212 kb/s, 59.94 fps, 59.94 tbr, 60k tbn (default)

となり、ピクセルフォーマットが


yuv422p10le

  ↓

yuv420p

と変化していることが分かります。

この話、Twitter 公式にもきちんと書いてました。

YUV 4:2:0 ピクセルフォーマットにのみ対応しています。

👉 メディアのベストプラクティス | Docs | Twitter Developer Platform hatena-bookmark

その他、分かったことメモ。

※ ffmpeg で .mov → .mp4 にすれば コーデックは H.264 になる。

※ mov のコーデックは ProRes も H.264 も存在する。

動画ファイルって、いろんなきまりがあるんですね!

 

🎞️ まとめ

ffmpeg で、広く互換性を優先して、.mov.mp4 に変換する。


# .mov → .mp4
ffmpeg -i input.mov -crf 18 -vf format=yuv420p output.mp4

👉 Encode/H.264 – FFmpeg hatena-bookmark
👉 Encode/VP9 – FFmpeg hatena-bookmark

👉 YouTubeに縦長動画をどうアップするべきか? hatena-bookmark
👉 【Google フォト対策】ffmpeg で動画軽量化 hatena-bookmark


【IDEA】Python Code Style インデントをスペース2 に設定する

Editor の反応を スペース2 仕様にする。


Setting

  ↓

Editor

  ↓

Code Style

  ↓

Python

Tabs and Indents のタブから 4 → 2, 8 → 4 に変更。

【IDEA】Python Code Style インデントをスペース2 に設定する

IDEA の 文法チェック周りを調整する。


Setting

  ↓

Editor

  ↓

Inspections

  ↓

PEP8 coding style Violations

Options Ignore errorE111, E114 を追加する。

【IDEA】Python Code Style インデントをスペース2 に設定する


E111 indentation is not a multiple of four

E114 indentation is not a multiple of four (comment)

👉 Introduction — pycodestyle 2.7.0 documentation hatena-bookmark
👉 【Pythonコーディング規約】PEP 8 vs Google Style - Qiita hatena-bookmark
👉 styleguide | Style guides for Google-originated open-source projects hatena-bookmark

まあ、しかし、スペース 4 のほうが今はまだ主流ですよな。

👉 path:**/setup.cfg flake8 ignore - Code search results · GitHub hatena-bookmark
👉 Flake8: Your Tool For Style Guide Enforcement — flake8 6.0.0 documentation hatena-bookmark



【Chrome】マウスの矢印が消える問題

動画を頻繁に見るようになるとマウスカーソルの矢印が消えますよね!

Chrome の 「設定」-「システム」から「ハードウェアのアクセサレーション」「OFF」にすると表示されるようになります。

英語表示の場合では以下のような設定画面となります。

chrome mouse cursor hardware acceleration

いまさらですが、デフォルトのままでは頻繁に消えるので忘備録として。

👉 Mouse arrow/cursor repeatedly stops turning into pointer on all links - Google Chrome Community hatena-bookmark
👉 ビデオカード付けたらchromeが高速化して4Kでヌルヌル動いたという話 | 猫ITソリューションズ - 川越のホームページ・Web制作会社 hatena-bookmark