- Win10+WSL环境编译bilibili/ijkplayer源码
岁月神偷_4676
先谈一下遇到的问题,最棘手的问题就是wsl环境下ubuntu与win10的PATH环境变量是共享的,而在编译源码的时候用到NDK独立工具链(NDKstandalonetoolchain,大概是因为坑太多,目前已被google弃用,想了解的同学可点击此链接查看官方文档)在脚本中会去设置PATH环境变量,最后由于ubuntu的PATH环境变量共享了win10的值,导致编译失败。因为没遇到过此类问题因此
- Android播放器相关开源项目
主音King
Explayer是Google一个开源的,APP等级的媒体API,包含library和demoijkplayer是Bilibili发布的基于FFplay的轻量级Android/iOS视频播放器。实现跨平台功能,API易即成,编译配置可裁剪,方便控制安装包大小,支持硬件加速解码,更加省电,提供Android平台下应用弹幕集成解决方案。android-UniversalMusicPlayer一个音乐播
- WSL和Ubuntu编译IJKPlayer
RelinRan
ubuntulinux运维WSLIJKPlayer
Ubuntu、WSL上编译IJKPlayer,您可以按照以下步骤进行操作:系统准备#更新包sudoaptupdate#安装编译所需的依赖项sudoaptinstall-yautoconfautomakebuild-essentialcmakegitlibtoolnasmpkg-configpython3unzip#安装当前正在运行的内核版本对应的Linux内核头文件sudoapt-getinsta
- ijkplayer适配Android 11以上的版本
易寻资料
音视频android
播放视频在android11手机上各种闪退的问题,适配中发现一进入视频播放页面就会崩溃,播放在线视频时崩溃,而本地视频播放正常。崩溃日志如下:Fatal14:46:17.826Fatalsignal11(SIGSEGV),code2(SEGV_ACCERR),faultaddr0x74bdc3dd18intid4399(ff_read),pid1990(om.lindian.user)Fatal1
- github上十二款最著名的Android播放器开源项目
不合格码农
转自:https://blog.csdn.net/qq_24531461/article/details/734567941.ijkplayer项目地址:https://github.com/Bilibili/ijkplayer介绍:Ijkplayer是Bilibili发布的基于FFplay的轻量级Android/iOS视频播放器。实现了跨平台功能,API易于集成;编译配置可裁剪,方便控制安装包大
- flutter开发实战-ijkplayer视频播放器功能
BruceGwo
移动开发flutter开发实战flutterflutter音视频ijkplayer1024程序员节笔记视频播放
flutter开发实战-ijkplayer视频播放器功能使用better_player播放器进行播放视频时候,在Android上会出现解码失败的问题,better_player使用的是video_player,video_player很多视频无法解码。最终采用ijkplayer播放器插件,在flutter上使用fijkplayer插件。一、引入fijkplayer在使用fijkplayer前可以先
- ijkplayer自定义播放器
小L_d00b
ijkplayer自定义播放器教程代码在https://github.com/fly0001/ijkplayer.git
- Mac 用NDK编译ijkplayer arm64 问题总结
棍子哥丸子妹
场景:我需要用到x264库来进行我的编码。先编码x264的include和lib成功!下面在我使用ijkplayer的脚本进行链接x264的文件时,遇到的问题总结:1.找不到log2,我首先检查我编译的x264库是否可用,自己搞了一个工程,测试是可以使用的,然后到ffmpeg源码下面有个config.h去查看日志,用xcode来搜索错误的位置,我直接注释掉了(我检查了ffmpeg和x264相关的N
- Android GitHub高分优秀中文项目
KingWorld
CarGuo/GSYVideoPlayer视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放,列表全屏动画,视频加载速度,列表小窗口
- 如何用ijkplayer使用改变清晰度功能(切换码流)
andylao62
流媒体ijkplayer服务器运维
ff_ffplay.c:read_thread()chooseyourlikevideostreamidfromic->nb_streamssettost_index[AVMEDIA_TYPE_VIDEO]自适应码率切换需要服务器端和客户端同时支持,首先服务器端需要提供多码率的码流,对HLS来说,就是需要服务器端提供masterm3u8playlist,也就是通常所说的嵌套m3u8;对Dash来说
- 修复ijkplayer没有正确处理sps导致的MediaCodec解码失败问题
andylao62
ijkplayer流媒体java开发语言
播放HLS时,部分TS分片的sps排列是:000192400001103。。。0001104。。。其对应的内容是:00019240:表示AUD接着的0001:表示startcode接着的103:表示sps类型接着的就是sps的数据最后的0001104:104表示是pps数据接着的就是pps的数据这里针对这种情况做了处理,提取出其中的sps数据给到MediaCodec,避免MediaCodec初始化
- initPlayer初始化过程(一)
andylao62
流媒体androidc++ijkplayer
目录简要流程图代码分析1)so库加载及初始化2)创建Looper线程3)so相关操作setup简要本文主要介绍ijkplayer的初始过程先看LOGD/IJKMEDIA:IjkMediaPlayer_native_initD/IJKMEDIA:IjkMediaPlayer_native_setupI/IJKMEDIA:av_version_info:ff3.4--ijk0.8.7--2018010
- ijkplayer解码器的准备过程(二)
andylao62
流媒体androidjikplayer
简要本文介绍,从prepareAsync后,到onPrepared回调的过程先看LogV/IJKMEDIA:setDataSource:pathhttp://weblive.hebtv.com/live/hbws_bq/index.m3u8D/IJKMEDIA:IjkMediaPlayer_prepareAsyncD/IJKMEDIA:ijkmp_prepare_async()I/IJKMEDIA
- Android录制音频并使用ijkplayer播放
TenXu
1、使用MediaRecorder录音1.1、开始录制privateMediaRecordermMediaRecorder;privateFilemTempFile;publicvoidstartRecordAudio(Contextcontext){//临时文件if(mTmpFile==null){mTmpFile=SdcardUtils.getPublicFile(context,"recor
- 视屏解密、AVPlayer/IJKPlayer/播放画中画
独孤流
PictureInPictureDemo画中画demo:https://github.com/eye1234456/PictureInPictureDemo.git在线mp4转m3u8:https://mp4.to/m3u8/测试视频下载:https://www.cnblogs.com/v5captain/p/12144699.htmlhttps://www.jianshu.com/p/cab2c
- ijkplayer
monkey姜啦
1、延迟降低延迟处理ff_ffplay2、播放RTSP视频实时流,接着播放HTTP流第一次无法播放的问题ijkmp_prepare_async()=0Opening'http://192.168.1.254:8192'forreadingSettingdefaultwhitelist'http,https,tls,rtp,tcp,udp,crypto,httpproxy'HitDNScacheho
- 【快收藏】音视频开发开源项目!
十年编程老舅
音视频开发音视频音视频开发音视频学习路线ZLMediaKit流媒体服务器SRS
多路解码https://github.com/ithewei/hplayer/tree/master/srcGSYVideoPlayerAndroid播放器,功能非常强大https://github.com/CarGuo/GSYVideoPlayer视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS支持,支持弹幕,支持滤镜、水印、gif截图,片头广告、中间广告
- 记录一次Linux下编译Android平台的ijkPlayer源码
被违规后的昵称
环境:Ubuntu18.04跟ffmpeg编译类似,不过没有ffmpeg的编译复杂。几个出错点:1.编译ssl时发生:*$sudo./compile-openssl.shall====================[*]checkarchs====================FF_ALL_ARCHS=armv5armv7aarm64x86x86_64FF_ACT_ARCHS=armv5arm
- Windows下编译Android-ijkplayer库文件
akebrt
androidlinuxubuntu
前言虽然说的是Windows下编译,其实还是用的Linux环境。在Windows10有个子系统,可以下载Ubuntu子系统来配置Linux环境。ijkplayer源码脚本不支持Windows环境编译,所以不用妄想在纯Windows环境下编译。当然将源码拉下来自己写脚本另当别论。网上大量教程都只介绍了流程,如果能每一步都正常走下来,可以直接去看Github的介绍。这里把我在编译过程中遇到的问题和一些
- Ubuntu 编译 哔哩哔哩 IJKPlayer so库,并支持RTSP
氦客
NDKubuntuandroid编译ijkPlayerRTSP
1.环境与配置1.1系统版本系统我这里使用的Ubuntu18.04.4LTS1.2更新软件源列表sudoaptupdate1.3安装gitsudoaptinstallgit1.4安装jdk我这里使用的是openjdk11.0.9.1sudoaptinstallopenjdk-11-jdk1.5安装yasmsudoaptinstallyasm1.6下载NDKndk下载地址:https://githu
- ijkplayer
不懂_a030
https://www.jianshu.com/p/c5d972ab0309前言ijkplayer是b站开源的超级好用的视频播放器喔,相信大家都早有耳闻。ijkplayerAndroid和ios都可用,还支持多种视频的硬解码。人生苦短,不如快点试一试。ijkplayer的github地址ijkplayer的编译gradle现在可以直接使用gradle引入ijkplayer了。但是,如果需要对更多格
- Windows环境Ubuntu虚拟机中编译androidijkplayer
勿忘初心_kk
AndroidFFmpegandroid
环境windows11系统安装的VMwareWorkstation虚拟机ijkplayerGithub地址:GitHub-bilibili/ijkplayer:Android/iOSvideoplayerbasedonFFmpegn3.4,withMediaCodec,VideoToolboxsupport.github上面的编译说明:gitclonehttps://github.com/Bili
- Ubuntu编译ijkplayer so库并播放本地raw/assets文件
Chin_style
音视频ijkplayerUbuntuffmpeg
博主的上一篇文章《ffmpeg的介绍,编译与使用》一,前期基础知识储备1.ijkplayer官方项目地址:https://github.com/Bilibili/ijkplayerijkplayer是一个基于ffmpeg的轻量级Android/iOS视频播放器。实现了跨平台功能,API易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电。可以通过编译来实现更多格式的支持,可以说
- Android新播放器Ijkplayer集成教程
陆小凤蔡
ijk编译环境信息Ijkplayer-0.8.8支持rtsp支持http支持hls支持rtmp支持h265支持arm64/armv7a1.引入私有库地址.repositories{maven{url'http://172.16.22.18:8081/repository/maven-public/'}...}2.在主项目中build.gradle引入以下库implementation'tv.dan
- ijkplayer-android 移植与调试日志
feier_yan
Android开发
step1:gitclonehttps://github.com/Bilibili/ijkplayer.gitijkplayer-androidcdijkplayer-androidgitcheckout-Blatestk0.8.4cdconfigrmmodule.shln-smodule-default.shmodule.sh#以上是默认的设置,也可以使用#ln-smodule-lite.shm
- swift 关于集成ijkplayer
pyj111204
记录ijkplayergithub地址:https://github.com/bilibili/ijkplayer集成参考地址:https://www.hangge.com/blog/cache/detail_1326.html
- ijkplayer.0 简介
搁浅的三刀流zoro
ijkplayer(https://github.com/Bilibili/ijkplayer)是一个基于FFmpeg的轻量级Android/iOS视频播放器开源项目。项目需求,播放实时h264裸流,最初使用自行实现的mediacodec播放,仅支持硬编码,适配没做好,并且发热情况比较厉害,故此找了些开源项目,发现ijkplayer比较适合(不过后面发现此项目长期不维护,没文档,没人解释,对简单实
- iOS直播sdk的实践探索
henry技术探索记录员
移动端直播的核心就是推流和拉流播放。刚开始选择的是LFLiveKit推流和美颜,用ijkplayer拉流播放。用两台真机测试时发现,播放时噪音很严重,而且延时挺大的。用LFLiveKit将视频录制到本地,打开播放,依然有很严重的噪音,因此排除播放环节的问题,是LFLiveKit对音频没做好降噪的处理。尝试用七牛的直播SDK,结合七牛的播放器PLPlayer,发现延时减少了很多,但七牛的美颜效果不是
- iOS在ijkplayer集成ffmpeg遇到的问题
纳兰怮翌
在使用ijkplayer集成ffmpeg的时候,执行./compile-ffmpeg.shall时报以下错误ERROR:opensslnotfound解决办法需要./init-ios.sh步骤后执行./init-ios-openssl.shcdios//这里只clean一次./compile-openssl.shclean./compile-openssl.shall./compile-ffmpe
- ijkPlayer源码分析 PacketQueue分析
baiiu
音视频&进阶ijkPlayer源码分析
前言本文介绍PacketQueue,相对于FrameQueue来说比较简单,可以类比Android中的MessageQueue。PacketQueue总体介绍单向链表结构。first_pkt、last_pkt,是链表的起点和终点结点;recycle_pkt链表用于节点复用;是一个多线程安全队列,靠等待唤醒机制保证线程安全;当遇到flush_pkt时,serial加1自增,标志着流序列变化,区分是否
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
jsp超链接文件下载窗口
生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc
- 【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
bit1129
cluster
在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识:
首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste
- linux上独立安装部署spark
daizj
linux安装spark1.4部署
下面讲一下linux上安装spark,以 Standalone Mode 安装
1)首先安装JDK
下载JDK:jdk-7u79-linux-x64.tar.gz ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
然后配置 ~/.bashrc&nb
- Java 字节码之解析一
周凡杨
java字节码javap
一: Java 字节代码的组织形式
类文件 {
OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组
}
&nbs
- java各种小工具代码
g21121
java
1.数组转换成List
import java.util.Arrays;
Arrays.asList(Object[] obj); 2.判断一个String型是否有值
import org.springframework.util.StringUtils;
if (StringUtils.hasText(str)) 3.判断一个List是否有值
import org.spring
- 加快FineReport报表设计的几个心得体会
老A不折腾
finereport
一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!!
二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。
- mysql linux启动与停止
墙头上一根草
如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin
- Spring中事务管理浅谈
aijuans
spring事务管理
Spring中事务管理浅谈
By Tony Jiang@2012-1-20 Spring中对事务的声明式管理
拿一个XML举例
[html]
view plain
copy
print
?
<?xml version="1.0" encoding="UTF-8"?>&nb
- php中隐形字符65279(utf-8的BOM头)问题
alxw4616
php中隐形字符65279(utf-8的BOM头)问题
今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.
调试:
1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题.
2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.
 
- 调用对象是否需要传递对象(初学者一定要注意这个问题)
百合不是茶
对象的传递与调用技巧
类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看
为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)
类和对象的基础概念:
JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接
- JDK1.5 AtomicLong实例
bijian1013
javathreadjava多线程AtomicLong
JDK1.5 AtomicLong实例
类 AtomicLong
可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。
 
