コンテンツへスキップ

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を返します。

ラベルの作り方

最後の点は重要です。Xのレンディションは滑らかな階段ではありません。ある投稿は低いビットレートの1280ピクセルのファイルと、ずっと高いビットレートの720ピクセルのファイルを持つことができます。幅の広いファイルは画面では大きくなりますが、小さいほうが動きでは良く見えることがあります。ピクセルあたりにより多くのビットが使われるからです。

比較の実例

行フレーム何に向くか
低ビットレートの1280×720広いフレーム、ピクセルあたりのデータは薄い画面全体が必要で、動きの甘さを受け入れられる画面向け。
高ビットレートの720×720正方形のフレーム、ピクセルあたりのデータは重いより滑らかな動きと精細なディテール。ただし映像は小さめ。
480×270(モバイル用カット)小さいフレーム古い投稿の一部が持つ唯一のレンディション。サイズを受け入れるか、省くか。

実用的なルール: 最上段の行がその下と比べて明らかにぼやけて見えない限り、最も幅の広い行を選んでください。迷ったら2つダウンロードしてファイルサイズを比べてください。半分のフレームサイズで2倍重いファイルは、ビットを動きとディテールに使っています。

ダウンロードが進行状況バーではなくナビゲーションである理由

動画ファイルはvideo.twimg.comにあり、この種のリクエストにはCORSヘッダーを送りません。そのためページはスクリプトでバイト列を読めず、ダウンロードボタンはCDNのリンクを直接開き、ブラウザがファイルを保存します。利点は動画のどの部分もこのサイトを通らないこと、欠点はパーセント表示がないことです。

ダウンロードできないもの

保護されたアカウント、削除された投稿、年齢制限付きの投稿はエラーを返します。X自身が匿名の読者からそれらを隠しているためです。リゾルバは決してサインインせず、それを回避しません。video.twimg.comのURLも単独では貼り付けられません。レンディションを名指すのは投稿のペイロードだけなので、リゾルバは投稿のリンクから始めます。

要点

よくある質問

最上段の行が一番良く見えないのはなぜですか?

一覧がフレームの幅で並んでおり、幅の広いフレームが必ずしも重いファイルではないからです。小さい行がピクセルあたりより多くのビットを持つ場合、動きではよりクリアに見えます。最上段が勝つと思い込む前にファイルサイズを比べてください。

保護されたXアカウントの動画をダウンロードできますか?

いいえ。Xは保護された投稿を匿名の読者に公開せず、このツールはサインインも回避もしません。解決できるのは公開投稿だけです。

Xのダウンロードに進行状況バーがないのはなぜですか?

`video.twimg.com`がCORSヘッダーを送らないため、ページは動画のバイト列を読めません。ボタンはCDNのリンクへ移動し、ブラウザが自分でファイルをダウンロードします。

この記事のツール

記事一覧