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时,需要重新初始化解码器:

  • 相关阅读:
    微信小程序中,block的作用
    关于小程序 页面中的生命周期函数
    MySQL -- 修改root密码
    Python3 -- time 获取任意前N天的日期
    linux -- 解决配置vim中文乱码的问题
    Linux -- iTem2 长时间保持会话(不断开)
    数据结构与算法 -- Python实现【归并排序算法】
    Git -- 目录
    Linux -- screen 命令
    python3 -- Linux 离线安装pip3方法
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/12028011.html
Copyright © 2011-2022 走看看