zoukankan      html  css  js  c++  java
  • 网页直播/点播播放器支持httpflv/rtmp/m3u8等播放音视频流媒体播放器EasyPlayerRTMPiOS播放视频宽高变化导致播放器停止运行的问题解决

    背景分析

    RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。

    RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。

    EasyPlayer-RTMP播放器是一套RTMP专用的播放器,包括有:Windows、Android、iOS三个平台,区别于市面上大部分的通用播放器,EasyPlayer-RTMP系列始于成熟的商业项目,得到了各行各业(尤其是安防行业)的广泛应用,EasyPlayer-RTMP更加精炼、更加专注,具备非常低的延时,非常高RTMP协议兼容性,编码数据解析等方面,都有非常大的优势,尤其是在有特殊参数/私有自定义字段的情况下,非常容易进行定制和兼容。

    EasyPlayer-RTMP-iOS播放视频宽高变化了,播放器崩溃

    分析问题

    播放过程中,当视频宽高变化了,解码器会崩溃,导致app停止运行。

    解决问题

    视频帧解码前,当获取到关键帧I帧时,当前帧的宽高需要和之前帧的宽高作比较,并记录下是否有变化:

    当isInit为YES时,需要重新初始化解码器:

  • 相关阅读:
    Python-selenium 下拉框定位
    Python3+Selenium3自动化测试-(五)
    Python3+Selenium3自动化测试-(四)
    Python3+Selenium3自动化测试-(三)
    Python3+Selenium3自动化测试-(二)
    Python3+Selenium3自动化测试-(一)
    python selenium 下载安装(一)
    Elasticsearch查询——布尔查询Bool Query
    centos7 重启网卡失败
    kibana 创建饼图
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/12028011.html
Copyright © 2011-2022 走看看