私のアプリケーションでは、特定のビデオ ファイルが HD 形式であるかどうかを確認する必要があります。PHPでこれを行う方法を提案できる人はいますか?
3 に答える
まず、高解像度ビデオとして宣言するものを定義する必要があります。 ウィキペディアによると:
高解像度ビデオは、標準よりも高解像度のビデオです。高解像度には特別な意味はありませんが、一般に、水平線が480本(北米)または線が570本(ヨーロッパ)を超えるビデオ画像はすべて高解像度と見なされます。多くのシステムがそれを大幅に超えている場合でも、720スキャンラインは一般的に最小です。高速度カメラによって通常よりも速いレート(北米では60フレーム/秒、ヨーロッパでは50 fps)でキャプチャされた標準解像度の画像は、状況によっては高解像度と見なされる場合があります。
ウィキペディアの記事には、最大値の表もあります。HDストリーミング用にさまざまなWebサイトで使用される解像度。
PHP拡張機能FFMPEG-PHPを使用すると、(とりわけ)次の値を読み取って、サポートされているビデオ形式の解像度とビットレートを決定できます。
$movie = new ffmpeg_movie('movie file.avi');
// how many frames per second?
$frameRate = $movie->getFrameRate();
// how many bits per second, strongly depends on codec (video compression)
$bitRate = $movie->getBitrate();
// height in px
$frameHeight = $movie->getFrameHeight();
// width in px
$frameWidth = $movie->getFrameWidth();
getID3を試すことができます。ビットレート、ファイル形式などの情報を抽出する php メディア ファイル パーサーです。
見ているすべての HD ファイルについて、SD ビデオと区別する HD ビデオに固有の何かがあるはずです。そのダウンパットを取得したら、PHPで必要なのは、見ているファイルに「一意の」ものが含まれているかどうかを確認することだけです。