- 博客(56)
- 资源 (4)
- 收藏
- 关注
原创 intel owt sdk windows编译中的坑
2.编译命令,python build-win.py --arch=x64 --runtime=static --scheme=release --gn_gen --sdk --cg_server --output_path ../owt-x64-build。解决方法:下载最新版本depot_tools。
2024-05-13 17:45:08
361
1
原创 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
3151
原创 目前fec的标准和实现
http://www.360doc.com/content/18/0624/23/29582149_765115440.shtml
2020-06-09 11:05:48
721
原创 从今天起,做一个实用主义者,实干家
总结过去的工作学习经验,对一个新的事物,专业知识领域经常容易陷入原理性学习的怪圈,在没有掌握好框架流程,实际操作方法之时就陷入原理性容易处于形而上的状态,不利于对新事物,专业领域的在工作中的有效应用。因此,从今天起,做一个拿来主义,实用主义者,博众家之长,做一个实干家。...
2020-02-14 19:38:54
489
原创 项目管理
互联网公司的项目一般走立项的形式,按照项目周期,需求数量可以划分为大型项目和小型项目。大型项目比如产品开发(初期重要产品的搭),周期一般在3个月以上,需求不确定,变化快;小型项目比如定制项目,外包项目,产品处于稳定期的维护项目,技术类服务器重构项目,算法项目,预研项目等。按照项目开发生命周期来划分,产品开发一般采用迭代式开发,常用scrum和xp敏捷开发,产品维护项目,预研项目可以走普通的立项...
2019-12-19 17:46:42
357
原创 版本和迭代
迭代是固定周期的开发节奏,版本是实际交付给用户的产出。可以一个迭代发一个版本,也可以多个迭代发一个版本,也有一个迭代发多个版本的情况。迭代和版本没有关联,实际使用中测试提bug是针对版本的。做测试也是基于某个版本测试找bug。划分迭代版本按“主次”划分产品经理在整理需求的时候,先整理主要业务,再整理辅助业务,就适合用这种方法。一个迭代周期在两到三周,如果主要业务在三周内能完成...
2019-12-19 15:16:50
4425
原创 做事方法
做一件事时,先想好相关干系人,事情的职责属于谁,职责属于谁由来负责完成,然后梳理好事情的处理流程,根据流程来推动完成,同时考虑好相关干系人的顾虑,想好方案私下协调解决。项目需求的推动由需求提出者来负责完成。做事时碰到超出自己能力和职权范围的事情,解决不了的时候,把问题抛出来寻求上级的帮助解决。...
2019-12-02 13:34:29
254
转载 瀑布式开发、迭代开发、敏捷开发、XP与SCRUM
瀑布式开发、迭代开发,区别【都属于,生命周期模型】 两者都是一种开发模式,就像设计模式一样,考虑的角度不一样,个人感觉谈不到取代一说。 传统的瀑布式开发,也就是从需求到设计,从设计到编码,从编码到测试,从测试到提交大概这样的流程,要求每一个开发阶段都要做到最好。特别是前期阶段,设计的越完美,提交后的成本损失就越少。我现在从事的外包项目就是这样的流程。 ...
2019-11-06 13:30:31
609
原创 互联网产品需求的来源
1、老板提出的战略性需求,产品规划2、产品经理根据产品方向规划需求3、运营推广规划的活动和数据分析出来的需求4、用户客户调查提出的需求
2019-11-01 18:58:21
531
原创 技术经理核心职责
互联网技术团队管理主要分为技术管理和团队管理两个方向,管理的起点是团队职责的确定,团队方向,定位的明确。互联网技术团队管理需要综合业务和技术进行深入思考。下面主要从技术管理和团队管理两个方面来谈谈管理的主要职责:技术管理主要包括开发规范,开发流程以及技术规划,项目管理,研发流程体系建设。开发规范包括设计规范,编码规范,研发规范,接口规范,日志规范,通用组件使用规范等开发流程包括...
2019-09-19 17:03:54
8513
原创 avc的几个概念
mp4中的RAW AVC data:为包含avcc或者annexb的nalu数据帧标准文档中nalu概念(NAL unit)不包含0x00000001或者avccRBSP为avc nalu去掉1字节nalu头后的数据
2019-09-18 20:07:30
604
原创 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
1140
原创 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
7363
原创 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
4451
原创 Program received signal SIGPIPE, Broken pipe原因总结,socket关闭测试总结
起源:测试服务器时经常出现 signal SIGPIPE, Broken pipe,查看原因初步定位为客户端发起RST后导致。因此针对引起该信号的原因做了测试和总结。过程:UNIX网络编程卷1,第五章SIGPIPE节指出:当一个进程向某个已收到RST的套接字执行写操作时,内核向该进程发送一个SIGPIPE信号。该信号默认行为是终止进程,因此进程必须捕获它以免不情愿地被终止。根据上述...
2019-01-27 22:39:08
5296
原创 kafka为什么要加入分区的概念
源自知乎:https://www.zhihu.com/question/28925721/answer/43648910
2018-11-15 20:31:55
1686
转载 网络编程同步、异步、阻塞、非阻塞
作者:银月游侠链接:https://www.zhihu.com/question/19732473/answer/88599695来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 这几个概念,上面不少答案已经写得很清楚了。这里我结合自己的理解,简单地聊一下为什么这几个概念容易混淆。如果有错误之处,恳请批评指正。我认为同步、异步、阻塞、非阻塞,是分3个层...
2018-11-12 23:02:42
202
转载 nginx 作为反向代理优化要点proxy_buffering
https://www.cnblogs.com/yeyinfu/p/7317446.html
2018-11-02 19:23:43
1173
转载 linux buff/cache占用内存过高的问题
https://www.cnblogs.com/mangoVic/p/6555041.html
2018-09-30 14:21:59
5680
原创 云服务器ECS网卡多队列优化
背景在服务器网卡收包发包数量非常大时,在系统繁忙时,如果过多网卡中断集中在单一cpu上导致cpu来不及响应造成网络性能下降,网络性能的瓶颈一般不在网卡而在cpu,现在的网卡很多支持万兆和多队列。为了解决网卡中断集中在单一cpu的问题,在多核服务器上,需要通过将中断队列绑定到不同的cpu。主要有两种情况,多队列多重中断网卡通过SMP IRQ affinity方法绑定到不同的cpu,单队列网卡...
2018-09-20 23:37:40
2325
原创 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
4234
转载 从janus中学习webrtc的ice简单交换过程
https://blog.csdn.net/mercy_pm/article/details/55806415
2018-06-21 11:57:09
772
原创 goland安装
软件下载安装参考:https://www.7down.com/soft/246102.htmlLicense server address: http://idea.youbbs.org
2018-06-11 11:31:36
671
原创 sublime代码对齐
Preferences->Key Bindings->user->编辑设置文档输入{ "keys": ["ctrl+q"], "command": "reindent" },然后你的快捷键ctrl+q就可以自动对齐代码了,之前还要局部选择代码块或者ctrl+a全选代码。...
2018-06-07 09:35:30
12007
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
12826
原创 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
6365
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
3712
原创 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
4050
原创 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
4883
原创 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
5779
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
7222
原创 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
5333
原创 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
4943
1
原创 nginx代理视频播放响应时间长问题
点播系统http播放请求通过nginx代理到hadoop播放视频流,发现有时候播放器开始播放时间很长,达到一分钟左右。通过查看nginx日志发现存在大量相同的重复请求,通过分析该批视频都是用户上传的1080P的视频,而由于安卓播放器ijkplayer对1080P的播放出现异常导致播放器不断的重复发起播放请求,导致nginx的连接被不断占用,最后应该导致其它正常的播放请求短时间得不到响应。
2017-12-18 20:10:57
5326
原创 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
38296
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
925
Elecard StreamEye Tools
2018-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人