Android WebRTC视频旋转问题
生活随笔
收集整理的這篇文章主要介紹了
Android WebRTC视频旋转问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? 最近在對接WebRTC到安卓手機上,有個需求就是手機橫屏時將對方圖像進行旋轉,研究了WebRTC video_render的代碼后發現遠端的視頻渲染使用opengles20或surfaceview實現,其中opengles20使用硬件渲染,因此性能更好,所以只需將video_render_opengles20.h中的VideoRenderOpenGles20類加上旋轉接口即可。
opengles20和opengles相比取消了glRotatex等操作函數,旋轉操作改為由shader的頂點渲染實現,改寫的shader代碼如下:
uniform mat4 uMVPMatrix; //總變換矩陣 attribute vec4 aPosition; //頂點位置 attribute vec2 aTextureCoord; varying vec2 vTextureCoord; void main() { gl_Position = uMVPMatrix * aPosition; //根據總變換矩陣計算此次繪制此頂點位置vTextureCoord = aTextureCoord;//將接收的顏色傳遞給片元著色器 }
注意添加了變換矩陣uMVPMatrix,在繪制前調用:
int muMVPMatrixHandle = glGetUniformLocation(mProgram, "uMVPMatrix");
mMMatrix.setRotate(rotate);
glUniformMatrix4fv(muMVPMatrixHandle,?1,?false, (float*)mMMatrix);
?
轉載于:https://www.cnblogs.com/zentel/p/4957467.html
總結
以上是生活随笔為你收集整理的Android WebRTC视频旋转问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 南昌哪里可以学习汽车喷涂技术?
- 下一篇: 预算单位和非预算单位的区别