zoukankan      html  css  js  c++  java
  • 视频流媒体播放器EasyPlayerRTSP是怎样渲染画面的?

    视频播放必然涉及到画面渲染,比如我们的视频流媒体播放器,不管是什么版本,都需要对画面进行渲染才能正常播放。

    在博客EasyPlayer-RTMP-iOS使用YUV渲染画面的方法里,我们介绍了视频流媒体播放器渲染的方式,是解码后获取的视频帧,需要分解成Y、U、V的值,再送到OpenGLES去渲染。

    但我们也遇到了一个问题:EasyPlayer-RTSP-Android 使用硬解码得到的视频帧数据,渲染出来的画面是黑白的,如何解决?

    分析问题:

    我们在调出硬解码数据检查之后,发现硬解码得到的YUV数据的格式没有确定,导致JNIUtil转码数据出错,OpenGLES渲染出来的画面,都是黑白色。

    解决问题:

    1、硬解码,指定解码后的帧格式:
    format.setInteger(MediaFormat.KEY_COLOR_FORMAT, COLOR_FormatYUV420Flexible);

    2、解码得到的YUV需要经过JNIUtil.yuvConvert转换,再渲染,视频播放画面就会恢复正常。

  • 相关阅读:
    iscroll.js
    HTML 第九章总结
    HTML第八章总结
    HTML第七章总结
    HTML第六章总结
    HTML第五章总结
    HTML第四章总结
    HTML第三章总结
    HTML第二章总结
    HTML第一章总结
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13156266.html
Copyright © 2011-2022 走看看