使いどころ
アップロード上限のテスト、帯域やタイムアウトの検証、ダウンロード処理の動作確認など、「ちょうどこの容量のファイルが欲しい」という場面のためのダミーファイルです。実際に再生できる 160×120・2 秒のクリップに、規格上読み飛ばされる領域を足してちょうどの容量にしています。
100 MB という容量の目安
GitHub が 1 ファイルに課している上限がちょうど 100MB です。この容量を単発で扱えるかどうかは、実装の作りがはっきり出ます。
ストリーミング処理・マルチパートアップロード・メモリ使用量の確認に。全部をメモリに読み込む実装は、この辺りで破綻します。
GitHub の 1 ファイル上限がちょうど 100MB で、これを超えるものは Git LFS に逃がす必要があります。HTTP でも一括読み込みが現実的でなくなる境目です。
| 10Mbps(モバイル回線の目安) | 約 1.4 分 |
|---|---|
| 100Mbps(一般的な光回線) | 約 8.4 秒 |
| 1Gbps(上限まで出た場合) | 1 秒未満 |
回線を専有できたと仮定した理論値(バイト×8÷速度)です。実測ではないので、実際はこれより遅くなります。
MP4 という形式の特徴
H.264 で符号化した MP4 は、いちばん対応環境が広い動画形式です。ブラウザ・スマートフォン・編集ソフトのほぼどれでも再生できます。
どうやって「ちょうど」にしているか
末尾に free ボックス(ISO BMFF で「読み飛ばしてよい」と決められた領域)を足して容量を合わせています。パディング後も ffmpeg でフレームを取り出せることを確認済みです。
同じ 100 MB を別の形式で試すなら: PDF / PNG / JPG / GIF / WEBP / WEBM / ZIP。
容量は 1KB = 1024バイトで計算しています。100 MB = ちょうど 104,857,600 バイトです。上のハッシュは事前計算した固定値で、 ダウンロードした実ファイルと一致します(ハッシュ検証のテストにも使えます)。