我使用ffmpeg創建了一個視頻代碼轉換器。用戶通過FTP上傳RAW視頻 - 非常大,大約20GB。當文件上傳正在完成時獲取通知的最佳方式
目前,一個php腳本每5秒鐘用下面的策略監視本地路徑。
- 查找本地文件系統。
- 如果出現'新'文件,請將其添加到修改時間和大小的數據庫。
- 5秒鐘後,檢查修改的時間和再次大小,
- 沒有改變:將狀態設置爲[DONE],和編碼所述視頻入「./output」目錄。 ('輸出'明確排除在監控之外)
- 更改:再等5秒鐘。
它非常好,但它燒掉了一部分CPU供電找到「新文件」。文件上傳完成後,有什麼方法可以獲得「準確的時間點」?
@Iqez什麼是你的操作系統和它在PHP做:PHP和支持inotify的?另外,當你說「將視頻編碼到'./輸出'目錄」時,你的意思是將它複製到輸出目錄嗎? – Abbas 2011-12-21 08:00:15
如果可以的話,安裝inotify,然後通過bash腳本超級簡單。否則bash腳本可能仍然更有效率。 – 2011-12-21 08:05:37
@Abbas它運行在Linux上,我想用PHP或python。 'encode'表示視頻是由ffmpeg編碼的,其結果將被存儲到'./output'目錄中 - 不再被編碼。 – lqez 2011-12-21 08:06:09