自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (4)
  • 收藏
  • 关注

原创 webrtc视频流完整接收流程分析

webrtc 视频流接收流程分析从 socket 接收数据一直到放入 jitterbuffer内整个处理流程与环节部分流程依赖于webrtc 中有关 socket 运行机制以及 stun 收发过程 及 Candidates 生成流程分析/false, type, description); ./pc/jsep_transport_controller.cc RTCError JsepTransportController::ApplyDescription_n( ...

2020-09-04 20:45:56 2899 1

原创 目前fec的标准和实现

http://www.360doc.com/content/18/0624/23/29582149_765115440.shtml

2020-06-09 11:05:48 612

原创 从今天起,做一个实用主义者,实干家

总结过去的工作学习经验,对一个新的事物,专业知识领域经常容易陷入原理性学习的怪圈,在没有掌握好框架流程,实际操作方法之时就陷入原理性容易处于形而上的状态,不利于对新事物,专业领域的在工作中的有效应用。因此,从今天起,做一个拿来主义,实用主义者,博众家之长,做一个实干家。...

2020-02-14 19:38:54 407

原创 项目管理

互联网公司的项目一般走立项的形式,按照项目周期,需求数量可以划分为大型项目和小型项目。大型项目比如产品开发(初期重要产品的搭),周期一般在3个月以上,需求不确定,变化快;小型项目比如定制项目,外包项目,产品处于稳定期的维护项目,技术类服务器重构项目,算法项目,预研项目等。按照项目开发生命周期来划分,产品开发一般采用迭代式开发,常用scrum和xp敏捷开发,产品维护项目,预研项目可以走普通的立项...

2019-12-19 17:46:42 290

原创 版本和迭代

迭代是固定周期的开发节奏,版本是实际交付给用户的产出。可以一个迭代发一个版本,也可以多个迭代发一个版本,也有一个迭代发多个版本的情况。迭代和版本没有关联,实际使用中测试提bug是针对版本的。做测试也是基于某个版本测试找bug。划分迭代版本按“主次”划分产品经理在整理需求的时候,先整理主要业务,再整理辅助业务,就适合用这种方法。一个迭代周期在两到三周,如果主要业务在三周内能完成...

2019-12-19 15:16:50 3902

原创 做事方法

做一件事时,先想好相关干系人,事情的职责属于谁,职责属于谁由来负责完成,然后梳理好事情的处理流程,根据流程来推动完成,同时考虑好相关干系人的顾虑,想好方案私下协调解决。项目需求的推动由需求提出者来负责完成。做事时碰到超出自己能力和职权范围的事情,解决不了的时候,把问题抛出来寻求上级的帮助解决。...

2019-12-02 13:34:29 209

转载 瀑布式开发、迭代开发、敏捷开发、XP与SCRUM

瀑布式开发、迭代开发,区别【都属于,生命周期模型】 两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说。 传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到最好。特别是前期阶段,设计的越完美,提交后的成本损失就越少。我现在从事的外包项目就是这样的流程。 ...

2019-11-06 13:30:31 540

原创 互联网产品需求的来源

1、老板提出的战略性需求,产品规划2、产品经理根据产品方向规划需求3、运营推广规划的活动和数据分析出来的需求4、用户客户调查提出的需求

2019-11-01 18:58:21 460

原创 技术经理核心职责

互联网技术团队管理主要分为技术管理和团队管理两个方向,管理的起点是团队职责的确定,团队方向,定位的明确。互联网技术团队管理需要综合业务和技术进行深入思考。下面主要从技术管理和团队管理两个方面来谈谈管理的主要职责:技术管理主要包括开发规范,开发流程以及技术规划,项目管理,研发流程体系建设。开发规范包括设计规范,编码规范,研发规范,接口规范,日志规范,通用组件使用规范等开发流程包括...

2019-09-19 17:03:54 8184

原创 avc的几个概念

mp4中的RAW AVC data:为包含avcc或者annexb的nalu数据帧标准文档中nalu概念(NAL unit)不包含0x00000001或者avccRBSP为avc nalu去掉1字节nalu头后的数据

2019-09-18 20:07:30 543

原创 SRS2.0实现mp4文件的录制

srs3.0支持mp4文件的录制,本文在参考3.0的基础上,实现了2.0版本的dvr。整个录制的流程从SrsSource::on_video_imp(SrsSharedPtrMessage* msg)函数和SrsSource::on_audio_imp(SrsSharedPtrMessage* msg)作为入口,如下图所示。上图SrsFormat类和重载的video_avc_demux...

2019-09-18 20:07:20 1041

原创 docker使用nvidia gpu环境搭建

docker中使用gpu需要安装相关的插件环境。系统环境:操作系统:Ubuntu 16.04 64位gpu: nvidia p100需要的软件:cuda drivernvidia-docker安装步骤:cuda drivercuda driver包括了cuda工具包和nvidia driver安装方式1.Package安装2.Runfile安...

2019-04-23 11:52:20 7215

原创 ffmpeg nvidia硬件加速方案

需要工具和库:FFmpeg源代码:git clone https://git.ffmpeg.org/ffmpeg.git ffnvcodec,下载地址 git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git,参考https://trac.ffmpeg.org/wiki/HWAccelIntro#VAAPI NVI...

2019-03-05 21:06:36 4175

原创 Program received signal SIGPIPE, Broken pipe原因总结,socket关闭测试总结

起源:测试服务器时经常出现 signal SIGPIPE, Broken pipe,查看原因初步定位为客户端发起RST后导致。因此针对引起该信号的原因做了测试和总结。过程:UNIX网络编程卷1,第五章SIGPIPE节指出:当一个进程向某个已收到RST的套接字执行写操作时,内核向该进程发送一个SIGPIPE信号。该信号默认行为是终止进程,因此进程必须捕获它以免不情愿地被终止。根据上述...

2019-01-27 22:39:08 5085

转载 github如何实现fork的项目与原项目同步

https://www.jianshu.com/p/fede3333205f

2019-01-05 16:06:12 394

原创 windows平台cgo

安装完goland后,支持cgo编译需要安装windows平台的gcc编译工具tdm-gcc-5.1.0-3

2018-12-24 20:36:11 1561

原创 kafka为什么要加入分区的概念

源自知乎:https://www.zhihu.com/question/28925721/answer/43648910

2018-11-15 20:31:55 1643

转载 网络编程同步、异步、阻塞、非阻塞

作者:银月游侠链接:https://www.zhihu.com/question/19732473/answer/88599695来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 这几个概念,上面不少答案已经写得很清楚了。这里我结合自己的理解,简单地聊一下为什么这几个概念容易混淆。如果有错误之处,恳请批评指正。我认为同步、异步、阻塞、非阻塞,是分3个层...

2018-11-12 23:02:42 164

转载 nginx 作为反向代理优化要点proxy_buffering

https://www.cnblogs.com/yeyinfu/p/7317446.html

2018-11-02 19:23:43 1058

转载 linux buff/cache占用内存过高的问题

https://www.cnblogs.com/mangoVic/p/6555041.html

2018-09-30 14:21:59 5580

原创 云服务器ECS网卡多队列优化

背景在服务器网卡收包发包数量非常大时,在系统繁忙时,如果过多网卡中断集中在单一cpu上导致cpu来不及响应造成网络性能下降,网络性能的瓶颈一般不在网卡而在cpu,现在的网卡很多支持万兆和多队列。为了解决网卡中断集中在单一cpu的问题,在多核服务器上,需要通过将中断队列绑定到不同的cpu。主要有两种情况,多队列多重中断网卡通过SMP IRQ affinity方法绑定到不同的cpu,单队列网卡...

2018-09-20 23:37:40 2171

转载 h264码流详解

https://www.cnblogs.com/jingzhishen/p/3965868.html

2018-09-10 11:18:01 2116

原创 windows chrome中webrtc支持h264

webrtc在不同的平台上对h264的支持不太一致,webrtc支持h264编码采用openh264,只支持到baseline,解码采用FFmpeg。通过在windows平台chrome和firefox上测试,h264的协商必须为baseline,即a=fmtp:126 profile-level-id=42e01f;packetization-mode=1,否则协商会失败。但是,如果传输...

2018-08-14 17:34:09 4021

转载 NAT的四种类型

https://www.cnblogs.com/my_life/articles/1908552.html

2018-07-24 21:12:29 19284

转载 从janus中学习webrtc的ice简单交换过程

https://blog.csdn.net/mercy_pm/article/details/55806415

2018-06-21 11:57:09 710

原创 goland安装

软件下载安装参考:https://www.7down.com/soft/246102.htmlLicense server address: http://idea.youbbs.org

2018-06-11 11:31:36 618

原创 sublime代码对齐

Preferences->Key Bindings->user->编辑设置文档输入{ "keys": ["ctrl+q"], "command": "reindent" },然后你的快捷键ctrl+q就可以自动对齐代码了,之前还要局部选择代码块或者ctrl+a全选代码。...

2018-06-07 09:35:30 11636 2

原创 gperftools工具检测内存泄露

gperftools是google开发的一款非常实用的工具集,主要包括:性能优异的malloc free内存分配器tcmalloc;基于tcmalloc的堆内存检测和内存泄漏分析工具heap-profiler,heap-checker;基于tcmalloc实现的程序CPU性能监测工具cpu-profiler.gtihub地址:https://github.com/gperftools/gperft...

2018-05-07 20:07:46 12624

原创 IntelliJ IDEA安卓开发环境安装教程

首先去官网下载IntelliJ IDEA专业版本,安装完成后破解,这一步主要在破解步骤,在激活页面选择License Server,输入:http://idea.codebeta.cn,点击Activate即可激活。参考:https://www.cnblogs.com/karthuslorin/p/8531662.html第二步需要安装安卓开发依赖环境JDK和android SDK,这一步网上教程...

2018-03-30 15:39:59 6129 1

原创 glib库路径设置

编译janus时./configure出现glib库版本太低错误,安装高版本glib-2.34.2后编译还是通不过。发现是链接的还是原版本的glib库。通过使用新版本glib库的pkgconfig文件,设置PKG_CONFIG_PATH解决。export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/  /usr/local/lib/为glib的安装路径。参考:...

2018-02-22 22:12:10 3356

原创 srs的http-flv拉流源码源码解析

http-flv的主要处理逻辑在srs_app_http_conn.cpp,srs_app_http_stream.cpp,srs_http_stack.cpp文件zhong,http-flv拉流请求处理是从接受http请求开始的,客户端发起的拉流请求在SrsServer::accept_client函数中接受为独立的SrsResponseOnlyHttpConn连接,在连接线程中响应http-f

2018-01-17 19:27:42 3941

原创 srs中rtmp接收连接,publish推流源代码解析

srs2.0的rtmp推流处理主要包含在srs_app_conn.cpp,srs_app_source.cpp,srs_app_recv_thread.cpp源文件中。SrsServer::listen_rtmp()监听client的推流和拉流rtmp请求,接收到推流请求后在SrsServer::accept_client函数中为请求创建一个单独线程的SrsRtmpConn连接,如下图所示。然

2018-01-12 18:29:39 4757

原创 FFmpeg转码视频文件插帧丢帧策略实验

目标将25帧的视频转码为30帧实现方案在固定帧率的情况下,设置AVCodecContext的time_base为{1,30},然后将每秒解码出来的视频帧的第5,10,15,20,25帧重复送入编码器,送入编码器前frame显示时间戳pts按一递增设置,如果为b帧编码器会自动计算dts。目标将25帧的视频转码为20帧实现方案在固定帧率的情况下,设置

2018-01-04 16:56:52 5592 1

原创 nginx error localhost could not be resolved (3: Host not found)

问题在内网测试机上测试时发现,nginx解析locathost错误,实际resolver指向内网DNS服务192.168.0.1,抓包发现nginx发起dns查询向192.168.0.1查询失败。并且nginx并没有去读取本地hosts文件。解决方法用dnsmasq在本地自建DNS服务,nginx配置 resolver指向127.0.0.1,配置/etc/dnsmasq.con

2018-01-04 11:44:59 6761

原创 FFmpeg x264编码b帧时时间戳,帧率等总结

1. 在进行FFmpeg API转码视频时,解码出来的视频帧是包含有frame->pict_type字段的,如果编码前不处理,x264会按照该类型强制编码。如果希望x264自动插入b帧编码,在编码前需要将frame->pict_type设置为AV_PICTURE_TYPE_NONE。x264编码出来后的帧类型可以通过AVCodecContext的coded_frame成员来判断。2.

2017-12-26 15:44:32 5145

原创 ffmpeg x264多线程编码测试

测试环境组内测试机,4核,1.8GHZ,内存2G测试过程默认线程设置,ffmpeg的AVCodecContext中thread_count为1测试结果:cpu占用100%,转码时间9分48秒线程设置:thread_count为4,thread_type为FRAME类型测试结果:cpu占用250%,4个cpu平均使用率20%多,转码时间4分28秒结果总结x26

2017-12-21 17:31:34 4707 1

原创 nginx代理视频播放响应时间长问题

点播系统http播放请求通过nginx代理到hadoop播放视频流,发现有时候播放器开始播放时间很长,达到一分钟左右。通过查看nginx日志发现存在大量相同的重复请求,通过分析该批视频都是用户上传的1080P的视频,而由于安卓播放器ijkplayer对1080P的播放出现异常导致播放器不断的重复发起播放请求,导致nginx的连接被不断占用,最后应该导致其它正常的播放请求短时间得不到响应。

2017-12-18 20:10:57 5041

原创 h5点播播放mp4视频遇到的坑,ios的h5不能播放视频等

背景h5的出现对多媒体在网页上的视频播放提供了支持,以前网页播放视频基本依赖于flash等插件。而h5的video标签实现了网页播放视频无插件化。因此,h5的出现给网页视频播放带来极大的便捷性,目前,PC端的Chrome,安卓端浏览器,微信浏览器,QQ浏览器(自带播放器),以及IOS的safari都支持h5的video标签。部分PC端浏览器比如IE还不支持。基础知识普及h5的v

2017-12-18 20:05:16 37413 3

原创 点播系统hadoop存储视频长时间无响应

问题描述最近之前一直正常的视频点播系统播放存储在hadoop上的视频出现响应时间长达一分钟的情况。点播系统播放通过nginx_lua代理从hadoop取数据。查看nginx的日志,出现大量的错误如下。*1885808 upstream timed out (110: Connection timed out) while reading response header from

2017-12-08 16:41:42 857

转载 FFmpeg框架解析及核心数据结构

http://blog.csdn.net/timesir/article/details/78164205

2017-12-05 16:50:23 286

工作指南送给加西亚

适用于职场人士的工作指导书籍,对于IT人员,管理人员同样适用。

2018-10-16

Elecard StreamEye Tools

音视频开发必备工具,视频码流,封装格式,yuv,视频质量分析工具,包含SAnalyzer ,eseye_u, pyuv, VideoQE四个工具,无需安装破解,解压缩即可使用

2018-10-09

SDP_RFC4566(中文版)

SDP_RFC中文版文档,SDP是一种多媒体的文本协议格式,广泛应用于多媒体,VOIP,流媒体,视频会议等传输协商领域。

2017-09-10

nginx-lua安装教程

最近项目中开发用到了nginx-lua扩展模块,nginx中的lua模块方便了基于nginx的功能定制。文档中包含了详细的安装教程。

2017-09-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除