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