ffmpeg解決cpu占用過高 遠程服務器怎么使用ffmpeg?
遠程服務器怎么使用ffmpeg?這取決于框架和操作系統(tǒng)。通常,腳本字符串可以直接作為參數(shù)處理。這種方法的缺點是它將啟動一個新的過程。另一種方法是將ffmpeg編譯到項目中(建議將main函數(shù)改為可調用
遠程服務器怎么使用ffmpeg?
這取決于框架和操作系統(tǒng)。
通常,腳本字符串可以直接作為參數(shù)處理。這種方法的缺點是它將啟動一個新的過程。另一種方法是將ffmpeg編譯到項目中(建議將main函數(shù)改為可調用函數(shù))。您可以編寫一個服務,負責調度ffmpeg并為每個請求打開一個新的ffmpeg解碼線程。需要注意的是,ffmpeg對內存的要求很高,因此線程不愿意無限期地增加。因此需要編寫一個線程池來保持線程數(shù)。超過線程數(shù)的請求被線程釋放的塊所知。這仍然是一個問題,因為視頻流是一個長期的處理過程,所以在資源有限的情況下處理高并發(fā)是不夠的。最后一種方法是使用nginx-RTMP連接多個視頻流,然后將不同的視頻包扔到同一個線程隊列中進行處理,然后進行解碼和分發(fā)。這種高并發(fā)性能可能更好,但缺點是每個人都可能陷入困境
ffmpeg本身實現(xiàn)了RTMP協(xié)議的解析。您可以查看源代碼的詳細信息,但性能不如librtmp,它不支持rtmpt,rtmps等
Ffmpeg只是一個解碼器,Mplayer是一個播放器。兩者之間沒有可比性。此外,如果沒有解碼器,您的計算機無法播放某些視頻。此外,解碼速度取決于您的CPU(軟解決方案)圖形卡(硬解決方案)。也就是說,如果你的電腦配置不好,播放這些高清電影之類的東西是不順暢的,就像幻燈片放映一樣