回答
這很難解釋。
在標題中,你會談論「流媒體」,但是在你說的「文件」的正文中。
最好使用UDP進行流式傳輸,因爲TCP總是按順序傳遞數據:如果數據包丟失並且必須重新發送,應用程序在TCP解決它之前不會獲取任何數據。對於實時數據,這是不可取的。
文件最好使用TCP發送。
你的問題題目說「視頻流」,UDP是一個合適的選擇。 UDP不保證數據包傳輸,但這對於視頻流並不重要。
然而,你的問題的主體說「發送文件」,這是不完全一樣的流。如果您試圖將整個文件從一臺設備傳輸到另一臺設備(整個文件傳輸成功很重要),那麼TCP就是要走的路。
感謝您的回覆。我想流傳真人實時視頻。現在,將UDP視頻從一臺機器流式傳輸到另一臺機器或Tcp是更好的選擇。其次如何比較RTSP。我的意思是我需要兩種方法的清晰畫面。因爲如果我使用的是TCP/UDP,那麼我會實際上按照我的想法發送流幀,如果我使用RTSP,那麼我將不得不公開鏈接以供不同機器使用。請注意一些方法。 – 2011-04-06 07:49:22
當您希望發送給多個收件人時,開始查看UDP,並且在問題中投擲多個框的成本變得過高。
因此評估一下情況,UDP傳輸的開發成本要高於TCP,並且在某種程度上你正在重新發明TCP。多播的好處很明顯,但單播有什麼好處?在現代硬件上,你有TCP加速,這意味着UDP單播實際上是一個非常昂貴的選擇。較低延遲的爭論是針對具體應用的,即遊戲,更重要的是缺乏可靠性和低限數據速率。
NB:初始性能差開發商TCP之間看到和UDP是Nagle的和TCP slow start,即擁塞控制,這是間網絡的可擴展性是至關重要的。內部網絡應用程序都可以禁用。
我想象,解碼和顯示視頻數據的CPU成本將足夠大,使得使用UDP與TCP的CPU開銷不會是一個重要因素。 – 2011-04-06 05:42:11
@Jeremy你也有加速視頻解碼和顯示的能力,因此所有東西的成本都降低了,這樣你就可以在像ARM,Geode這樣的更便宜的平臺上運行,這時網絡協議的重要性再次變得相關。 – 2011-04-06 05:50:27
- 1. 用於網絡視頻流傳輸的MKV,MP4或FLV
- 2. 在Android上使用Lighttpd進行視頻流式傳輸
- 3. RST通過TCP套接字進行視頻流傳輸?
- 4. UDP傳輸的視頻流編碼
- 5. RMI複製是否使用TCP或UDP進行緩存複製
- 6. 使用vlc與rtsp流式傳輸網絡攝像頭視頻
- 7. 從本地網絡服務器在BlackBerry上流式傳輸MP3
- 8. 可能坐在網絡上並接收TCP流/ UDP數據報?
- 9. C++(UDP或TCP)的網絡框架?
- 10. VBScript/JScript網絡:連接UDP或TCP
- 11. 如何使用UDP端口實時流式傳輸網絡攝像頭的音頻和視頻?
- 12. Android上的UDP視頻流
- 13. Youtube與其他網絡共享 - 本地或網絡視頻?
- 14. 使用VLC將本地網絡HTTP實時流式傳輸RTSP
- 15. 使用UDP進行網絡處理
- 16. 使用WebView進行Rtmp視頻流式傳輸
- 17. 使用Python進行視頻流式傳輸
- 18. 使用WebRTC進行視頻流式傳輸和廣播
- 19. 使用C#進行視頻流式傳輸的最佳實踐
- 20. 如何在Windows上使用ffserver進行簡單的視頻流傳輸?
- 21. 是否可以使用HTML5來顯示MPEG傳輸流視頻?
- 22. 是否有可能在不使用服務器端腳本或編程的情況下在網頁上進行實時視頻流傳輸?
- 23. 是否可以在Google上使用操作將視頻流式傳輸到Chromecast?
- 24. 使用asp.net在互聯網上流式傳輸現場音頻和視頻
- 25. 通過網絡瀏覽器流式傳輸我的視頻
- 26. 如何從網絡流式傳輸高清視頻?
- 27. 使用gstreamer將本地mpeg-ts文件流式傳輸到udp
- 28. 流的網絡攝像頭的視頻通過UDP PC
- 29. 使用NSURLSessionUploadTask進行視頻上傳。錯誤「網絡連接已丟失。」
- 30. 從網站流式傳輸視頻?
+1與我的答案相同。 :) – MusiGenesis 2011-04-04 15:40:31
感謝您的答覆。我提到的文件在描述中是錯誤的。我想流傳真人實時視頻。現在,將UDP視頻從一臺機器流式傳輸到另一臺機器或Tcp是更好的選擇。其次如何比較RTSP。我的意思是我需要一些清晰的方法。 – 2011-04-06 07:46:16