隨着信息化時代的到來,同屏技術在教學、會議、大型活動中的應用愈來愈普遍。同屏結束簡單說來,就是將手機、平板等一些移動設備上面的音視頻資料經過無線或有線網絡同步到顯示設備上。換言之,就是將移動設備中的音視頻資料景象到顯示頻幕上面。就像照鏡子同樣,移動設備上顯示什麼,顯示屏上就會顯示什麼。git
EasyScreenLive是一款簡單、高效、穩定的集採集,編碼,組播,推流和流媒體RTSP服務於一身的同屏功能組件,具低延時,高效能,低丟包等特色。目前支持Windows,Android平臺,經過EasyScreenLive咱們就能夠避免接觸到稍顯複雜的音視頻源採集,編碼和流媒體推送以及RTSP/RTP/RTCP/RTMP服務流程,只須要調用EasyScreenLive的幾個API接口,就能輕鬆、穩定地把流媒體音視頻數據RTMP推送給EasyDSS服務器以及發佈RTSPServer服務, RTSP同屏服務支持組播和單播兩種模式。github
(演示對比)服務器
(硬件解碼)網絡
問題描述ide
最近有開發者從https://github.com/tsingsee/E...,在C#版本中遇到以下圖錯誤,致使程序不能正常採集屏幕。函數
分析問題編碼
在應用場景溝通中咱們發現,開發者是在虛擬機Server 2008的系統上運行的程序,咱們的開發環境是Win10,正常應該沒有問題。spa
經過跟蹤代碼發現緣由出在C#版咱們編譯的Demo默認是採集音頻的,在開發者虛擬機環境中是沒有音頻輸入,因此Demo沒法正常工做。code
解決問題視頻
CapturePusherSDK類中StartCapture函數中第五個參數是音頻採集0:採集 -1:不採集,沒有音頻輸入必定要賦值-1
public static int EasyScreenLive_StartCapture(IntPtr pusherHandle, SOURCE_TYPE eSourceType, string szURL, IntPtr hCapWnd, EncoderType encodeType, string szDataType = "RGB24", int nWidth=1280, int nHeight=720, int nBitRate = 2048, bool bTranscode=false, ENCODE_MODE encMode=0) { var ret = EasyScreenLive_StartCapture(pusherHandle, eSourceType, szURL, 0, -1, hCapWnd, encodeType, nVideoWidth : nWidth, nVideoHeight: nHeight, nBitRate: nBitRate, szDataType: szDataType, bTransCode:bTranscode, encodeMode:encMode); //注意第五個參數是音頻採集0:採集 -1:不採集,沒有音頻輸入必定要賦值-1 return ret; }