ijkplayer

Android播放器开源项目

[亡魂溺海] 提交于 2019-12-28 04:00:22
1.ijkplayer 项目地址: https://github.com/Bilibili/ijkplayer 介绍:Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供 Android 平台下应用弹幕集成的解决方案。 2.ExoPlayer 项目地址:https://github.com/google/ExoPlayer 介绍:ExpPlayer是一个开源的,App等级的媒体API,它的开源项目包含了library和示例:ExoPlayer library - 这部分是核心的库 Demo app - 这部分是演示怎么使用ExoPlayer的Demo 3.android-UniversalMusicPlayer 项目地址:https://github.com/googlesamples/android-UniversalMusicPlayer android-UniversalMusicPlaye1.android-UniversalMusicPlaye 介绍:这是一个音乐播放的 App,是一个非常好的范例,告诉你如何编写一个在 Android Phone、Tablet、TV、Wear、Auto ... 都能很好呈现的

iOS----集成ijkplayer视频直播

佐手、 提交于 2019-12-18 00:59:05
ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijkplayer, 即便以前从没有接触过, 按着下面做也可以集成成功! 一. 下载ijkplayer ijkplayer下载地址 下载完成后解压, 解压后文件夹内部目录如下图: 二. 编译 ijkplayer 说是编译 ijkplayer, 其实是编译 ffmpeg, 在这里我们已经下载好了ijkplayer, 所以 github 上README.md中的Build iOS那一步中有一些步骤是不需要的. 下面开始一步一步编译: 1.打开终端, cd 到jkplayer-master文件夹中, 也就是下载完解压后的文件夹, 如下图: 2.执行命令行./init-ios.sh, 这一步是去下载 ffmpeg 的, 时间会久一点, 耐心等一下.如下图: 3.在第2步中下载完成后, 执行cd ios, 也就是进入到 ios目录中, 如下图: 4.进入 ios 文件夹后, 在终端依次执行./compile-ffmpeg.sh clean和./compile-ffmpeg.sh all命令, 编译 ffmpeg, 也就是README.md中这两步, 如下图: 编译时间较久, 耐心等待一下. 三.

正确编译ijkplayer

醉酒当歌 提交于 2019-12-17 23:03:01
原文首发于微信公众号:躬行之(jzman-blog),欢迎关注交流! 最近项目中可能需要视频播放,而且后期还可能要支持播放 rtsp 协议的视频,权衡了一下还是通过编译 B 站开源的 ijkplayer 吧,ijkplayer 是一个基于 ffmpeg 的轻量级的可在 Android 和 Ios 上使用的跨平台播放器,可以通过编译来实现更多格式的支持,可以说只要是 ffmpeg 支持的格式 ijkplayer 就支持。 刚开始使用 Cygwin 进行编译,但总是在生成 so 文件的时候出错,当然中间还有很多要踩的坑,于是决定使用 Ubuntu 环境编译 ijkplayer,在 Ubuntu 环境下编译时基本没有什么问题,编译过程如下: 准备 配置环境变量 安装必须组件 正式编译 运行ijkplayer 准备 安装 VMware 虚拟机并安装 Ubuntu 系统,安装完 VMware 之后创建虚拟机,选择典型安装模式,如下图所示: 然后点击下一步,选择已经下载的系统镜像,如下图所示: 正确选择后会显示出镜像信息,如我选用的是 Ubuntu 64 位 18.04 ,然后继续下一步,如下图所示: 填写用户名、密码等信息,点击下一步,如下图所示: 填写虚拟机名称以及虚拟机要安装的位置,点击下一步: 设置虚拟机磁盘大小,为了不降低磁盘性能选择将磁盘存储为单个文件,然后点击下一步,如下图所示:

On updating android stdio,Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException:

允我心安 提交于 2019-12-12 03:24:41
问题 Today when i had updated my android stdio , then i had seen following error , i can not understand cause for these error but it is giving a lot of truble . Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' finished with non-zero exit value 2 and these is also under previous error , Error:Note: Some input files use or override a

android编译ijkplayer生成so

▼魔方 西西 提交于 2019-12-10 13:32:15
ijkplayer官方github开源地址 https://github.com/Bilibili/ijkplayer 根据ijkplayer指导说明 第一步:安装git 第二步: 安装 yasm或者nasm (这两个都是汇编器) 在ubuntu系统上: 执行 cd ~ (~ 在linux中,代表当前用户主目录),切换到root用户,执行su命令,即管理员权限,下载安装yasm,执行命令 sudo apt-get install yasm 第三步:将android sdk 拷贝到ubuntu图对应盘符下,同时将android ndk 下载并拷贝到对应盘符,注意安卓NDK需要使用r10e的版本,要不会出现版本不兼容,导致编译失败 第四步:配置android sdk 和 android ndk到系统环境变量,执行cd ~ 命令, vi ~/.bashrc 在文件末尾添加以下内容: export ANDROID_SDK=/home/user-002/jiangdesheng/android_sdk/android-sdk ANDROID_NDK=/home/user-002/jiangdesheng/ndk/android-ndk-r10e export PATH=$ANDROID_NDK:$PATH 第五步:刷新对 bashrc 的修改,输入命令source ~/.bashrc

