2016-07-14 3 views
1

안녕하세요, 저는 PHP 스크립트를 통해 비디오를 압축하기 위해 ffmpeg를 사용하고 있습니다. 이제는 압축 된 이미지의 비디오 크기를 얻고 싶습니다. 비디오 경로를 가져 오는 중 친절하게 가이드가 나와 있어야합니다. 다음은 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 compressed_video.mp4' 에서처럼'du'를 사용하십시오. 'ls -lh'를 사용하는 것보다 두 배 빠릅니다. 그러나,'filesize '의 실행 시간이 스크립트의 총 실행 시간에 미치는 영향이 아무리 중요하지 않은 경우 어떻게 방해 할 수 있는지 잘 모르겠습니다. 비디오를 변환하는 데 더 오래 걸릴 것입니다. 'ls'를 사용하는 것만큼이나 빠릅니다. @ Saty : 질문에서 결과 비디오 파일의 크기에 대한 표시가 없습니다. 네이티브 PHP 솔루션은 결과의 폭발과 함께'ls'의 사용이 OS의 설정에 달려 있기 때문에 더욱 강력합니다. – Plenka

관련 문제