動画ファイルサイズ計算
毎秒8メガビットの映像に毎秒128キロビットの音声を付けた60秒のクリップは60.96メガバイトです。撮影や書き出しの前に、アップロードやメモリーカード、ディスクの容量を見積もれます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
動画ファイルの大きさは、毎秒使うビット数と録画する秒数の積です。時間は正の有限数である必要があります。
ビットレートからエンコード済み動画サイズを見積もる方法
圧縮された動画ファイルは、選んだレートで選んだ時間だけ届くビットの流れです。解像度ビットレートはその流れの映像側で、単位はメガビット毎秒です。8 Mbpsは一般的な1080p配信の目安で、4キロピクセルのマスターは20から50の間に置かれることが多いです。
音声ビットレートはサウンドトラックで、単位はキロビット毎秒、ステレオAACなら128または320が典型です。時間は、その二つの流れが何秒続くかです。フレームレートはビットレート×時間の積を変えませんが、その予算が何枚の絵に分配されるかを示します。
60秒のクリップを8 Mbpsに音声128 kbpsを足すと60.96メガバイトです。1時間を40 Mbpsに320 kbpsを足すと18.144ギガバイトです。この式は固定ビットレートのエレメンタリストリームをモデルにします。
可変ビットレートのエンコード、シーン複雑さの揺れ、数キロバイトのMP4やMKVヘッダはファイルを少し動かします。保存上限、アップロード枠、カード予算ではCBRの積が意味のある数であり、この計算機はその積を、それを生んだビットレートとともに返します。
活用例
エンコード前にアップロード容量を見積もる
予定の映像ビットレート、フレームレート、時間、音声ビットレートをメガバイトまたはギガバイトに換え、書き出しディスク、SDカード、オブジェクトストアのバケットに、作るファイルの余地があるかを確認します。
よくある質問
durationがゼロ、負、または欠けているとどうなりますか?
durationは正の有限数である必要があります。不正な入力は課金されません。
毎秒8メガビットの1080p動画は1分でどれくらいの大きさですか?
毎秒128キロビットの音声を含めると、60秒のクリップは60.96メガバイトになります。映像が毎秒8メガビット、音声がその分を加え、合計を8で割ってバイトに直します。
結果にはファイルの入れ物の分も含まれますか?
含まれません。符号化された映像と音声の分だけで、MP4、MOV、MKVの数キロバイトのヘッダーは入りません。可変ビットレートの場合、実際のサイズは少し変わります。
なぜフレームレートを入力するのですか?
サイズ自体は変わりませんが、データ量が何枚の画像に分けられるかが分かります。毎秒30フレームで1分なら1800フレームです。同じビットレートで24と60を比べるときに役立ちます。
1080pや4Kではどのくらいのビットレートが一般的ですか?
1080pの配信では毎秒8メガビット前後がよく使われ、4Kの原本は二十から五十、たとえば40程度です。ステレオ音声は毎秒128か320キロビットが一般的です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/video/video-size \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"video_bitrate":8,"frame_rate":30,"duration":60,"audio_bitrate":128}'const res = await fetch("https://api.kit.forhosting.com/video/video-size", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"video_bitrate": 8,
"frame_rate": 30,
"duration": 60,
"audio_bitrate": 128
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/video-size",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"video_bitrate": 8,
"frame_rate": 30,
"duration": 60,
"audio_bitrate": 128
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/video-size", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"video_bitrate":8,"frame_rate":30,"duration":60,"audio_bitrate":128}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"video_bitrate":8,"frame_rate":30,"duration":60,"audio_bitrate":128}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/video-size", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"video_bitrate": 8,
"frame_rate": 30,
"duration": 60,
"audio_bitrate": 128
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.video_size",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
この動画ファイルサイズ計算機は、メガビット毎秒の解像度ビットレート、フレーム毎秒のフレームレート、秒単位の時間、キロビット毎秒の音声ビットレートを受け取り、エンコード済みペイロードをメガバイトまたはギガバイトで返すので、録画ボタンを押す前にディスク、アップロード枠、YouTube下書きを見積もれます。ゼロ、負数、NaN、Infinityはinvalid_inputで失敗し、課金されません。ソルバーは100万バイトのSIメガバイトによるsize_mb、10億バイトのSIギガバイトによるsize_gb、1ギガバイトでGBに切り替わるsize_unit付きの主サイズを報告します。フレーム数とフレームあたりビットはframe_rateから出るので、同じビットレートで24pと60pのタイムラインを照合できます。
ビットレートからエンコード済み動画サイズを見積もる方法
バイト単位のペイロードは、映像の毎秒ビットと音声の毎秒ビットの和にdurationを掛け、1バイトが8ビットなので8で割った値です。そのバイト数を100万で割るとsize_mb、10億で割るとsize_gbになります。ペイロードが1ギガバイト以上なら主フィールドsizeはギガバイトを報告しsize_unitはGB、それ以外はメガバイトです。bits_per_frameは毎秒ビットのvideo_bitrateをframe_rateで割った値、frame_countはframe_rateにdurationを掛けた値です。
入力契約、単位、応答フィールド
よく使う別名も受け付けます。durationは正の有限数である必要があります。映像のみの見積もりではゼロを許します。契約は任意の正のレートであり、23.976や29.97を含み、放送プリセットの閉じた一覧ではありません。内容依存のVBR見積もりが必要なら、ご自身のエンコーダと組み合わせてください。必須の有限数を四つ入れたJSON本体を送ってください。video_bitrateはメガビット毎秒、frame_rateはフレーム毎秒、durationは秒、audio_bitrateはキロビット毎秒です。video_bitrateにはresolution_bitrate、bitrate、video_mbps、mbps、video_bitrate_mbps。frame_rateにはfps、frames_per_second、framerate、frame_rate_fps。durationにはduration_seconds、seconds、length、time。audio_bitrateにはaudio_kbps、audio、aac_kbps、audio_bitrate_kbps。各フィールドはJSONの数値でも数値文字列でも構いません。欠落、空文字、ゼロ、負数、NaN、Infinityはdurationを名指ししたinvalid_inputで失敗し、課金されません。bits_per_frameを定義するため、video_bitrateとframe_rateも正の有限数である必要があります。audio_bitrateは非負の有限数です。frame_rateにenumはありません。成功時の本体は四つの入力をエコーし、total_bitrate_kbpsとtotal_bitrate_mbps、frame_count、bits_per_frame、bytes_per_frame、video_size_bytes、audio_size_bytes、size_bytes、size_mb、size_gb、size_mib、size_gib、主サイズsizeとsize_unit、それにformulaとnoteの文字列を返します。例としてvideo_bitrate 8、frame_rate 30、duration 60、audio_bitrate 128はsize_mbに60.96、size_unitにMBを返します。このエンドポイントは、すでに選んだレートから固定ビットレートのサイズを報告します。
動画ファイルサイズ計算機が役立つ場面
制作者はエンコード前にYouTubeや講座のアップロードを見積もり、40分の1080pマスターが残ディスクや日次枠を溢れさせないようにします。撮影オペレーターは解像度ビットレートを選び、64ギガバイトのカードが結婚式のタイムラインを24または60フレーム毎秒で賄えるかを知る必要があります。ライブイベントと放送のチームは、コーデックプロファイルを決める前に、数時間レコーダーの夜間アーカイブ容量を見積もります。検証失敗は残高を消費しません。デジタル映像を教える人は、レートを固定したままdurationを倍にするとサイズが倍になること、同じビットレートでframe_rateを上げるとファイルは増えずフレームあたりビットが減ることを示せます。この計算機はその対比をすぐ見せます。バックアップと取り込みのスクリプトは、まずsize_mbまたはsize_gbを計算して、オブジェクトストアの枠を超える予定エンコードを拒否できます。実装は純粋なparseのレベルAなので、成功した呼び出しは毎回、公表された基本料金$0.002で、モデルトークンも外向きネットワークも使いません。リクエストを小さく保ち、丸めたメガバイトまたはギガバイトをテストに固定すれば、NLEテンプレート、LMSデモ、エッジのワーカー向けに再現可能な保存量が得られ、自前のメディア解析基盤を立てる必要はありません。
連携の活用例
ビットレートと時間が容量をどう伸ばすかを教える
時間を倍にすると固定ビットレートではエンコードサイズも倍になること、同じレートでフレームレートを上げると同じ予算がより多くのフレームに分配されることを、APIが返すbits_per_frameフィールドで示します。
カードとアーカイブの枠を事前点検する
取り込みスクリプトとカメラ点検表は、まずsize_gbを計算して、カードや枠を超える予定の録画を拒否できます。エンコーダを開く必要も、ファイルを読む必要もありません。
技術的な質問
ビットレートと時間から動画ファイルサイズはどう計算しますか。
video_bitrateをMbps、frame_rateをfps、durationを秒、audio_bitrateをkbpsで送ってください。バイト単位のサイズは (video_bitrate × 1e6 + audio_bitrate × 1e3) × duration / 8 です。size_mbは100万で割り、size_gbは10億で割ります。
サイズがビットレート×時間なら、なぜフレームレートが必要ですか。
フレームレートはCBRのバイト数を変えません。frame_countとbits_per_frameを報告するために使い、24pと60pのタイムラインが同じ解像度ビットレートを何枚の絵に分けるかを見られます。
結果がメガバイトではなくギガバイトになるのはいつですか。
size_mbとsize_gbは常に返ります。主フィールドsizeとsize_unitは、ペイロードがSIギガバイト1つ分(1e9バイト)以上のときGBに切り替わります。短いクリップはMBのままです。
動画ファイルサイズ計算機の料金はいくらですか。
ブラウザのツールは無料です。APIリクエストは前払いのKIT残高を使い、成功1回あたり$0.002です。不正な入力は課金されません。