나는 (다른 것들 중에서) 사용자가 업로드 한 비디오에서 특정 프레임을 추출해야하는 웹 페이지가 있습니다. 사용자는 플레이어에서 .mp4의 특정 부분을 탐색 한 다음 버튼을 클릭하고 Ajax 호출은 .mp4를 가져 오는 PHP 스크립트와 동영상의 정확한 시간에 해고되고이를 사용하여 추출합니다 "섬네일"프레임.동영상에서 특정 프레임을 추출하는 가장 빠른 방법 (PHP/ffmpeg/anything)
나의 현재 솔루션은 PHP exec
명령을 사용하고 있습니다 : 그것은 당밀처럼 느린 제외하고는 잘 작동
exec("ffmpeg -i $videoPath -ss $timeOffset -vframes 1 $jpgOutputPath");
을 .... 내 추측에 따르면 ffmpeg는 업무에 너무 많은 부분을 차지하고 있으며 기본 라이브러리 또는 무언가를 활용하여 더 잘 수행 할 수 있습니다 ... 그러나 나는 그 일을하는 방법을 전혀 모르고 있습니다.
이상적으로 나는 실제 "설치 프로세스"가 필요한 항목을 설치하고 싶지 않습니다 ... 즉, 웹 응용 프로그램 폴더의 실행 파일을 삭제하는 것이 좋지만 실제로는 필요하지 않습니다. 설치 프로그램을 실행하십시오. 또한 솔루션은 Mac, Linux 및 Windows에서 실행할 수 있어야합니다 (Linux가 최우선 임).
이 프로세스를 빠르게 진행하려면 어떻게해야합니까?
감사합니다.
썸네일 생성 작업을 대기열에 넣고 기다릴 필요가없는 다른 스크립트에 의해 생성되는 동안 사용자가 다른 작업을 할 수있게 할 수 있습니다. – GordonM
ffmpeg c : \ ffmpeg.exe -ic : \ video \ hello.mov - ss 10 - t 4 --f image2 - sameq - vcodec mjpeg img- % 03d.jpg 매우 까다로울 수 있습니다. 몇 가지 다른 속성을 사용하면 성능이 크게 향상 될 수 있습니다 ... –
@DusanPlavak ['-sameq'는 "동일한 품질"을 의미하지 않습니다] (http://superuser.com/a/478550/110524) ffmpeg에서 제거되었습니다. jpg 출력의 경우 유효 범위 2 (최고 품질) ~ 31 (최저 품질) 인'-qscale : v'를 사용하십시오. – LordNeckbeard