ffmpeg命令行參數(shù) 遠(yuǎn)程服務(wù)器怎么使用ffmpeg?
遠(yuǎn)程服務(wù)器怎么使用ffmpeg?這取決于框架和操作系統(tǒng)。通常,腳本字符串可以直接作為參數(shù)處理。這種方法的缺點(diǎn)是它將啟動一個新的過程。另一種方法是將ffmpeg編譯到項(xiàng)目中(建議將main函數(shù)改為可調(diào)用
遠(yuǎn)程服務(wù)器怎么使用ffmpeg?
這取決于框架和操作系統(tǒng)。
通常,腳本字符串可以直接作為參數(shù)處理。這種方法的缺點(diǎn)是它將啟動一個新的過程。另一種方法是將ffmpeg編譯到項(xiàng)目中(建議將main函數(shù)改為可調(diào)用函數(shù))。您可以編寫一個服務(wù),負(fù)責(zé)調(diào)度ffmpeg并為每個請求打開一個新的ffmpeg解碼線程。需要注意的是,ffmpeg對內(nèi)存的要求很高,因此線程不愿意無限期地增加。因此需要編寫一個線程池來保持線程數(shù)。超過線程數(shù)的請求被線程釋放的塊所知。這仍然是一個問題,因?yàn)橐曨l流是一個長期的處理過程,所以在資源有限的情況下處理高并發(fā)是不夠的。最后一種方法是使用nginx-RTMP連接多個視頻流,然后將不同的視頻包扔到同一個線程隊(duì)列中進(jìn)行處理,然后進(jìn)行解碼和分發(fā)。這種高并發(fā)性能可能會更好,但缺點(diǎn)是每個人都可能被卡住
如果進(jìn)程是由PHP啟動的,可以直接從stdout得到ffmpeg輸出的編碼時間長度,再除以芯片的長度得到進(jìn)度百分比。
另一種方法是使用ffmpeg report參數(shù)將程序輸出打印到指定文件,讀取并提取文件中的編碼時間長度,如上所述,除以長度得到進(jìn)度百分比