ポップアップで .mp4 拡張子のファイルを開く必要があります。それはうまく機能しており、他のすべてのことは完璧に行われています。しかし、そのポップアップが開いているとき。その際、動画と同じ高さと幅で開きたいです。私のページには25本以上のビデオがあります。そのため、そのパラメーターをコードに保存し、ポップアップを開くときにそれを JavaScript で使用します。そのため、そのファイルを再生する前に、ビデオファイルの幅と高さを知りたいです。これらのパラメータをphpで知りたいです。
質問する
11511 次
3 に答える
3
php-mp4infoライブラリを試してください。
include("MP4Info.php");
$info = MP4Info::getInfo('directory/to/file.mp4');
if($info->hasVideo) {
echo $info->video->width . ' x ' . $info->video->height;
}
$info オブジェクトは、たとえば次のようになります。
stdClass Object
(
[hasVideo] => 1
[hasAudio] => 1
[video] => stdClass Object
(
[width] => 480
[height] => 272
[codec] => 224
[codecStr] => H.264
)
[audio] => stdClass Object
(
[codec] => 224
[codecStr] => AAC
)
[duration] => 6
)
于 2012-11-05T20:25:46.080 に答える
3
FF-MPEGを使用してみてください。システムコールを介して、またはそこにあるPHP用のFF-MPEG拡張機能を使用して使用できますhttp://ffmpeg-php.sourceforge.net/
FF-MPEG-PHP を使用してビデオからメタ情報を取得する方法は次のとおりです。
$video = new ffmpeg_movie($filePath);
$duration = $video->getDuration();
$width = $video->getFrameWidth();
$height = $video->getFrameHeight()
FF-MPEG には便利な機能がたくさんあります。
于 2012-11-05T20:26:04.437 に答える
-1
私はphp拡張機能をインストールしたくないので(Windows、特にWindows 64ビットでは災害作業です)、ffprobeとphp(次のように)を使用して次元を取得します:
$xcmd = '{$ffmpeg-stored-folder}\bin\ffprobe -v error -of flat=s=_ -select_streams v:0 -show_entries stream=height,width '.$filename.' > vdogeom.txt';
exec($xcmd);
$lines = file("vdogeom.txt");
foreach ($lines as $v) eval('$'.$v.';');
}
echo strtoupper(pathinfo($filename, PATHINFO_EXTENSION)).intval(round(filesize($filename) * .0009765625))."K".$streams_stream_0_width."x".$streams_stream_0_height;
「 WMV540K640x480」のような出力になります
ここでの唯一のトリックは、「PHP の PATH 環境が非常に奇妙であるため、ffprobe 実行ファイルのフルパスを指定する必要がある」です。
于 2015-04-16T10:13:31.500 に答える