ymm4-plugin-document
読み取り中…
検索中…
一致する文字列を見つけられません
YukkuriMovieMaker.Commons.VideoBitRate クラス

ビデオのビットレート計算に関するユーティリティクラスです。 [詳解]

静的公開メンバ関数

static int GetBitRate (int width, int height, int fps, int length, int audiokbps, long totalFileKbytes)
 指定されたパラメータに基づいてビデオのビットレートを計算します。
static int GetBitRateH264 (int width, int height, int fps, int length, int audiokbps, long totalFileKbytes, H264Profile profile, H264Level level)
 H.264エンコーディングのプロファイルとレベルを考慮して、ビデオのビットレートを計算します。

詳解

ビデオのビットレート計算に関するユーティリティクラスです。

このクラスは、目標とするファイルサイズやビデオの特性(解像度、フレームレートなど)に基づいて、 適切なビデオビットレートを算出するための静的メソッドを提供します。 H.264エンコーディングに特化したビットレート計算もサポートしています。

メソッド詳解

◆ GetBitRate()

int YukkuriMovieMaker.Commons.VideoBitRate.GetBitRate ( int width,
int height,
int fps,
int length,
int audiokbps,
long totalFileKbytes )
static

指定されたパラメータに基づいてビデオのビットレートを計算します。

引数
widthビデオの幅 (ピクセル)。
heightビデオの高さ (ピクセル)。
fpsビデオのフレームレート (fps)。
lengthビデオのフレーム数。
audiokbpsオーディオのビットレート (kbps)。
totalFileKbytes目標とするファイルサイズ (KB)。
戻り値
計算されたビデオのビットレート (kbps)。

このメソッドは、目標ファイルサイズからオーディオのサイズを差し引き、残りをビデオに割り当てることでビットレートを算出します。 計算されたビットレートは、ビデオの解像度とフレームレートに基づいた理論上の最大値、および約2Gbps (2097151kbps) に制限されます。 これは、一般的なビデオエンコーディングにおけるビットレートの上限を考慮したものです。

// 1920x1080, 30fps, 2分間のビデオを目標ファイルサイズ100MB、オーディオ128kbpsでエンコードする場合のビデオビットレートを計算
int width = 1920;
int height = 1080;
int fps = 30;
int length = 30 * 60 * 2; // 2分間 = 3600フレーム
int audiokbps = 128;
long totalFileKbytes = 100 * 1024; // 100MBをKBに変換
int videoBitRate = VideoBitRate.GetBitRate(width, height, fps, length, audiokbps, totalFileKbytes);
Console.WriteLine($"Calculated video bitrate: {videoBitRate} kbps");
// 目標ファイルサイズが非常に小さい場合の例
int lowBitRate = VideoBitRate.GetBitRate(1280, 720, 24, 1000, 64, 1000); // 1MB
Console.WriteLine($"Calculated low video bitrate: {lowBitRate} kbps");
ビデオのビットレート計算に関するユーティリティクラスです。
Definition VideoBitRate.cs:14
static int GetBitRate(int width, int height, int fps, int length, int audiokbps, long totalFileKbytes)
指定されたパラメータに基づいてビデオのビットレートを計算します。
Definition VideoBitRate.cs:48

◆ GetBitRateH264()

int YukkuriMovieMaker.Commons.VideoBitRate.GetBitRateH264 ( int width,
int height,
int fps,
int length,
int audiokbps,
long totalFileKbytes,
H264Profile profile,
H264Level level )
static

H.264エンコーディングのプロファイルとレベルを考慮して、ビデオのビットレートを計算します。

引数
widthビデオの幅 (ピクセル)。
heightビデオの高さ (ピクセル)。
fpsビデオのフレームレート (fps)。
lengthビデオのフレーム数。
audiokbpsオーディオのビットレート (kbps)。
totalFileKbytes目標とするファイルサイズ (KB)。
profileH.264プロファイル。
levelH.264レベル。
戻り値
計算されたH.264ビデオのビットレート (kbps)。

このメソッドは、まず一般的なビットレートを計算し、その後、指定されたH.264プロファイルとレベルの最大ビットレートにクランプします。 これにより、H.264の仕様に準拠したビットレートが保証され、互換性の問題を防ぎます。

// H.264 Highプロファイル、Level 4.1 でのビデオビットレートを計算
int h264BitRate = VideoBitRate.GetBitRateH264(
1920, 1080, 30, 3600, 128, 100 * 1024,
H264Profile.High, H264Level.Level4_1);
Console.WriteLine($"Calculated H.264 video bitrate: {h264BitRate} kbps");
// H.264 Baselineプロファイル、Level 3.0 でのビデオビットレートを計算
int h264LowProfileBitRate = VideoBitRate.GetBitRateH264(
640, 480, 25, 1500, 96, 5 * 1024,
H264Profile.Baseline, H264Level.Level3_0);
Console.WriteLine($"Calculated H.264 low profile video bitrate: {h264LowProfileBitRate} kbps");
static int GetBitRateH264(int width, int height, int fps, int length, int audiokbps, long totalFileKbytes, H264Profile profile, H264Level level)
H.264エンコーディングのプロファイルとレベルを考慮して、ビデオのビットレートを計算します。
Definition VideoBitRate.cs:104
H264Profile
H.264のプロファイル
Definition H264Profile.cs:11

このクラス詳解は次のファイルから抽出されました: