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播放器播放效果:

  • 相关阅读:
    Redis的事务、锁及管理命令
    Redis消息队列
    Redis管理实战
    Redis入门部署及持久化介绍
    MySQL的存储引擎
    MHA高可用及读写分离
    jquery css hover
    SqlParameter 中 top 的使用
    Jquery 操作DropDownList 根据条件选中
    js 数值格式化函数
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13432807.html
Copyright © 2011-2022 走看看