生活随笔
收集整理的這篇文章主要介紹了
视频显示边缘空白的真相
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ?在多媒體開發過程中,難免會使用到video這一類型。但一直有部分開發者或產品人員總提出 “視頻畫面沒有充滿”其給定的窗口,其原因在于對視頻不了解,想當然的去認為要“充滿”。被問到此問題只能苦笑一聲,哭笑不得。
? ? ? ? ?先看下幾個效果:
? ? ? ? ?左右空白 ??? ? 顯示窗口320*240 ,視頻分辨率720*576? ? ? ? ?上下空白 ? ? ??顯示窗口320*240 ,視頻分辨率1280*720? ? ? ? ?上下左右空白 ?顯示窗口320*240,視頻分辨率240*180 ,這種很少見或沒見過吧。
看了上面3個圖,是否想到了什么?沒想到繼續看下面:
第1、2都是正常的顯示樣子,由于窗口和畫面長寬比例比一致,留空白是為了保持
畫面比例,“適應窗口”顯示,如何適應,一句話:總有一邊充滿就對了。此時和原有的畫面比例是一直的。此時如要完全充滿,那就是拉伸的,后果就是變寬(1)或變長(2); ? ? ? ?舉個例子,如果視頻顯示的是一個人,第一種全部充滿后臉會變胖 (寬),第二種全部充滿后臉會變長(豎直方向)。至于第三種窗口和畫面長寬比剛好相等,都是4:3,因此剛好能填充窗口而不變形,但由于放大到窗口大小,實際效果可能會變模糊,但一般都會充滿,這也是很少或沒有見過第三種顯示方式的原因。
此外,由于平臺的不同以及產品設計不同,不論是適應寬還是高,渲染的時候都有不同程度的縮放,可能是放大,也可能是縮小,看起來畫面比例是一樣的就是正確的。當然,有的產品設計
不計較變形問題,
就要充滿窗口,這就需要渲染有模式可選。
Gensee Android sdk的GSVideoView 根據用戶的不同需求,提供了如下接口:
setRenderMode(RenderMode renderMode)?
? ? ? ??
public enum RenderMode {RM_FILL_XY, //填充窗口(畫面比失調)RM_ADPT_XY, //適應窗口(窗口可能會有邊緣空白)RM_CENTER,RM_FILL_CENTER_CROP //以小邊放大或縮小 并裁剪后充滿窗口(一般用于手機全屏直播)}
總結
以上是生活随笔為你收集整理的视频显示边缘空白的真相的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。