2011-05-06 2 views
0

아마도 시나리오를 설명하는 것으로 시작할 수 있습니다.완료된 완전히 업로드 된 파일 만 자동으로 ffmpeg로 변환

우리는 다양한 비디오 파일을 FLV로 변환하는 데 사용하는 ffmpeg가있는 데비안 서버가 있습니다. 파일은 FTP를 통해 여러 사람들이 제공하며 "업로드"폴더에 보관됩니다.

업로드 폴더의 모든 파일을 검토하는 PHP 스크립트를 작성하고 업로드가 완료되지 않았거나 업로드 오류가없는 PHP 스크립트를 작성한 다음 ffmpeg를 사용하여 FLV로 변환해야합니다.

변환과 그 밖의 모든 작업을 수행 할 수 있지만 파일이 완전하게 업로드되었는지 여부를 어떻게 결정합니까?

감사합니다.

+0

사용자가 스크립트를 사용하여 파일을 FTP 위치에 업로드합니까, 아니면 수동으로 수행합니까? – Kit

+0

그들은 대본이 없기를 두려워합니다. 그들은 다양한 ftp 클라이언트를 사용합니다. – Shmoyko

답변

0

Afaik 당신은 파일이 아직 업로드되고 있는지 확인할 수 없습니다. 당신은 cronjob everyminute 파일 크기를 받고 실행하고 데이터베이스 또는 파일에 저장할 수 있습니다. 그런 다음 두 번째로 cronjob을 실행하고 파일 크기가 동일하면 변환하십시오. 그렇지 않은 경우 변환하십시오. 다른 분을 기다린 다음 다시 시도하십시오.

업로드가 완료된 후 파일 크기가 포함 된 파일 크기가 있다고 생각하지 않습니다.

+0

저는 그것이 두려웠습니다. 귀하의 의견을 보내 주셔서 감사합니다. – Shmoyko

0

우리가 수년간 해낸 또 다른 방법이 있습니다.

대부분의 ftp 서버 (proftpd가)는 파일 업로드가 성공적으로 완료되었음을 알려주는 로그를 출력합니다. 이 로깅을 설정하여 unix named pipe/fifo로 이동 한 다음 데몬 스크립트가이 파일을 읽어 처리 할 파일을 결정하도록 할 수 있습니다. 이것은 훌륭하게 작동하며 완전히 성공적으로 업로드 된 파일 만 처리합니다.

관련 문제