IOS 集成 ijkplayer遇到的问题

拟墨画扇 提交于 2019-12-09 20:38:46
1、配置环境和下载ijkplayer源码,编译步骤参照 http://www.jianshu.com/p/5218f8c952fb; git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios cd ijkplayer-ios git checkout -B latest k0.6.2 ./init-ios.sh cd ios ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all 2、编译完成后,打开IOS文件夹下面的IJKMediaPlayer,编译IJKMediaFramework.framework; 3、新建项目,将 IJKMediaFramework.framework 导入到项目中,调用接口即可; 集成过程中遇到的问题: 1、将 IJKMediaFramework.framework 导入到项目中,编译的时候 报错: Undefined symbols for architecture x86_64: "_clock_gettime", referenced from: _av_gettime_relative in IJKMediaFramework(time.o) ld: symbol(s) not found for architecture

Android layout collapse

断了今生、忘了曾经 提交于 2019-12-04 17:16:05
I use a XWalkView to load webpage and a IjkVideoView to play live video in my app. I want the IjkVideoView playing the video in front the XwalkView, so I put these two view in a relativelayout and IijVideoView behind the XWalkView. In the android studio's Component Tree of Design window the layout seems ok as below image, While when I run the app in my device, the layout is in mess as below image. You can see the background of IjkVieoView is in front of XWalkView, but the video playing in the IjkVideoView is behind the XWalkView, as the upper part of the video has been covered by the XWalkView

ijkplayer的集成和运用

匿名 (未验证) 提交于 2019-12-03 00:37:01
最近因项目需要了解和学习了关于直播的播放器集成,首先了解了ijkplayer的集成,ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明下面我记录一下我是如何在 iOS 中集成ijkplayer的,以便以后保存学习: 一、 下载ijkplayer ijkplayer的下载地址: https://github.com/Bilibili/ijkplayer 下载解压成文件夹 二、编译ijkplayer 1、 用终端编译ijkplayer,其实也就是编译FFmpeg,打开终端cd进入ijkplayer-master文件夹 2、在此文件夹下进行操作,执行命令行 ./init-ios.sh , 这一步是去下载 ffmpeg 的, 时间会久一点, 耐心等一下 3、下载完成以后,cd 到 ios 目录中 cd ios 4、然后依次执行 ./compile-ffmpeg.sh clean 和 ./compile-ffmpeg.sh all 命令,编译FFmpeg,过程有点长,耐心等待, 执行 ./compile-ffmpeg.sh all 命令时候可能出现下列问题: 此时 执行 sudo xcode-select --switch /Applications/Xcode.app 执行完之后再次执行 ./compile

【基于Ijkplayer】安卓机顶盒电视播放器开发

匿名 (未验证) 提交于 2019-12-03 00:32:02
Ijkplayer是B站开源的一款多媒体播放引擎,其基于ffmpeg开并支持很多的在线媒体播放格式。本文实现了在安卓TV上播放各大电视台的直播,其格式是.m3u8。当然了只要是编译的Ijkplayer支持的格式这款播放器自然可以播放。 首先上界面: 播放器界面非常简单,因为是用电视遥控器操作,所以布局和操作力求简单易用。布局分为播放区域和左侧菜单,按遥控器的确定按钮调出菜单,可以选择界面确认后进入播放界面。下面开始讲如何实现: 一,创建布局 播放器主界面布局文件activity_play_rel.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">

ijkplayer 音频播放线程

匿名 (未验证) 提交于 2019-12-03 00:22:01
音频播放有一部分在 ijkplayer读线程 中提到过,就是在读线程read_thread()中调用的stream_component_open()函数中会调用audio_open(),然后会调用aout->open_audio()函数,这个函数指针的赋值在 ijkplayer初始化流程 中的ff_ffpipeline_android.c/ func_open_audio_output()函数赋值,func_open_audio_output函数会先选择使用audiotrack还是opensles,这里以audiotrack为例,最终会调用SDL_CreateThreadEx(…, aout_thread, aout, …)创建音频输出线程 音频输出线程aout_thread函数里面又调用ijksdl_aout_android_audiotrack.c/aout_thread_n()函数,下面来看一下该函数的重点代码 static int aout_thread_n(JNIEnv *env, SDL_Aout *aout) { ... audio_cblk(userdata, buffer, copy_size); ... if (opaque->need_flush) { opaque->need_flush = 0 ; SDL_Android_AudioTrack_flush