### 1、視頻很模糊,有馬賽克現象,是什么原因導致的問題現象
#### **問題現象:**
#### **問題分析:**
(1) 一般是因為視頻參數過低,特別是碼率。只需要調節相應的分辨率和碼率就行了。
#### **解決方案:**
(1) 查看日志,碼率及分辨率是否匹配,另外分辨率是否過低或者碼率過低。
AnyChat為了保證不通過網絡環境下面的音視頻流暢效果,默認使用比較低的視頻視頻參數:分辨率320x240,碼率為90Kbps,可能會出現馬賽克的效果。若想要清晰效果,可以將視頻參數設置高一些(如何設置合適的視頻參數),參考視頻參數: 1.分辨率320x240,碼率為150Kbps
2.分辨率640x480,碼率為400Kbps
設置的方法有兩種:
1.通過服務器那邊來配置(AnyChatCoreServer.ini)如果是云平臺或集群的話就登陸相對應的控制臺修改相關應用配置,
2.通過客戶端調用api來設置。
#### **知識點提煉:**
### 2、視頻比較卡頓,該如何調整?
#### **問題現象:**
#### **問題分析:**
(1) 網絡差,網絡差可以讓對方換網絡環境測試,比如換服務器網絡環境、客戶端網絡環境 ;
(2) 視頻參數設置過高視頻參數是否過高可以通過客戶端日志來排查。
#### **解決方案:**
(1) 讓對方提供客戶端日志,查看視頻參數是否設置過高問題。
(2) 若視頻參數設置不高的話,再詢問對方網絡環境,然后建議在局域網測試、或者換另外好網絡環境測試。
#### **知識點提煉:**
### 3、本地視頻沒有顯示出來,但攝像頭變亮了,已打開,會是什么原因呢?
#### **問題現象:**
#### **問題分析:**
(1)查看日志,是否成功加載庫文件,視頻有沒有初始化成功。另外是否插件版本太低。
(2)有可能調用打開攝像攝像頭,但是沒有將用過SetVideoPos接口展示本地視頻。
(3)攝像頭被占用了,沒有釋放。
#### **解決方案:**
#### **知識點提煉:**
### 4、在雙方音視頻時,為什么會聽不到對方的聲音?
#### **問題現象:**
#### **問題分析:**
(1) 沒有調用UserSpeakControl接口去請求或打開本地的音頻。
(2) 還沒有進入房間就去請求對方的音頻。
(3) 音頻采集設備或音頻播放設備問題。
#### **解決方案:**
(1) 詢問客戶音視頻設備情況。
(2) 讓客戶提供AnyChat的日志文件。音頻設備初始化失敗的日志如下:
Audio Capture(Driver:3, ) Init Failed:10500, (6.1.7601[1537])
Audio Init, error:10500, device:0, 0, 0, 0, capmode:0
讓客戶去檢測音頻采集設備,可以試一下用自帶的一些軟件去打開采集看 是否正常。
(3) 打開音頻或請求對方音頻時,日志中會打印:
Invoke UserSpeakControl(userid=-16,bOpen=1)=0
其中userid為用戶id,為-1時,表示自己,否則為指定的用戶;bOpen為 是否打開,1表示打開,0表示關閉。
通過雙方的日志去確認id是否傳入正確。
(4) 日志中如果顯示
Invoke UserSpeakControl(userid=-16,bOpen=1)=309
Message OnUserEnterRoom(userid=-16,nickname=windows1,siteindex=1)
表明先打開音頻,再去進去到房間內。需要修改流程,在收到進入房間的 回調,確保進入成功后再去調用打開音頻的接口。
#### **知識點提煉:**
需打開本地音頻流,對方才可以請求到音頻流。
所有音視頻操作都必須在房間內進行。
### 5、在雙方音視頻時,本地視頻正常,但無法觀看對方的視頻?
#### **問題現象:**
#### **問題分析:**
(1) 沒有調用請求視頻的接口或調用接口時,傳入的id錯誤。
(2) 在進入房間之前就調用了打開視頻的接口。
(3) 攝像頭初始化失敗
#### **解決方案:**
(1) 查看AnyChat的日志信息,日志中的
Invoke UserCameraControl(userid=-16, bOpen=1, stream=0)
表示操作視頻,userid表示用戶id,bOpen表示十分打開,1表示打開,0表示關閉,stream表示第幾路視頻流數據。如果日志中沒有打印該信息,表示沒有去操作視頻。
(2) 日志中如果顯示
Open Local Video Fail,ErrorCode:10011
表示攝像頭初始化失敗,有可能是沒有攝像頭,或者是驅動有問題,可以查看系統管理設備;當ErrorCode=10090時,表示庫文件沒有,把brVideoSink.ax放到應用程序目錄下。
(3) 檢查AnyChat的調用流程。
#### **知識點提煉:**
### 6、在內網可以正常進行視頻通話,但連接到外網時,無法請求到對方的音視頻?
#### **問題現象:**
#### **問題分析:**
(1)有可能是外網相對應的UDP端口沒有放通。
(2)可能內外網相對應的UDP端口都沒放通,內網走P2P的。
#### **解決方案:**
(1)檢查日志。內網正常的是否有UDP異常并走P2P。同時關掉P2P進行測試內網是否還是可以正常通話。
1、可以。用udp測試工具測試外網udp端口是否打開,并打開相對應的udp端口,檢查防火墻策略,對外開放的端口策略。
2、用udp測試工具測試內外網udp端口是否打開,并打開相對應的udp端口,檢查防火墻策略,對內外開放的端口策略。
#### **知識點提煉:**
### 7、在使用時出現了聲音有嘯叫和雜音情況,該如何調節聲音質量?
#### **問題現象:**
#### **問題分析:**
(1)一般是由于周圍雜音采集進去并外置播放又重新采集進去再播放,造成死循環。就會導致雜音無限擴大。
#### **解決方案:**
(1)檢查是否測試雙方離得太近,并使用外置聲音播放。讓雙方保持相對距離,達到聲音互不干擾。
(2)雙方使用耳麥進行溝通。
#### **知識點提煉:**
### 8、同網段的用戶之間可以互相音視頻,但不同網段之間的用戶卻不能正常音視頻通信,是什么原因導致的?
#### **問題現象:**
#### **問題分析:**
#### **解決方案:**
#### **知識點提煉:**
### 9、調用“進入房間(BRAC_EnterRoom)”的API,會返回錯誤代碼-1,請問是什么原因導致的?
#### **問題現象:**
#### **問題分析:**
一般是由于沒有登錄成功然后調用進入房間接口導致的。
#### **解決方案:**
登錄、進入房間都是異步的過程。調用登錄之后會有觸發回調函數。在回調中判斷登錄成功后,調用進入房間的話就不會有-1的錯誤了
#### **知識點提煉:**
### 10、Android、iOS設備在視頻通話過程中,在豎屏的時候本地視頻方向不正確,在橫屏的時候是好的,需要如何處理?
#### **問題現象:**
#### **問題分析:**
(1)由于Android平臺的開放性,某些設備采集到視頻數據顯示的時候會存在方向上的誤差。
#### **解決方案:**
#### **知識點提煉:**
### 11、Web頁面中看手機端的視頻有裁剪,但手機端本地視頻是正常的,該如何調整?
#### **問題現象:**
#### **問題分析:**
(1)在PC(Web)與移動終端(手機、Pad)進行視頻通訊的過程中,由于移動終端的手持方向將會影響到視頻采集的方向,如橫向放置時采集的視頻大小是320x240(4:3)方向正立,而豎向放置時采集的視頻大小是240x320(3:4)方向為橫向,為了保持在PC(Web)端所看到的畫面始終是正立的就需要對視頻畫面進行旋轉,然后調整到合適的大小,而視頻畫面經過旋轉之后,分辯率會發生變化,在調整的過程中會對視頻進行裁剪
#### **解決方案:**
(1)我們開放了裁剪模式控制接口,可以由上層應用根據實際的應用場景來選擇:1、默認模式,以最大比例進行裁剪,然后再整體拉伸,畫面保持比例,但被裁剪畫面較大,常量定義為:`ANYCHAT_VIDEOCLIPMODE_AUTO;`
2、重疊模式,只取最大有效部分,對邊緣進行裁剪,常量定義為:`ANYCHAT_VIDEOCLIPMODE_OVERLAP;`
3、縮小模式,縮小到合適的比例,不進行裁剪,常量定義為:`ANYCHAT_VIDEOCLIPMODE_SHRINK;`
4、平鋪模式,不進行裁剪,但可能導致畫面不成比例,常量定義為:`ANYCHAT_VIDEOCLIPMODE_STRETCH;`
5、動態模式,由上層應用根據分辯率來調整顯示表面,保持畫面不變形,常量定義為:`ANYCHAT_VIDEOCLIPMODE_DYNAMIC,`在動態模式下,視頻畫面旋轉時將會觸發異步事件(WM_GV_VIDEOSIZECHG),上層應用需要主動調整顯示表面(控件)的大小,否則視頻將會被拉伸處理導致畫面變形。(注意:動態模式暫時不適應錄制參數設置);
可以參考論壇地址:http://bbs.anychat.cn/forum.php?mod=viewthread&tid=1071&highlight=%B2%C3%BC%F4
#### **知識點提煉:**
### 12、在雙方音視頻通信中,雙方視頻會出現綠屏、花屏現象,會是什么原因導致的?
#### **問題現象:**
#### **問題分析:**
(1)一般都是由于插件版本太低導致的。
#### **解決方案:**
(1)升級最新的插件。
#### **知識點提煉:**