ffplay+SDL2+opengles在iOS中使用(参考ijkplayer)

本文描述了如何将FFplay移动端支持从C语言改造为C++类结构,以支持创建多个player对象,包括创建FSPlay和FSCmdUtils类,提供公开接口如视频渲染、参数设置和暂停功能。同时介绍了如何在iOS环境中使用和FFmpeg、SDL2的集成。
  1. ffplay依赖ffmpeg版本

    ffmpeg: origin/release/4.4分支
  2. ffplay移动端支持改造

    1. 改造为c++类面向对象以便支持创建多个player对象
      1. 创建FSPlay c++ class,将所有原c语言方法改成FSPlay的类中的方法。
      2. 类中的方法需要对外提供接口的在FSPlay.hpp中将其声明为public,不需要对外提供的声明为private。
      3. 将原c语言全局变量修改为FSPlay中的变量。
      4. 将cmdutils按同样的方式改造成FSCmdUtils c++ class。
      5. 将config.h文件加入进来。
    2. 改造ffplay-main方法支持传入播放url,渲染view,参数设置回调等数据
      1. 对外接口为int ffplay_main(void *openglesView, char *url, SetParamsCallback paramsCallback, RenderFrameCallback renderCallback);
      2. 其中openglesview为渲染view,url为播放url,paramsCallback为参数设置回调,renderCallback为渲染回调,视频帧通过renderCallback回调给渲染view。
    3. 添加ffplay_stream_close方法用于清空原C语言占用全局变量
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王方帅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值