• 视频流媒体播放器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播放器播放效果:

  • 相关阅读:
    js函数的属性和方法
    php中str_repeat函数
    html5中的空格符
    php实现简单算法3
    php intval函数
    什么是全栈工程师
    配置Log4j(非常具体)
    【解决】/usr/bin/ld: cannot find -lc
    Java的位运算符具体解释实例——与(&)、非(~)、或(|)、异或(^)
    【小白的java成长系列】——顶级类Object源代码分析
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13432807.html
Copyright © 2020-2023  润新知