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

  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13432807.html
Copyright © 2011-2022 走看看