手機音頻流媒體應用與最佳化指南

來源:互聯網
上載者:User

本文主要分享了在手機平台進行音頻流媒體開發應用的一些經驗,內容主要譯自Werner Ruotsalainen的《The Radio Stream Transcoding Bible 》原文地址,穿插了本人在一些粗淺的開發體會,相信對大家的手機流媒體開發和應用有所協助和啟發:)

 

隨著移動流量資費越來越少,網路電台越來越多,在手機上收聽網路電台成為一種很有價值的應用。本文介紹了

一些實踐;
   1. 能用同樣的頻寬獲得完美的音質
   2. 能在保持同樣音質的前提下大大節省你的流量費用。
   3. 更省電,因為2.5G比3G更省電
   4. 能讓你聽到一些由於網路或作業系統限制而從沒想到過的電台
   5. 能讓管理電台收藏更容易,你不需要在不同的電台程式之間切換,而其實它們的協議都差不多。

本文是我的《多媒體聖經》的一部分,這書下個月就會出版,而在下一版的多媒體聖經裡我會推出《視頻流媒體

開發指南》(k歌:作者食言了,我們到現在還沒等到,呵呵)

這部指南跟我其他的多媒體開發文章一樣都是跨平台的,如果你僅僅是名WM或者Symbian開發人員,也應該瞭解一

些其他平台的的多媒體開發特性。你有WM/SYMBIAN兩部測試機是最好的了,比如我一般會使用NOKIA N95用於我

的主要的娛樂和網頁瀏覽、郵件收發和通訊,為什麼呢,因為與任何的WM手機相比,因為它強大的A2DP品質,內

置的立體聲擴音器,輕巧的機身和不錯的待機時間;相比而言,我另外一部基於Pocket PC的HTC Oxygen(S310)

就顯得笨重如磚頭了,不過因為比較便宜而且它的強大的電話錄音功能,我經常把它放在我的褲子口袋裡。

另外,我也計划去瞭解Palm系統,因為我的Tungsten T3手機沒有WiFi卡(k歌:這哥們手機還真多..),所以我

沒法在上面測試流媒體。如果你有不用的Wi-Fi卡可以寄給我,如果你在歐洲就更方便了。畢竟,Palm系統的

Pocket Tunes是超級好的音頻播放器。 

介紹

在收聽廣播電台時,你肯定會碰到沒法收聽某個電台的情況,解決的方法請看下文

1.1 當一個網路廣播電台你完全聽不了

   首先我們來看看為什麼你的手機無法播放那個電台。
  
   1. 你的連線速度不足以正確的播放流。比如你要在標準GPRS網路裡收聽一個64 kbps的電台,而你的網路連

接無法超過43kbps。在這種情況下,無論你使用多大的緩衝都難以避免嚴重地停頓。這樣的現象在你不用3G網路

時不會得到改善。即使你手機支援3G而且也有必要的訊號,你可能還是會選擇禁用3G而回去用GPRS。最重要的原

因就是當前的3G模組太耗電了,即使是高端的WM HTC Kaiser或者Nokia N95。

   在上述情況下,你肯定想採用一些方法來降低這些音頻流的位元速率。利用現有技術,你可以把FM品質的立體

聲音樂壓縮到24 kbps,我不是開玩笑!

   請注意,本文假定你只有GPRS串連,不幸的是一些GSM電訊廠商堅持GPRS+3G架構,而拋棄了2.75G和EDGE技術(

譯者:本文寫於08年初,現在國內EDGE網路已經很普遍了:))。而EDGE網路有高速度(最多236 kbps,對網路廣

播來說足夠了)和低能耗,據我瞭解與GPRS相近。

   2. 你要聽的是RTSP流,而電訊廠商不支援直接的互連網串連( k歌:你用的是cmwap存取點,應該選用cmnet

介入,cmnet相當於你的手機有一個單獨的外網IP,而cmwap需要代理服務器)。他們使用防火牆和NAT技術,使

流媒體伺服器根本不能串連到手機。不幸的是,世界上60%的GSM電訊廠商是這樣做的。

   不幸的是,很多網路電台採用RTSP協議。最重要的是,在Symbian和WM所有的(除了Windows Mobile上的

MPlayer,它使用了對防火牆/NAT友好的HTTP協議而不是RTSP協議)手機即時音頻播放器使用RTSP協議。這意味

著你根本無法收聽即時的廣播電台,除非你所在的電訊廠商不使用NAT。
 
   即使你能有個快速的網路也沒有NAT限制,你還是無法播放一些流。 最重要的因素是在symbian上的WMA

(Windows Media Audio)。NOKIA內建播放器能播放本地WMA檔案,卻不能播放WMA流。(CorePlayer能播放WMA流,

但即使是最新版本,其網路模組是如此之差,播放了一段時間後就會出現嚴重的問題,這種情況不只出現在WMA

流,其他格式的流也一樣。希望下一個版本能改進)

 

1.2  當一個電台勉強能聽但需要最佳化

   最普遍情況,GPRS串連有下行頻寬小於43 kbps,意味著有效廣播流的位元速率有32kbps;而一般預設32kbps的

網路電台都有同樣的問題:這些音頻流一般都是單聲道的,音質也很一般。當然如果你所處的是EDGE網路,那肯

定能承受絕大部分的網路電台的碼率了。
 
   如果你不相信使用GPRS(或者EDGE)對比3G更省電,你在Windows mobile手機上用TCPMP開啟一個MP3流,用

acvTaskMan來查看,如下,第一個是通過UMTS(3G標準),第二個通過GPRS,當前的CPU佔用率差別是

200mA/300mA=60%,也就是說如果你設定手機使用GPRS MODE,就能節省60%的電量!

 

 

k歌:Windows mobile智能機你可以用TCPMP來聽廣播,而且MMS://的電台你直接用內建的Windows Media Player來放就行了。symbian上NOkia Internet Radio可以聽SHOUTCast MP3流,Coreplayer新版也可以聽mms流,不過由於wma是微軟的私人協議,所以Coreplayer對mms流的支援沒有公開。

 

 

下面我們對主流的音頻流媒體格式做個概述。一般手機支援wma,RealAudio,一些3G格式(都基於RTSP),Winamp PLS和Flash。不幸的是,許多格式只支援RTSP協議,意味著除非電訊廠商使用NAT'ing(把你手機暴露給Internet),這些格式是完全無用的。

下表給出了兩個主要的手機作業系統WM和symbian在NAT'ed和non-NAT'ed(direct)下的音頻支援

 

Windows Mobile:

Symbian:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.