2016-07-14 176 views
1

嗨,我們正在使用ffmpeg通過php腳本壓縮視頻,現在我需要的是我想獲得壓縮圖像的視頻大小,但獲得視頻路徑如此友善指導我如何我需要結束這個?如何通過ffmpeg獲取壓縮視頻的視頻大小?

下面是我用於壓縮視頻

原始路徑

$path = "sample.mp4"; 

代碼命令來壓縮

exec("ffmpeg -i sample.mp4 -vcodec h264 -acodec aac -strict -2 compressed_video.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',如'du compressed_video.mp4'。這比使用'ls -lh'快兩倍。但是,如果它對腳本的總執行時間的影響是沒有意義的,我不確定'filesize'的執行時間如何影響你;轉換視頻需要更長的時間。它也和使用'ls'一樣快。 @Saty:在這個問題上沒有提到有關視頻文件的大小。原生的PHP解決方案也更加強大,因爲使用'ls'來展示結果取決於操作系統的配置。 – Plenka