J2me流媒體技術實現討論[3]

來源:互聯網
上載者:User

Cleverpig said:“其實,感覺上可以自己編寫一套流媒體規範的實現,比如將源檔案指定為wav格式或者其它的raw格式,然後分段發送到mobile。。

但是這樣做確實效率低,而且浪費頻寬。本人研究了一下Tea Vui Huang的mobilecast實現有些心得,在此與大家討論一下:

1。使用MMS發送radiocast:由於MMS服務可以使用圖片、音樂等多媒體元素,而且技術比較成熟,所以將它作為radiocast的載體是方便的選擇。而對於mobile使用者來講,cast的使用方式可以採用請求和訂閱兩種模式;

2。radio檔案格式的選擇:對於某些手機不能支援mp3格式檔案,即使支援mp3也受到memory size的限制,所以採用更為普遍、壓縮比更大的amr格式是比較好的choice;

3。amr檔案的分割:由於目前大多數手機僅能支援100KB左右的多媒體訊息,所以最佳的cast長度應該是50秒。比如將大約5分鐘的mp3檔案分割為6個amr章節檔案,每個章節檔案所包含的audio長度為45-50秒。而每個amr格式的壓縮比將是普通mp3格式3-6倍。按照播放率為600KB/min的mp3格式計算,保守地假定amr格式壓縮比為mp3格式的6倍,amr格式的播放率為100KB/min,而45秒的amr檔案大小為75KB。

所以Tea Vui Huang的做法是很clever的。”

我實驗過了,利用ffmpeg的這兩個參數,可以控制讓ffmpeg來將一個大mp3劈分成許多小段的獨立播放的amr檔案。

-ss time_off set the start time offset

-t duration set the recording time

比如你寫這麼個perl檔案,然後運行:

@inputFilename = "C:\\opt\\media\\changjin.wma";
@outputFilename = "C:\\opt\\media\\changjin";
for($i=1,$j=1;$i<=1000;$i+=10,$j++)
{
system("C:\\software\\ffmpeg.exe -i @inputFilename -ac 1 -acodec amr_nb -t 10 -ss $i @outputFilename.$j.\".amr\"");
}

就把一個大檔案拆分成許多小amr了,每一個amr檔案只有17KB。

Qinjiwy said:“提一個最佳化的小建議

如果分段太小,播放的間斷太多的話,使用者感覺上和系統開銷都不是很合適.

可以考慮多開幾個線程, 另外,每個檔案不一定要一樣大,可以考慮

檔案逐漸增大,從目前移動網速計算,

壓縮比高的amr語音檔案播放的時間要比下載的時間長.在第一次下載後開始播放的這段時間中,就

可以下載比第一次下載大的檔案了,這樣能減少網路開銷”

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.