04 2019 档案
摘要:我们在常见的开源协议如BSD,GPL,LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。 这里我们来看四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。 一、BSD开源协议 BSD开源协议是一个给于使用者很大自由的
阅读全文
摘要:问题背景 Android Studio 开发时使用到了 GSYVideoPlayer 开源的播放器框架,配置信息如下: 在这之前,已经配置了support库: 运行时报错如下: 通过报错的内容大概可以猜测出来是播放器使用的V4库和我们配置的V4库出现冲突了,而且是版本冲突。 解决方案 解决方案无非就
阅读全文
摘要:一、概述 音视频同步(avsync),是影响多媒体应用体验质量的一个重要因素。而我们在看到音视频同步的时候,最先想到的就是对齐两者的pts,但是实际使用中的各类播放器,其音视频同步机制都比这些复杂的多。 这里我们先介绍一些音视频同步相关的知识: 1. 如何测试音视频同步情况 最简单的就是播放一个演唱
阅读全文
摘要:FFmpeg对音频、视频播放速度的调整的原理不一样。下面简单的说一下各自的原理及实现方式: 一、调整视频速率 调整视频速率的原理为:修改视频的pts,dts 实现: 注意:视频调整的速度倍率范围为:[0.25, 4] 如果只调整视频的话最好把音频禁掉。 对视频进行加速时,如果不想丢帧,可以用-r 参
阅读全文
摘要:RxJava是一个很好的开源库,将链式编程和异步很好的结合在一起。在介绍RxJava之前我们先介绍一下观察者模式,这样我们能更好的学习和理解RxJava。 简单介绍一下,A和B两个,A是被观察者,B是观察者,B对A进行观察,B并不是需要时刻盯着A,而是A如果发生了变化,会主动通知B,B会对应做一些变
阅读全文
摘要:官网地址:https://gradle.org/。 一、Window下配置 Gradle 环境 安装Gradle之前必须要配置好Java环境,要求JDK 6 以上,并且在环境变量配置好JAVA_HOME。查看Java版本的命令为:java -version。 这里我的JDK版本为1.8.0_201。
阅读全文