zoukankan      html  css  js  c++  java
  • 视频流媒体播放器EasyPlayerProiOS版本如何扩展Ijkplayer解码方式?

    ijkplayer播放器原本是开源比较便捷的播放器,是一个基于FFmpeg的轻量级Android/iOS视频播放器。Ijkplayer框架中,解码方式的选择只有智能硬解(硬解失败,自动转软解)、软解两种,功能上讲,两种方式已够用,但偶尔也有需求让扩展成用户自选的三种解码方式:智能、硬解、软解。

    EasyPlayerPro-iOS如何扩展Ijkplayer解码方式?

    下面讲解如何在原框架中,扩展出“硬解”的选项,及其失败后对应的消息处理:

    1、在 ff_ffplay_options.h 文件下修改“videotoolbox”的最大值,范围由0 ~ 1,扩展到0 ~ 2:

    { "videotoolbox",
    	"VideoToolbox: enable",
    	OPTION_OFFSET(videotoolbox),
    	OPTION_INT(0, 0, 2)
    }
    

    2、在工程中创建播放器时,设置options选项,来选择视频的解码方式(默认是软解):

    [options setOptionIntValue:1 forKey:@"videotoolbox" 
    												ofCategory:kIJKFFOptionCategoryPlayer];
    

    3、在实现选择解码方式的方法之前,需要先创建一个硬解失败的标志位,通过判断它来决定是否需要发送硬解失败的错误提示:
    在 ff_ffpipeline.h 中,修改结构体:IJKFF_Pipeline 添加布尔值 * bool video_decoder_from_ios_videotoolbox_failed;*

    EasyPlayer播放器播放效果:

  • 相关阅读:
    Java io 理解
    Java应用的理解
    Flyweight 享元模式
    Bridge 桥梁模式
    Decrator 装饰模式
    [CF997C]Sky Full of Stars_二项式反演_等比数列_容斥原理
    [CF1010D]Mars Over_位运算性质
    [CF991D]Bishwock_状压dp
    [Agc030B]Tree Burning_贪心
    [Cometoj#4 E]公共子序列_贪心_树状数组_动态规划
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13432807.html
Copyright © 2011-2022 走看看