2009-09-24 5 views

답변

1

ffmpeg을 사용할 수 있습니다.

일단 서버에 설치되면 명령 행을 작성하고 exec을 호출하여 PHP에서 사용할 수 있습니다.

예컨대 :

exec('ffmpeg -i mymovie.mov -vcodec mjpeg -vframes 1 -an -f rawvideo -s 64x64 foo.jpg'); 
3

다음은 비디오의 중간에서 프레임을 잡기 위해 코드 조각입니다. 주위에 거짓말을하고있는 오래된 코드이므로 간체화 될 수 있습니다. 설치 위치와 일치하도록 1 행의 ffmpeg 경로를 조정하십시오.

$output = shell_exec("/usr/local/bin/ffmpeg -i {$path}"); 
preg_match('/Duration: ([0-9]{2}):([0-9]{2}):([^ ,])+/', $output, $matches); 
$time = str_replace("Duration: ", "", $matches[0]); 
$time_breakdown = explode(":", $time); 
$total_seconds = round(($time_breakdown[0]*60*60) + ($time_breakdown[1]*60) + $time_breakdown[2]); 
shell_exec("/usr/local/bin/ffmpeg -y -i {$input_filepath} -f mjpeg -vframes 1 -ss " . ($total_seconds/2) . " -s {$w}x{$h} {$output_filepath}"; 
0

나는 간부()와 함께 작업을 시작,는 FFmpeg을 사용하고, TEH PHP 스크립트를 계속 할 수 있도록 명령에 앰퍼샌드를 추가했습니다. ffmpeg를 먼저 끝내려면 앰퍼샌드가 없습니다.

FAQ에서 "영화를 하나의 그림으로 인코딩하는 방법은 무엇입니까?" http://ffmpeg.org/faq.html#SEC15

ffmpeg -i movie.mpg movie%d.jpg 

이렇게하면 많은 이미지가 생성됩니다. 워드 프로세서

"동영상 및 오디오 파일 포맷 변환"http://ffmpeg.org/ffmpeg-doc.html#SEC5

ffmpeg -i foo.avi -r 1 -s WxH -f image2 -vframes 1 foo.jpeg 

W & H와 폭/높이 (http://ffmpeg.org/ffmpeg-doc.html#SEC9 참조) 원했던 프레임 번호 vframes 교체, 파일 이름 %의 D를 추가 바꾸기 여러 개의 이미지를 작성하는 경우 시퀀스 번호가 필요합니다. 비디오의 특정 지점을 잡으려면 -ss (http://ffmpeg.org/ffmpeg-doc.html#SEC8 참조)

+0

ffmpeg 설치 방법? plz help – Rajasekar

+0

@Rajasekar : 어떤 OS를 사용하고 있습니까? Google은 사용중인 용도에 따라 "ffmpeg windows/osx/linux 설치"중 하나를 선택합니다. –

+0

PHP 용으로 필요합니다. ffmpeg를 설치하려면 php.ini 파일을 편집 할 것을 요구합니다. 내 로컬 시스템에서 일하고있다. 어떤 문제가 발생하더라도 호스팅을 알고 싶습니다. hoster는 php.ini 파일을 편집 할 수 있습니까? 또는 특별한 유형의 호스팅을 사용해야합니다. @ Derek Gathright – Rajasekar

1

이 질문은 오래된 것으로 알고 있습니다. 그러나 비슷한 솔루션을 찾고있을 때 나는 그것을 발견했습니다. 여기 내 결과가있다. 나는 그것이 다른 누군가를 돕기를 바랍니다.

관련 문제