我正在嘗試從客戶端向另一個客戶端發送實時視頻饋送,反之亦然。我正在使用TCP套接字。因此,AForge.NET可以幫助您從網絡攝像頭實際獲取視頻,並將其顯示爲PictureBox中的一組圖像。 AForge.NET正如預期那樣工作;它只是快速獲取圖像到另一個客戶端,這是問題。我已經嘗試了很多解決這個問題的方法。使用AForge.NET和Windows Forms流式傳輸實時視頻的方法有哪些?
其中之一是首先將整個網絡中的字節數作爲Int發送,然後通過圖像(幀)發送到客戶端。不過,由於某些原因,在如此多的幀(它每次變化)之後,它會收到一個不是要發送的字節的有效表示。我正在使用異步回調,因此可能會有一些延遲,或者它發送得太快。
然後我嘗試的另一個解決方案是將收到的字節設置爲可以通過TCP/IP發送的最大數量,然後用空格或其他填充字符填充空字節。然後檢查它有多大,你可以直接從字節數組中檢索(從頭開始),找到第一個非空格字符或特別包含的字符,以字節表示幀的結尾。這會更具活力,因爲每次都不需要大小,但由於恆定的大小非常大,效率下降了。有些問題需要特殊字節才能起作用。由於它是一個64位應用程序,因此單個字符爲2個字節。所以我將該字符添加到框架(最後)以表示框架停止的位置。但是當我跑過去時它無法檢測到它。所以也許我在使用字節時犯了一個錯誤,但是我覺得這個應該可以工作。
基本上,我想知道,使用AForge.NET,如何獲取視頻圖像,使用TCP套接字通過網絡將實況視頻從一個應用程序流式傳輸到下一個應用程序。