ffmpeg를 사용하여 비디오 트랜스 코더를 만들었습니다. FTP를 통해 사용자가 업로드 한 RAW 비디오 - 약 20GB 크기.파일 업로드가 완료 될 때 알림을받는 가장 좋은 방법
현재 PHP 스크립트는 다음 전략으로 5 초마다 로컬 경로를 모니터링합니다.
- 로컬 파일 시스템을 찾습니다.
- '새 파일'이 나타나면 수정 된 시간과 크기로 데이터베이스에 추가하십시오.
- 5 초 후 다시 수정 된 시간과 크기를 확인하십시오.
- 변경되지 않음 : 상태를 [완료 (DONE)]로 설정하고 비디오를 './output'디렉토리로 인코딩하십시오. ('출력'은 명시 적으로 모니터링에서 제외됩니다.)
- 변경됨 : 5 초 동안 더 기다립니다.
그것은 매우 잘 작동하지만, '새 파일'을 찾기 위해 CPU 전력을 굽습니다. 파일 업로드가 완료되면 '정확한 타이밍'을 얻을 수있는 방법이 있습니까?
@Iqez 무엇 당신의 OS가 그리고 그것은 PHP에서 수행 할 필요가 않습니다 PHP는 함께 inotify를 지원? 또한 "비디오를 './output'디렉토리로 인코딩하면 출력 디렉토리로 복사한다는 의미입니까? – Abbas
가능하면 inotify를 bash 스크립트를 통해 쉽게 설치할 수 있습니다. 그렇지 않으면 bash 스크립트가 더 효율적일 수 있습니다. –
@Abbas 리눅스에서 돌아가고 PHP 나 파이썬으로하고 싶습니다. '인코딩'은 동영상이 ffmpeg로 인코딩되고 그 결과가 './output'디렉토리에 저장됨을 의미합니다. 다시 인코딩 할 수 없습니다. – lqez