草庐IT

ijkplayer

全部标签

如何复用ijkplayer库实现ffmpeg的功能

ijkplayer库介绍现在ijkplayer播放器应用的非常广泛,很多播放器基本上都是基于ijkplayer二次迭代开发的,众所周知,ijkplayer是基于ffplay的,所以要使用ijkplayer,就必须使用三个so库。jeffmony@JeffMonydeMacBook-Proarm64-v8a%ls-hltotal21240-rwxr-xr-x1jeffmonystaff 9.6M43000:25libijkffmpeg.so-rwxr-xr-x1jeffmonystaff 348K43000:25libijkplayer.so-rwxr-xr-x1jeffmonystaff 47

探索iOS自定义ijkplayer画中画播放

iOS提供AVPictureInPictureController用于画中画播放控制,但是只能绑定AVPlayer使用,对于开发者来说挺头痛的。在iOS15.0后呼之欲出,支持SampleBufferDisplayLayer自定义数据源显示图层,意味着我们可以自定义第三方播放器实现画中画。以ijkplayer为例,让我们一起探索如何支持画中画播放。目录一、判断画中画支持二、后台播放配置1、配置AudioSession2、配置后台模式三、画中画生命周期1、从全屏进入画中画2、退出画中画回到全屏3、生命周期 四、画中画创建流程1、初始化2、提供start和stop方法3、实现画中画代理方法4、更新

ijkplayer 支持srt协议 rtmp协议编译步骤

写在前面ffafaf这个编译真的太垃圾了一堆毛病感受下webrtc傻瓜式编译环境首先必须ndk是android-ndk-r15c或者 android-ndk-r14b ubuntu系统随便22或者20,18都行有个非常重要的点python必须是2.7不然你会看到一大堆报错高版本的ubuntu默认都是python3了所以你得查看下python版本配置python为python2怎么搞百度不贴了配置下androidndkandroid_NDK版本到环境变量我这是.bash_profile弄完后source~/.bash_profile一下 (他这个脚本写的很垃圾一定要用ANDROID_NDKAND

移动端开源播放器对比与选型(ExoPlayer/ijkplayer/VLC/GStreamer/SmarterPlayer)

一、各播放器简述1、ExoPlayerExoPlayer是Google推出的开源播放器,主要是集成了Android提供的一套解码系统来解析视频和音频,将MediaCodec封装地非常完善,并加入了对DASH和HLS等直播协议的支持,形成了一个性能优越,播放稳定性较好的一个开发播放器。Github:https://github.com/google/ExoPlayerstarforkissue20.5k5.9k723跨平台特性:只支持Android优点:接入包体积小,1.1M护团队强大,更新速度快缺点:不跨平台,不太适合直播可扩展性一般,视频软解接入较麻烦适合播放场景简单的项目,播放过程中无切换

ijkplayer 播放mpeg2video编码视频花屏

概要正常情况下,ijkplayer自行编译时,我们使用config/module-lite.sh配置,即可满足大部分需求。但是该配置不支持mpeg相关的视频编码播放。通常,我们会使用如下方式添加对特定格式的支持:#添加需要支持的格式的解码器#mpegexportCOMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS--enable-decoder=mpeg1video"exportCOMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS--enable-decoder=mpeg2video"如果我们将该配置片段添加到config/modul

ijkplayer 播放mpeg2video编码视频花屏

概要正常情况下,ijkplayer自行编译时,我们使用config/module-lite.sh配置,即可满足大部分需求。但是该配置不支持mpeg相关的视频编码播放。通常,我们会使用如下方式添加对特定格式的支持:#添加需要支持的格式的解码器#mpegexportCOMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS--enable-decoder=mpeg1video"exportCOMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS--enable-decoder=mpeg2video"如果我们将该配置片段添加到config/modul

ijkplayer 源码解析1(重要结构体介绍)

`ijkplayer`作为b站开源的播放器,在业界享誉盛名,深受开发者喜爱,因为底层采用ffmpeg解码,支持主流的流媒体协议,再软件兼容度上非常高;今天我们就针对`ijkplayer`做一些源码分析,帮助那些喜爱`ijkplayer`但是苦于2w多行代码无从下手的同学们系列文章讲解将按照以下顺序进行分析,以方便读者理解;[1.重要结构体分析](https://www.jianshu.com/p/b4668829697e)[2.读数据线程解析](https://www.jianshu.com/p/beae71ada78d)[3.音频包解析和音频播放解析](https://www.jianshu

重新编译ijkplayer,实现鸿蒙RTSP播放

亲测可用,并且实现了h264编码播放Linux编译环境搭建资源下载:android-sdk_r24.4.1-linux.tarjdk-8u112-linux-x64.tar.gzandroid-ndk-r13b-linux-x86_64.zip安装homebrew,git,yasm编译Android的ijkplayer从Android移植到Harmony测试Linux编译环境搭建博主的环境:VMwaveWorkstation下的ubuntu18.04jdk-8u112-linux-x64.tar.gzandroid-ndk-r13-linux-x86_64.zipandroid-sdk_r24

ijkplayer基于rtsp直播延时的深度优化

现在ijkPlayer是许多播放器、直播平台的首选,相信很多开发者都接触过ijkPlayer,无论是Android工程师还是iOS工程师。本文主要是总结,也是与大家探讨RTSP直播的延时优化。目录一、修改编译脚本支持RTSP二、修改播放器的option参数三、网络抖动的丢包四、解码器设为零延时五、减少FFmpeg拆帧等待延时1、找到当前帧结束符2、去掉parse_packet的while循环3、修改av_parser_parse2的帧偏移量4、去掉parser_parse的寻找帧起始码5、修改parser.c的组帧方法一、修改编译脚本支持RTSPijkPlayer默认是没有把RTSP协议编译进

ijkplayer基于rtsp直播延时的深度优化

现在ijkPlayer是许多播放器、直播平台的首选,相信很多开发者都接触过ijkPlayer,无论是Android工程师还是iOS工程师。本文主要是总结,也是与大家探讨RTSP直播的延时优化。目录一、修改编译脚本支持RTSP二、修改播放器的option参数三、网络抖动的丢包四、解码器设为零延时五、减少FFmpeg拆帧等待延时1、找到当前帧结束符2、去掉parse_packet的while循环3、修改av_parser_parse2的帧偏移量4、去掉parser_parse的寻找帧起始码5、修改parser.c的组帧方法一、修改编译脚本支持RTSPijkPlayer默认是没有把RTSP协议编译进