- 自定义的RPC的Java实现
bijian1013
javarpc
网上看到纯java实现的RPC,很不错。
RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何
- 【RPC框架Hessian一】Hessian RPC Hello World
bit1129
Hello world
什么是Hessian
The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p
- 【Spark九十五】Spark Shell操作Spark SQL
bit1129
shell
在Spark Shell上,通过创建HiveContext可以直接进行Hive操作
1. 操作Hive中已存在的表
[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcom
- F5 往header加入客户端的ip
ronin47
when HTTP_RESPONSE {if {[HTTP::is_redirect]}{ HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo
- java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
写了个java版的
public class GreatestLeftRightDiff {
/**
* Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。
* 求所有数对之差的最大值。例如在数组
- mongoDB 索引
开窍的石头
mongoDB索引
在这一节中我们讲讲在mongo中如何创建索引
得到当前查询的索引信息
db.user.find(_id:12).explain();
cursor: basicCoursor 指的是没有索引
&
- [硬件和系统]迎峰度夏
comsci
系统
从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内
所以,从现在开始准备渡过炎热的夏天。。。。
每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)
坐的,躺的地方要有凉垫,床上要有凉席
电脑的机箱
- 基于ThinkPHP开发的公司官网
cuiyadll
行业系统
后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统
轻量级企业网站管理系统
运行环境:PHP5.3+, MySQL5.0
系统预览
系统下载:http://www.tecmz.com
预览地址:http://co.tecmz.com
各种设备自适应
响应式的网站设计能够对用户产生友好度,并且对于
- Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)
darrenzhu
jms事务承认MQacknowledge
JMS Message Delivery Reliability and Acknowledgement Patterns
http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/
Transaction and redelivery in
- Centos添加硬盘完全教程
dcj3sjt126com
linuxcentoshardware
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命
- yii2 restful web服务路由
dcj3sjt126com
PHPyii2
路由
随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。
在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示
- MongoDB查询(4)——游标和分页[八]
eksliang
mongodbMongoDB游标MongoDB深分页
转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标
数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示:
> var
- Activity的四种启动模式和onNewIntent()
gundumw100
android
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<acti
- 攻城狮送女友的CSS3生日蛋糕
ini
htmlWebhtml5csscss3
在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>攻城狮送女友的CSS3生日蛋糕-柯乐义<
- 读源码学Servlet(1)GenericServlet 源码分析
jzinfo
tomcatWebservlet网络应用网络协议
Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。
先看javax.servlet.servlet接口源码:
package
- JAVA进阶:VO(DTO)与PO(DAO)之间的转换
snoopy7713
javaVOHibernatepo
PO即 Persistence Object VO即 Value Object
VO和PO的主要区别在于: VO是独立的Java Object。 PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。
实际上,这个VO被用作Data Transfer
- mongodb group by date 聚合查询日期 统计每天数据(信息量)
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 1 */
{
"_id" : ObjectId("557ac1e2153c43c320393d9d"),
"msgType" : "text",
"sendTime" : ISODate("2015-06-12T11:26:26.000Z")
- java之18天 常用的类(一)
Luob.
MathDateSystemRuntimeRundom
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class Sy
- maven
wuai
maven
1、安装maven:解压缩、添加M2_HOME、添加环境变量path
2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹
3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹
4、进入mvn_ch01
4.1、mvn compile ,执行后会在