C#一個IM系統簡單總結


項目背景:

     工作之余兼職一家公司(方向是工業4.0)給做IM系統,主要功能包括:文字、 圖片、文件傳輸、遠程協助、視頻語音等等。

這些功能是基於群會話, 比如工廠操作工人遇到問題,請求遠程專家,這個初級專家不能解決問題,會邀請一個高級專家進來解決。

開發過程中主要遇到問題是視頻和語音這一塊,像其他的文字,圖片,文件傳輸等等之前做Socket的時候就接觸過,基本不是問題,要注意的是Socket粘包和丟包,遠程協助使用開源VNC 。

視頻和語音覺得有些難 。一、是之前沒有接觸過,二、要同時支持 安卓和蘋果手機。

 

為了用C#解決這個問題真是費勁心思,如果是其他語言也許不會這么折騰,簡單記錄一下。

1、網上查找資料找到一個GGTalk

   這個怎么評價呢,僅僅是做一些臨時項目賺點外快,可以使用一下,做成自己的產品或者想學習一下底層不推薦

   GGTalk雖然是開源但是他里面用到的視頻語音是第三方的傲瑞科技,不開源而且是收費版本。

   如果再研究一下傲瑞科技的解碼編碼,用到的是國外ffmpeg開源的。

2、騰訊實時音視頻 TRTC 

   這個和第一個比明顯有優勢,畢竟是大公司的出品,而且已經在很多地方運行,但是實際情況是客戶現場不一定能連接外網,測試的時候個別華為手機兼容不是很好。並且這個也是收費軟件。

3、FFmpeg

    FFmpeg非常強大的功能包括視頻采集、視頻格式轉換、視頻抓圖、視頻加水印,轉換數字音頻、視頻,並能將其轉化為流的開源項目。C語言開發,免費開源采用LGPL或GPL許可證多媒體視頻處理工具。

強烈推薦FFmpeg

1、免費開源  

2、跨平台

3、功能強大 

4、性能優異 

5 很多視頻處理軟件在使用 

優點實在太多,缺點就是需要學習成本。

特別是C#開發人員一開始使用FFmpeg有不少難度,一般用指針比較少,而FFmpeg里面會常用。

下一篇文章簡單總結一下C#與FFmpeg的使用

 

現在IM在市場上已經很成熟,為什么還要在搞一個呢?

這個問題剛剛開始我也這樣想,主要目的是和主框架集成。

比如專家發送一個特殊的格式連接[參數一,參數二、參數三],設備端打開這個連接,就直接跳轉到框架中的功能。

再比如 操作工人在視頻上各種畫標記,在專家端會突出顯示。

所以市場上的拿來就使用不太現實,比如上面2個需求至少UI層需要修改,既然要修改那就 趁這個機會就學習一下FFmpeg的API,

因為功能太強大了,比如后期遇到視頻美化,視頻分割合並、變音,這個FFmpeg都能很好處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM