首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏韩曙亮的移动开发专栏

    ijkplayer】编译 Android 版本的 ijkplayer ① ( Ubuntu 安装 Git 软件 | 下载 ijkplayer 代码 )

    文章目录 一、安装 Git 软件 二、下载 ijkplayer 代码 参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ; 一、安装 Git 软件 --- - 执行 sudo apt-get install git 命令 , 安装 git 软件 , 完整执行过程如下 : root@octopus:~/ijkplayer# root@octopus:~/ijkplayer ) 博客 ; 二、下载 ijkplayer 代码 ---- 编译环境 : Ubuntu 18.04.4 ; 下载该 ijkplayer 代码 : 执行 git clone https://github.com /Bilibili/ijkplayer.git ijkplayer-android 命令 , 下载 ijkplayer 代码 ; root@octopus:~/ijkplayer# root@octopus :~/ijkplayer# git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android 正克隆到 'ijkplayer-android

    59420编辑于 2023-03-30
  • 来自专栏Android相关

    Ijkplayer编译

    背景 希望能够打印Ijkplayer在各个阶段运行时的时间,以此为标准进行优化 编译过程 下载源代码 进入github/Bilibili/ijkplayer,clone该项目到本地 git clone https://github.com/Bilibili/ijkplayer.git 配置NDK以及SDK目录 在mac上进入~/.bash_profile或者~/.profile文件中,加入路径配置 /compile-ijk.sh all:编译所有版本的ijkplayer ? 编译完成 备注 ijkplayer最好用ndk-r10e来进行编译,否则会出现很多Cmake等等问题 测试 打开Android Studio,打开/android/ijkplayer工程,配置一下Gradle 版本 运行ijkplayer-example即可

    1.3K30发布于 2018-10-24
  • 来自专栏码上就说

    白嫖ijkplayer

    我们要引入ijkplayer播放器的时候,发现一个小小的缺陷就是so库太大了,一般有3个so库: jeffmony@JeffMonydeMacBook-Pro arm64-v8a % ls -hl total 但是ijkplayer毕竟只是播放视频才用到的。但是ijkplayer底层是基于ffmpeg的ffplay播放框架,也就是说ffmpeg也集成到了libijkffmpeg.so中了。 2.native接口不用和ijkplayer的上层写在一起,可以单独写,完全不影响。 /PlayerSDK 3.修改ffmpeg库链接顺序 使用libijkffmpeg.so运行的时候总是发现有一些库函数找不到, 例如: /home/jeffmony/github/PlayerSDK/ijkplayer libavcodec 库需要放在 libavutil 库的左边,这样链接时才能正常,可以参考如下链接顺序: -lavdevice -lavfilter -lavformat -lavcodec -lavutil ijkplayer

    1.7K20发布于 2020-11-11
  • 来自专栏字节流动

    ijkplayer 源码分析

    本文基于0.8.8版本的 ijkplayer ,对其源码进行剖析,涉及到不同平台下的封装接口或处理方式时,均以 Android 为例。 ijkplayer 是一款比较出众的开源 Android/iOS 跨平台播放器,基于 ffplay,API 易于集成,可定制编译控制体积。 一般而言, ijkplayer 就是指 IjkMediaPlayer,本文分析的对象就是 IjkMediaPlayer. 对 ijkplayer 不熟悉的同学建议参看源码阅读本文。 ijkplayer 几乎完全由 c 实现,函数指针随处可见,方便编程。

    2.5K30发布于 2021-06-09
  • 来自专栏Android相关

    Ijkplayer打印FFMpeg日志

    背景 在打印Ijkplayer播放日志的过程中,在ijkplayer中日志可以正常输出。 /compile-ffmpeg.sh armv7a编译的是/ijkplayer/android/contrib/ffmpeg-armv7a路径下的ffmpeg库,而不是extra下面的ffmpeg 在ijkplayer 的ff_player.c中的ffp_global_init通过av_log_set_callback注册好回调函数,然后即可通过该函数将ffmpeg库中的输出重定向到ijkplayer中 这步完成后, ((void)__android_log_print(level, TAG, __VA_ARGS__)) #endif 最后在修改完ffmpeg中的日志后,需要进入/ijkplayer/android /contrib重新编译ffmpeg库,编译完后,再编译ijkplayer

    2.8K30发布于 2018-10-24
  • 来自专栏韩曙亮的移动开发专栏

    ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-androidandroid 目录 | 执行 compile-ijk.sh 脚本完成编译 )

    root@octopus:~/ijkplayer/ijkplayer-android/android# root@octopus:~/ijkplayer/ijkplayer-android/android ] Compile thumb : ijkplayer <= ijkmeta.c /root/ijkplayer/ijkplayer-android/android/ijkplayer/ijkplayer-armv7a /ijkplayer-android/android/ijkplayer/ijkplayer-arm64/src/main/jni/ijkmedia/ijkplayer/ijkplayer.c:153: : ijkplayer <= ijkiomanager.c /root/ijkplayer/ijkplayer-android/android/ijkplayer/ijkplayer-arm64 ijkplayer <= ijkmeta.c /root/ijkplayer/ijkplayer-android/android/ijkplayer/ijkplayer-x86_64/src/main/

    93120编辑于 2023-03-30
  • 来自专栏Android相关

    IjkPlayer起播速度优化

    ijkplayer播放主要流程 根据链接的schema找到对应的URLProtocol。 packet 同步到read_thread线程后,装入pakcetQueue中 在video_refresh_thread线程中,读取packetQueue中的包,进行时钟同步 开始绘制视频,播放音频内容 ijkplayer

    5.4K20发布于 2018-10-24
  • 来自专栏Android 开发学习

    音频开发ijkplayer小结 android

    最近接触到一些音频开发的操作和一个音频开发的三方库: github:https://github.com/Bilibili/ijkplayer。 compile 'tv.danmaku.ijk.media:ijkplayer-java:0.5.0' compile 'tv.danmaku.ijk.media:ijkplayer-armv7a 'tv.danmaku.ijk.media:ijkplayer-arm64:0.5.0' compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.5.0' experimental compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.5.0' } 2. ijkplayer支持的操作: 首先可参见:MediaPlayer 说起来也不算是坑,ijkplayer不支持开播未prepared时,seek进度。(据说是与ffmpeg有关,不觉明历)。 让且换播放源,同时能快进。

    2.1K20发布于 2018-06-01
  • 来自专栏Android相关

    IjkPlayer初始化过程

    背景 最近调研做视频秒开,使用B站开源的ijkplayer作为播放器。ijkplayer基于ffmpeg的播放器。 ijkplayer使用 创建IjkMediaPlayer对象 通过setDataSource设置播放路径 调用prepareAsync让播放器开始工作 JNI_OnLoad 当ijkplayer.so被加载时 ,会回调到IjkPlayer_jni.c中的JNI_OnLoad中,最主要调用ijkmp_global_init初始化 啊 ijkPlayer播放流程 在IjkMediaPlayer的构造函数中, 会调用 loadLibrariesOnce加载libijkffmpeg,ijksdl,ijkplayer这三个so 调用native_init打印了一行日志 初始化当前线程Looper所使用的Handler 如果在有Looper的子线程初始化的话,则会在该子线程进行消息循环 如果没有Looper的子线程,则使用主线程进行消息循环 初始化一个Native层的IjkPlayer的引用 private void

    2.2K10发布于 2018-10-24
  • 来自专栏韩曙亮的移动开发专栏

    【错误记录】记录处理 ijkplayer 依赖问题 ( jcenter 仓库问题 | 查找并配置 ijkplayer 源 | 手动在本地配置 ijkplayer 依赖库 )

    :ijkplayer-java:0.8.8 /ijkplayer-java-0.8.8.pom'. /ijkplayer-java-0.8.8.pom' /ijkplayer-armv7a-0.8.8.pom' /ijkplayer-exo-0.8.8.pom'

    2.3K20编辑于 2023-10-15
  • 来自专栏Android相关

    IjkPlayer数据读取-read_thread

    至此,ijkplayer的prepared过程结束。 参考资料 ijkplayer-android框架详解 ijkPlayer主流程分析 IjkPlayer播放器秒开优化以及常用Option设置 直播中的首屏加载优化

    2K30发布于 2018-10-24
  • 来自专栏韩曙亮的移动开发专栏

    ijkplayer】编译 Android 版本的 ijkplayer ⑤ ( 执行 init-android-libyuv.sh | 执行 init-android-soundtouch.sh )

    ://github.com/bilibili/ijkplayer 项目的编译过程 ; 一、进入 ijkplayer-android 目录 ---- ijkplayer-android 目录是整个源码的根目录 /init-android-libyuv.sh 命令 , 下载 libyuv 依赖库 , 之后编译 ijkplayer 需要用到 ; 执行过程 : root@octopus:~/ijkplayer/ijkplayer-android 切换到一个新分支 'ijk-r0.2.1-dev' /root/ijkplayer/ijkplayer-android root@octopus:~/ijkplayer/ijkplayer-android /ijkplayer-android# root@octopus:~/ijkplayer/ijkplayer-android# . 切换到一个新分支 'ijk-r0.1.2-dev' /root/ijkplayer/ijkplayer-android root@octopus:~/ijkplayer/ijkplayer-android

    1K20编辑于 2023-03-30
  • 来自专栏Android 开发学习

    IjkPlayer 源码阅读一 初始化

    2 分析入口 分析的连接https://github.com/Bilibili/ijkplayer 版本号: 0.8.1.2 android版 基本上IjkPlayer的接口和MediaPlayer https://github.com/Bilibili/ijkplayer/blob/5b73bf7eae66a3942e2689ecbe6e51b679abe161/android/ijkplayer ijkmp_global_init(); ijkmedia/ijkplayer/ijkplayer.c void ijkmp_global_init() { ffp_global_init 代码位于 https://github.com/Bilibili/ijkplayer/blob/eb265a564f471e91778158156ab49d46bb00197d/android/ijkplayer 兼容了系统,ExoPlayer,及IjkPlayer(默认)。

    2.5K20发布于 2018-06-06
  • 来自专栏移动开发之家

    IJKPlayer问题集锦之不定时更新

    大家吼,不知名程序猿小郭同学又冒泡啦,今天是主角是:业界知名,天朝最大异(tong)性交友平台,BILIBILI开源的视频播放器项目,基于FFMPEG的IJKPlayer<( ̄ˇ ̄)/···的问题集锦! 1、IJKPlayer 不像系统播放器会给你旋转视频角度,所以你需要通过onInfo的what == IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED去获取角度 默认IJKPlayer是不支持3pg(支持它干啥(・-・)?),不支持mepg(比如这个库RecordVideoDemo ),不支持AMR。 ,但是它们在细节上,却没有IJK处理的好,如EXOPlayer:退到后再回到前台、切换渲染控件的黑屏一段时间问题,除了用seekto之外目前没发现其他办法,这样的体验让我最后还是选择IJKPlayer。 12、设置cookie 可以通过ijkPlayer的public void setDataSource(String path, Map<String, String> headers) 的header

    4.3K40发布于 2018-08-22
  • 来自专栏向治洪

    记一次ijkplayer的编译过程

    ijkplayer框架的源码地址: https://github.com/Bilibili/ijkplayer Mac上编译ijkplayer 安装软件 在Mac上编译ijkplayer之前,需要先安装一些基本的软件 下载ijkplayer和编译ijkplayerijkplayer框架源码clone到本地并编译,依次在终端输入如下命令。 git clonehttps://github.com/Bilibili/ijkplayer.git ijkplayer-android cd ijkplayer-android 然后执行初始化,此时会从网上自动拉代码 ,主要是ijkplayer的一些基层类库,时间比较长。 如果正确编译的话,会分别在ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64这些项目的src/

    1.9K20发布于 2020-01-14
  • 来自专栏移动开发之家

    IJKPlayer编译so支持HTTPS的踩坑历程

    sudo apt-get install git sudo apt-get install yasm 下载IJKPlayer源码,在命令终端里cd到ijk的根目录 切换到release版本的tag下,当然 4、IJKplayer 编译rtsp、rmvb支持 相关的so已经集成到播放器里面,需要的可以直接拿出来用,下方链接走起<( ̄︶ ̄)>,点我点我。

    1.8K30发布于 2018-08-22
  • 来自专栏韩曙亮的移动开发专栏

    ijkplayer】编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )

    文章目录 一、安装 make 软件 二、安装 yasm 软件 三、执行 compile-ffmpeg.sh all 命令编译 ffmpeg 参考 https://github.com/bilibili/ijkplayer

    1.5K20编辑于 2023-03-30
  • 来自专栏码上就说

    Ijkplayer、ExoPlayer、VLC播放器综合比较

    ,所以ijkplayer采用ffmpeg作为音视频播放器的基础也是可以理解的; ffmpeg中提供了ffplay 和 SDL(Simple DirectMedia Layer) 功能模块,是ffmpeg 视频播放的集大成;整个ijkplayer就是以ffplay为基础展开的; ? IjkPlayer的架构以FFplay为核心,FFplay基于FFmpeg,FFmpeg具备强大的扩展性,所以Ijkplayer的拓展能力主要是FFmpeg的拓展能力; IjkPlayer的整体流程比较清晰 优点: 1.ijkplayer结构比较简单,基本以ffplay展开,开发难度较小; 2.ijkplayer包比VLC小一点,经过裁剪,约为4.2M左右; 缺点: 1.ijkplayer可扩展性较差,基本上没有提供 ,ijkplayer目前的缺点是维护的不那么勤了; 4.长远来看,国内很多播放器都从接入ijkplayer开始,逐渐演化,去掉不适合自己产品的代码,引入自己需要的module,渐渐变成自己的播放器; 下面看看七牛播放器的演进之路

    10.1K20发布于 2020-12-11
  • 来自专栏along的开发之旅

    ffmpeg和ijkplayer里的skip_loop_filter

    32, AVDISCARD_ALL = 48  } Definition at line 802 of file avcodec.h. https://github.com/Bilibili/ijkplayer

    1.8K10发布于 2019-07-10
  • 来自专栏音视频专栏

    一键编译ijkplayer(Mac生成Android库)

    ijkplayer编译 基本参照官方说明,这里简单记录一下过程。 1. /configure –list-decoders命令来进行查看:(太多了,截取了部分,可以自行运行命令) 查看支持解码器 image.png 编译 cd ijkplayer-android git ├── gradlew ├── gradlew.bat ├── ijkplayer-arm64 ├── ijkplayer-armv5 ├── ijkplayer-armv7a ├── ijkplayer-example ├── ijkplayer-exo ├── ijkplayer-java ├── ijkplayer-x86 ├── ijkplayer-x86_64 ├── settings.gradle └── tools 编译IOS的参考 https://github.com/hupfei/MAC-ijkplayer 参考文章 Android IjkPlayer编译(Mac) ijkplayer是否支持H.265

    2.2K50发布于 2020-05-14
领券