2016-07-14 15 views
1

こんにちは私は、圧縮された画像のビデオサイズを取得したいのですが、現在私が必要としているのは、PHPスクリプトを通してビデオを圧縮するためにffmpegを使用しています。以下はffmpegで圧縮ビデオのビデオサイズを取得するには?

私は

exec("ffmpeg -i sample.mp4 -vcodec h264 -acodec aac -strict -2 compressed_video.mp4); 

私はビデオサイズ

を取得するために使用したものコマンドを圧縮する

$path = "sample.mp4"; 

コマンドをビデオ

元のパスを圧縮するために使用どのようなコードであります

$compressed_video_information = exec("ls -h1 compressed_video.mp4); 
echo $compressed_video_information; 

私はビデオファイルのサイズを取得するだけのファイルパスを取得するので、誰かがこの問題を克服する方法を助けますか?

答えて

1

-hオプション(例:LS -lh)は、人間が読める形式でサイズを表示します(KB/MB/GB等。)

exec("ls -lh compressed_video.mp4",$out);// pass file path here 
$size=explode(' ',$out[0]); 
print_r($size[4]); 
+0

おかげで、私は私は必要に応じて出力を得た。 –

0

使用PHP関数filesize

<?php 
$filesize_in_bytes = filesize('compressed_video.mp4'); 
+0

これは私の実行のためにもう少し時間がかかるでしょう。 –

+0

ファイルサイズが2GBを超える場合は0を返します。 – Saty

+0

@ManiKandan:時間が重要な場合は、 'du compressed_video.mp4'のように' du'を使用してください。 'ls -lh'を使用した場合の2倍の速さです。しかし、 'filesize'の実行時間が、あなたのスクリプトの総実行時間に及ぼす影響が重要でない場合に、あなたを妨げる可能性があるかどうかは分かりません。ビデオの変換にはかなりの時間がかかります。 'ls'を使うのと同じくらい速いです。 @ Saty:質問では、結果のビデオファイルのサイズについての指示はありません。ネイティブのPHPソリューションは、結果の展開とともに 'ls'を使用することがOSの設定に依存するため、より堅牢です。 – Plenka

関連する問題