Xの投稿からどのMP4を選ぶか
Xは同じ動画を複数のMP4レンディションで公開します。解像度が同じでビットレートが違うことも多く、そのため一覧の最上段が常に欲しいものとは限りません。
投稿のリンクを貼り付けると、Xが一覧にする動画のレンディションが、解像度の高い順に表示されます。この順序は出発点であって結論ではありません。解像度はフレームの大きさにすぎず、同じフレームサイズの2つのファイルでも、映像1秒あたりを支えるデータ量は大きく違うことがあります。
リゾルバが読むもの
Xはこれにログインを要求しません。リゾルバはXの公開シンジケーションエンドポイント(cdn.syndication.twimg.com/tweet-result)に投稿を問い合わせ、埋め込みタイムラインが使うのと同じ署名付きトークン方式を使います。レスポンスには投稿のテキスト、投稿者、そしてXが保持するすべてのMP4レンディションを含むvideos配列が含まれます。
残るのは動画とGIFだけです。XではアニメーションGIFはMP4ファイルとして配信されるため、GIFの投稿は音声のない動画としてダウンロードされます。プラットフォームが保存したとおりです。唯一の動画がライブ配信である投稿や、Xが多重化されたMP4をまったく返さない投稿はno_videoを返します。
ラベルの作り方
- ファイルのURLがフレームサイズ(
…/1280x720/…)を示している場合、ラベルはそのサイズです。 - 示していない場合、ラベルはkbpsに丸めたビットレートです。
- どちらもない場合、行は単に
MP4です。 - 行は幅の広い順に並びます。ビットレート順ではありません。
最後の点は重要です。Xのレンディションは滑らかな階段ではありません。ある投稿は低いビットレートの1280ピクセルのファイルと、ずっと高いビットレートの720ピクセルのファイルを持つことができます。幅の広いファイルは画面では大きくなりますが、小さいほうが動きでは良く見えることがあります。ピクセルあたりにより多くのビットが使われるからです。
比較の実例
| 行 | フレーム | 何に向くか |
|---|---|---|
| 低ビットレートの1280×720 | 広いフレーム、ピクセルあたりのデータは薄い | 画面全体が必要で、動きの甘さを受け入れられる画面向け。 |
| 高ビットレートの720×720 | 正方形のフレーム、ピクセルあたりのデータは重い | より滑らかな動きと精細なディテール。ただし映像は小さめ。 |
| 480×270(モバイル用カット) | 小さいフレーム | 古い投稿の一部が持つ唯一のレンディション。サイズを受け入れるか、省くか。 |
実用的なルール: 最上段の行がその下と比べて明らかにぼやけて見えない限り、最も幅の広い行を選んでください。迷ったら2つダウンロードしてファイルサイズを比べてください。半分のフレームサイズで2倍重いファイルは、ビットを動きとディテールに使っています。
ダウンロードが進行状況バーではなくナビゲーションである理由
動画ファイルはvideo.twimg.comにあり、この種のリクエストにはCORSヘッダーを送りません。そのためページはスクリプトでバイト列を読めず、ダウンロードボタンはCDNのリンクを直接開き、ブラウザがファイルを保存します。利点は動画のどの部分もこのサイトを通らないこと、欠点はパーセント表示がないことです。
ダウンロードできないもの
保護されたアカウント、削除された投稿、年齢制限付きの投稿はエラーを返します。X自身が匿名の読者からそれらを隠しているためです。リゾルバは決してサインインせず、それを回避しません。video.twimg.comのURLも単独では貼り付けられません。レンディションを名指すのは投稿のペイロードだけなので、リゾルバは投稿のリンクから始めます。
要点
- 行は画質ではなく、フレームの幅で並んでいます。
- 2つのレンディションが解像度を同じくしてビットレートを異にすることがあり、重いファイルのほうがたいてい良く見えます。
- GIFの投稿はMP4ファイルとして届きます。Xがそう保存しているためです。
- 公開投稿のみ。保護された投稿と削除された投稿は隠されたままです。
- 何も保存・再エンコードされません。ファイルはXのCDNから直接届きます。
よくある質問
最上段の行が一番良く見えないのはなぜですか?
一覧がフレームの幅で並んでおり、幅の広いフレームが必ずしも重いファイルではないからです。小さい行がピクセルあたりより多くのビットを持つ場合、動きではよりクリアに見えます。最上段が勝つと思い込む前にファイルサイズを比べてください。
保護されたXアカウントの動画をダウンロードできますか?
いいえ。Xは保護された投稿を匿名の読者に公開せず、このツールはサインインも回避もしません。解決できるのは公開投稿だけです。
Xのダウンロードに進行状況バーがないのはなぜですか?
`video.twimg.com`がCORSヘッダーを送らないため、ページは動画のバイト列を読めません。ボタンはCDNのリンクへ移動し、ブラウザが自分でファイルをダウンロードします。