[發明專利]高效流媒體播放方法和裝置有效
| 申請號: | 201110184906.X | 申請日: | 2011-07-04 |
| 公開(公告)號: | CN102868908A | 公開(公告)日: | 2013-01-09 |
| 發明(設計)人: | 鄭立安;戴建成 | 申請(專利權)人: | 哈爾濱融智達網絡科技有限公司 |
| 主分類號: | H04N21/231 | 分類號: | H04N21/231 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 150090 黑龍江省哈爾濱*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 高效 流媒體 播放 方法 裝置 | ||
1.一種高效流媒體播放方法,其特征在于,包括:
建立與流媒體服務器連接;
從所述流媒體服務器讀取預定大小的數據,根據所述流媒體服務器的通訊協議解析該預定大小的數據,獲得相關參數信息;其中,所述相關參數信息包括流媒體的類型、比特率和/或文件格式;
根據所述相關參數信息計算需要實際分配的緩沖區大小,然后申請大小等于該緩沖區大小的內存作為播放緩沖區;
從所述流媒體服務器讀取數據流;
將所述數據流保存至所述播放緩沖區;
根據所述流媒體的類型對所述播放緩沖區中的數據流進行解碼、播放。
2.如權利要求1所述的方法,其特征在于,所述需要實際分配的緩沖區大小的計算公式為:
緩沖區大小=((比特率/8)*緩沖時間*音頻聲道數)/開始播放緩沖百分比
其中,所述緩沖時間、音頻聲道數、開始播放緩沖百分比均為預設的流媒體播放控制參數。
3.如權利要求2所述的方法,其特征在于,在所述對所述播放緩沖區中的數據流進行解碼、播放步驟之前還包括:
判斷所述播放緩沖區中的緩沖數據是否達到預設的開始播放緩沖百分比,若是,則執行后續的解碼、播放流程;否則,暫停播放。
4.如權利要求3所述的方法,其特征在于,還包括:判斷所述暫停播放的次數是否達到預設的閾值,若是,則增加所述緩沖時間的預設值,重新計算所述緩沖區的大小,并根據該緩沖區的大小調整所述播放緩沖區。
5.如權利要求1所述的方法,其特征在于:
在將所述數據流保存至所述播放緩沖區過程中,記錄有緩沖區偏移位置;當所述緩沖區偏移位置等于緩沖區大小時,將所述緩沖區偏移位置重置為0,重新從播放緩沖區的開始位置填充所述數據流;
在對所述播放緩沖區中的數據流進行解碼、播放過程中,記錄有讀取緩沖位置;當所述讀取緩沖位置等于緩沖區大小時,將所述讀取緩沖位置重置為0,重新從播放緩沖區的開始位置讀取所述數據流。
6.如權利要求1所述的方法,其特征在于,所述與流媒體服務器建立連接的方法具體包括:
根據所述流媒體服務器的通訊協議名稱發送連接請求;
若流媒體服務器地址中包含有連接端口參數,則依次嘗試用預設的流協議連接端口中的其他端口建立連接;
依次嘗試用不包括本通訊協議名稱在內的其他流媒體通訊協議,重復上述連接過程;其中,所述流媒體通訊協議包括實時流傳輸協議、超文本傳輸協議和微軟流媒體傳送協議;
在上述建立連接步驟中,只要連接成功,則中斷連接過程直接進入后續流媒體播放流程。
7.如權利要求1所述的方法,其特征在于,還包括用戶交互控制步驟,具體方法為:
當播放器開始工作時,分別創建一個第一雙向管道和一個第二雙向管道;所述播放器從第二雙向管道讀取來自用戶交互控制接口的操作控制命令,并根據上述操作控制命令向所述第一雙向管道寫入播放器的狀態信息;所述用戶交互控制接口從第一雙向管道讀取所述播放器的狀態信息,并向所述第二雙向管道寫入操作控制命令;其中,所述操作控制命令包括的播放、暫停、停止。
8.如權利要求1所述的方法,其特征在于,所述流媒體為視頻流;播放所述視頻流時的音視頻同步方法為:
以所述視頻流中的音頻時間戳為參考值,比較音頻時間戳、視頻時間戳和下次播放時間戳的差值,若二者相等或差值在預設的偏移誤差之內,則采用音頻時間戳為參考值進行音視頻同步;否則,采用視頻時間戳為參考值進行音視頻同步。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱融智達網絡科技有限公司,未經哈爾濱融智達網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110184906.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于側切帶翻邊汽車裝飾條的模具
- 下一篇:去隔行處理方法





