[發明專利]一種能兼容WPF播放視頻流的處理方法、系統及裝置在審
| 申請號: | 202010000471.8 | 申請日: | 2020-01-02 |
| 公開(公告)號: | CN111147925A | 公開(公告)日: | 2020-05-12 |
| 發明(設計)人: | 王衛;李貫濤 | 申請(專利權)人: | 南京巨鯊顯示科技有限公司;南京巨鯊醫療科技有限公司 |
| 主分類號: | H04N21/44 | 分類號: | H04N21/44;H04N21/435 |
| 代理公司: | 南京縱橫知識產權代理有限公司 32224 | 代理人: | 韓賽 |
| 地址: | 210036 江蘇省南京市*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 兼容 wpf 播放 視頻 處理 方法 系統 裝置 | ||
本發明公開一種能兼容WPF播放視頻流的處理方法、系統及裝置,包括如下過程:解碼視頻源得到YUV數據;將YUV數據轉為bitmap,將bitmap放入共享內存;讀取該bitmap并使用圖片控件對目標幀進行渲染。本發明具有的有益效果:完美的兼容wpf并直接使用ffmpeg解碼播放,可以將ffmpeg解碼模塊直接與wpf控件交互,不會出現控件兼容性問題,避免了控件必然置頂的情況。
技術領域
本發明屬于視頻處理技術領域,具體涉及一種能兼容WPF播放視頻流的處理方法、系統及裝置。
背景技術
Ffmpeg(一種開源編解碼庫)作為功能強大的開源編解碼工具,解析出來的包通常是YVU(一種顏色編碼方法)直接用SDL(跨平臺多媒體開發庫)或者使用GDI(圖形設備接口)直接渲染,由于WPF(基于Windows的用戶界面框架)與傳統WinForm(Windows窗體應用程序)不同,它的窗體才具有句柄而其中的控件是沒有分配系統句柄的,者帶來的問題是需要使用WindowHost來渲染播放視頻,然而這樣做會帶來很多兼容性,比如播放畫面必然置頂,無法再播放畫面上覆蓋其它控件,因此本發明提供了一種能兼容WPF播放ffmpeg解碼視頻流的方法,具有更高的兼容性,不會破壞原有WPF的布局。
發明內容
本發明的目的在于克服現有技術中的問題,提供一種能兼容WPF播放視頻流的處理方法、系統及裝置,能夠提高控件的兼容性,避免控件必須置頂的情況發生。
為解決現有技術問題,本發明公開了一種能兼容WPF播放視頻流的處理方法,包括如下過程:
解碼視頻源得到YUV數據;
將YUV數據轉為bitmap,將bitmap放入共享內存;
讀取該bitmap并使用圖片控件對目標幀進行渲染。
進一步地,
所述解碼視頻源得到YUV數據的具體過程如下:
使用ffmpeg從視頻源中讀取幀并將其存入隊列;
從隊列中取出原始幀,然后用相應的解碼器解碼得到YUV數據。
進一步地,
所述將YUV數據轉為bitmap的具體過程如下:
將YUV數據進線性處理得到對應的Y'、U'、V'值;
根據Y'、U'、V'分別計算得到對應的R、G、B值。
進一步地,
所述將YUV數據進線性處理得到對應的Y'、U'、V'值的步驟中,Y取值16~235,U取值16~240,V取值16~240。
進一步地,
所述將YUV數據進線性處理得到對應的Y'、U'、V'值的步驟中,Y'、U'、V'的計算公式分別為:
Y'=Y*[(235-16)/255]+16;
U'=U*[(240-16)/255]+16;
V'=V*[(40-16)/255]+16。
進一步地,
所述根據Y'、U'、V'分別計算得到對應的R、G、B值的步驟中,R、G、B的計算公式分別為:
R=(298*Y'+411*V'-57344),R>>8;
G=(298*Y'-101*U'-211*V'+34739),G>>8;
B=(298*Y'+519*U'-71117),B>>8。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京巨鯊顯示科技有限公司;南京巨鯊醫療科技有限公司,未經南京巨鯊顯示科技有限公司;南京巨鯊醫療科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202010000471.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種牛羊自動秤重計數系統及方法
- 下一篇:一種智能微電網控制裝置





