- 博客(18)
- 收藏
- 关注
原创 直播推流SDK综述(一)
目录1直播流程概述2.数据采集2.1 视频数据的采集2.1.1SurfaceHolder2.1.2SurfaceView类2.1.3 Camera2.2 获取相机数据2.3 音频采集3编码3.1 常见编码格式3.2 h264原理概述3.2.1 划分宏块3.2.2 划分子块3.2.3 帧分组3.2.4 运动估计与补偿3.2.5帧内预测3.2.6对残差数据做DCT3.2.7 CABAC直播涉及到音视频技术,想要深入研究,需...
2020-12-25 15:09:51
2747
1
原创 直播推流SDK综述(二)
直播涉及到音视频技术,想要深入研究,需要对音频和视频有一定的了解,这里我们只讨论直播中的技术实现,涉及到必要的底层实现或者必要的音视频知识会有一些相关链接或者概念上的阐述。先来看下开启一场直播,中间的流程是怎样的。如图:从上图可以看到,一场直播的流程为:1)手机端视频设备、音频设备采集到音视频数据,2)将采集到的音频数据和视频数据进行编码和封装,3)将封装后的数据通过RTMP协议传输到后端。再经过转码、分发、写入分布式系统等,再经过CDN(content delivery net,)传输给...
2020-12-25 14:49:29
1001
原创 计算机视觉:图像处理算法基础之图像卷积并用python展示
不讲卷积原理,只有python实现这里只进行一个图像简单的卷积,用的核函数是三行三列二维矩阵: kernal=[[0,-1,0], [-1,4,-1], [0,-1,0]]图像没有变成灰度图,还是用三个通道。也可以用灰度图,之前有实现,原理是一致的,灰度图卷积图像会展示在最后为了使大小和原图保持一致,用的复制边界填充,四个角也进行了处理。代码上尽量写清楚了步骤,有些输出代码注释了,可以用来看输出结果#用..
2020-12-15 16:44:11
2187
1
原创 关于使用企业中igit/github产生的问题及总结 Mac
背景:本人有一个私人github账号,公司使用igit进行开发,同时公司分配一个oa账号用来在igit上更新和提交代码,用sourceTree进行对igit上更新提交代码等的管理。问题1:在几个月一更换oa账密的前两天总是出现用sourceTree提交或更新代码失败,要重新输入oa账号(实际上还没有更改oa账密)问题2:在github上down代码后,公司绑定的igit出现账密错误问题3:在使用sourceTree输入oa账密时,sourceTree崩溃,再推送时账密失效问题4:
2020-12-15 16:31:03
513
原创 如何建立网络链路中的闭环(针对直播、互动直播等流媒体)
本方案属于本人,侵权必究最近在做流媒体,发现客户端和后端的交互中,双端在消息传递过程中,消息受网络链路条件的制约,使得重要的消息可能在传输中丢失,使得双端瘫痪。为了防止这种情况的发生,提出了下面的消息传递闭环方案。理论基础对于直播和互动直播这种网络模型,有种非常显著的一个充分/非充分和必要/非必要的逻辑关系:对于a->b->c->d这样的多个节点单链路的信息传递模型,即如果信息从a出发,最终目的是d。有这样的推论:如果信息到达了d,那么必定有信息也到达了b,c。但是反.
2020-09-02 11:46:40
1217
原创 Android Studio中不小心关掉logcat怎么解决 for Mac
这个问题困扰我很久,有时候重启可以解决,有时候又不行。最后下了狠心看了看快捷键。mac中打开logcat用command+6。windows中应该也有快捷键。怎么看呢?在搜索框中搜索“logcat”,下面有个“Logcat”,后面跟的快捷键方式,按照快捷键操作即可...
2020-06-09 19:59:01
654
原创 动态规划的本质:索引的倒排序
动态规划的本质:索引的倒排序相对于传统的循环,动态规划似乎和他们没有什么太大关系,实际上,动态规划和传统的循环在运算上是一致的,只不过在索引上进行了稍许的改变。举个例子,动态规划中有一种题目是找到序列中的上升或者下降序列,比如:5,2,8,6,3,9,7Description给定一个数组找最长递增子序列长度。Input一个vector数组例如:[5,2,8,6,3,9,7]...
2020-03-27 18:25:02
166
原创 选择排序算法编写
class Wrapper { public static void main(String[] args){ int a[]={3,6,1,0,40}; for(int i=0;i<a.length;i++){ int min=a[i]; int k=i; for(int j=i+1;j<a.length;j+...
2018-08-14 13:56:16
418
原创 插入算法:不用记比较繁琐的初始条件的新型插入算法
class Wrapper { public static void main(String[] args) { int a[]={1,5,9,3,0}; for(int i=1;i<a.length;i++){ int key=a[i]; for(int j=i-1;j>=0;j--){//从位置最靠...
2018-08-10 19:16:15
133
原创 百度面试题之 启动线程方式有哪几种,线程池有哪几种
1、启动线程方式:要启动的可以分为两类:返回结果和不返回结果。对于这两种,也分别有两种启动线程的方式:1)继承Thread类,implements Runnable接口2)实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的线程具体使用请参考:https://www.cnbl...
2018-07-19 10:14:50
6151
原创 快手(快手非常快) 之安卓开发岗 之java题目
String、StringBuffer、StringBuilder的比较。好,那你给我说个需要使用StringBuffer的场景(囧),还真没想出来。。。 这个是java中的一个问题,然后对这个问题在各大论坛上查了一下。基础的情况和源吗就不说了。直到我看到这篇文章……https://blog.csdn.net/m0_37589327/article/details/78605268他这里是将...
2018-07-18 17:19:26
1860
1
转载 android多线程编程
Thread, Handler,runOnUIThread 的使用1、Thread的使用 UI是在主线程中运行的。后台服务如果直接运行在主线程,可能会导致阻塞等,因此将服务由子线程来实现。 Android可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口: 前者只要继承了Thread类同时覆写了本类中的run()...
2018-07-17 21:48:40
205
原创 ccf 20140902 画图
问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。 下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只
2017-09-13 16:43:29
247
原创 ccf 20150903 模板生成系统
问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是 而当用户为 Jerry 时,网页的源代码是 这样的例子在包含动态内容的网站中还有很多。为了简化生成网页的工作,成成觉得他需要引入一套模板生成系统。 模板是包含特殊标记的文本
2017-09-13 16:39:31
227
原创 ccf 节日 java 思路
问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。 现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。 提示:关于闰年的规则:年份是400的整数倍时是闰年,否则年份是4的倍数并且不是100的倍数时
2017-08-31 19:32:49
596
2
原创 ccf 窗口 java 2014_3_2
问题描述 在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。 当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽
2017-08-30 14:50:08
397
原创 ccf 出现次数最多的数 java 思路
思路:分情况讨论。一种是存在相同的数,一种是所有的数都不相同。第一种,用for循环将后面的数据与前面的数据进行比较,如果相同,就将num加一,同时将后面的数赋值为0;第二种情况,如果不同,就将count加1,如果数据全部不同,则count的值将是n(n+1)/2.。package Demo;import java.util.*;public class ccf2013_1_1{
2017-08-28 18:21:35
623
原创 ccf2014_12_2 Z字形扫描
问题描述 在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示: 对于下面的4×4的矩阵, 1 5 3 9 3 7 5 6 9 4 6 4 7 3 1 3 对其进行Z字形扫描后得到长度为16的序列: 1 5 3 9 7 3 9 5 4 7 3 6 6 4 1 3
2017-08-27 10:49:52
370
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人