2012-08-28 42 views
2

我正在做一些實驗,將視頻流從android設備的前置攝像頭傳輸到本地服務器。目前我打算使用WiFi。我將來可能會轉向藍牙4.0。從Android設備實現高能效視頻流

我在尋找有關協議選項(TCP,UDP,...?)和視頻編解碼器的見解,經驗和DOs以及不應該考慮的其他想法。圖像質量應該足以運行計算機視覺算法,如服務器端的人臉檢測,識別和跟蹤。最大的擔憂是力量。我想確保流媒體儘可能地高效。我明白更多的功率效率意味着更低的幀速率。

此外,我需要的方式只是發送視頻幀,而不直接在屏幕上顯示它們。

謝謝。

回答

2

你沒有提到你是否會在設備上進行編碼或解碼。

一些提示: UDP會更少的功率一般在飢餓特別是在日益惡化的網絡條件: 見http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.5517&rep=rep1&type=pdf 檢查更多的論文在這對谷歌

在一般的編解碼器方面,你可以說的順序是就編碼和解碼所需的功率而言,H264> MPEG4> H.263。

比特率越高解碼所需的功率越多,但編解碼器的差異與比特率差別更大。我這樣說是因爲要獲得與使用H.263的H.264流相同的質量,您需要更高的比特率。但是在比特率較低的情況下,h.263的功耗應低於H.264。所以不要使用交叉編解碼器。只需在選擇的編解碼器中使用最低的比特率/幀率即可。

儘管編碼速度非常低,但編碼器可以更加努力地工作,從而增加功耗。所以編碼比特率應該很低,但不能低到編碼器被拉伸。這意味着選擇合理的比特率不會產生連續的塊狀流,但會產生合適的流輸出。

在每個編解碼器中,如果您可以控制編碼,那麼您還可以控制解碼能力。以下情況適用於: 即解鎖,B圖片將增加電量需求。繼續降低配置文件[H.264的基準,MPEG4的簡單配置文件和H.263的基準]將導致編碼和解碼的功耗要求較低。如果可以的話,在MPEG4中關閉4MV支持。使流更簡單的解碼。請記住,這些都會對質量產生影響,因此您必須找到可接受的質量。

另外,除非你真的可以測量功耗,我不知道你需要非常精細的調整工具集。只要堅持較低的配置文件就足夠了。

捕獲期間的視頻質量越高,編碼過程中所需的功率就越多。所以明亮的照明視頻需要較少的努力來編碼,低光視頻需要更多的權力。

無需將視頻發送到屏幕。您通過套接字接收視頻,並對該數據執行任何您想要的操作。那取決於你。您不必解碼並顯示它。

編輯:增加了更多的東西,我能想到的關閉

一般編解碼器的選擇和它的配置文件將是影響視頻編碼/解碼系統的功耗最大的事情。

最大的差異可能來自設備配置。如果您的設備中有特定編解碼器的硬件加速器,那麼使用這些硬件加速器比使用軟件編解碼器更便宜。因此,雖然H.264在軟件上可能需要比MPEG4更多的功率,但如果設備的硬件採用H.264,那麼它可能比軟件中的MPEG4便宜。因此請檢查您的設備硬件功能。

視頻分辨率也很重要。較小的視頻編碼更便宜。運行較小的分辨率時,您可以以較低的速度記錄設備。

+0

感謝您的詳細解答。有關使用UDP的快速問題。是否有一種簡單的方法可以在Android設備上一次獲取單個H264/H263幀?如果沒有,則需要在打包之前將視頻流分解成幀,並將它們作爲UDP數據包發送。 –

+0

你必須使用rtp協議發送。 live555或ffmpeg可以爲你做。 Google for spydroid。 – av501