<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dtryl的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dtryl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dtryl]]></copyright><item><title><![CDATA[IJK源码分析-android篇]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/132891433</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/132891433</guid><author>dtryl</author><pubDate>Thu, 14 Sep 2023 23:58:11 +0800</pubDate><description><![CDATA[总结对ijk播放器的理解]]></description><category></category></item><item><title><![CDATA[记录一次maven依赖的]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/120068889</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/120068889</guid><author>dtryl</author><pubDate>Thu, 02 Sep 2021 20:14:39 +0800</pubDate><description><![CDATA[简单的来说，我的一个库需要依赖某个版本的jar，结果因为复杂的依赖关系给到我的是另一个版本的jar，解决问题的关键是:

1,不要想着Intelli idea多么牛逼，老想着图形化显示出一个漂亮的依赖树出来，那么多层的折叠树，仅仅是展开就很费工夫，更别提查找，最简单的还是mvn dependency:tree，查找不需要版本的依赖关系，这样就知道你不想要的那个版本的jar包是怎么依赖进来的,才能后续对症下药:



2,用mvn的exclusions列表列出排除项目:


&lt;depe...]]></description><category></category></item><item><title><![CDATA[IOS端突然断开连接原因调查]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/115455300</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/115455300</guid><author>dtryl</author><pubDate>Thu, 02 Sep 2021 20:06:39 +0800</pubDate><description><![CDATA[10:01:33 DEBUG CustomVideoDecoder::Decode[116] id:15 width:1280 height:720 fps:3 bitrate:64kbps
10:01:34 DEBUG CustomVideoDecoder::Decode[116] id:15 width:1280 height:720 fps:3 bitrate:70kbps
10:01:37 DEBUG AudioReceiver::OnData[35] uid:9173 audio, bits:1.]]></description><category></category></item><item><title><![CDATA[webrtc码率问题实际测试研究]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/115455864</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/115455864</guid><author>dtryl</author><pubDate>Thu, 02 Sep 2021 20:06:27 +0800</pubDate><description><![CDATA[ios端连接webrtc服务端，走webrtc pc连接，实际测试的码率数值与设定值有一定差距，总结测试经验，发现有两个原因:

1,实际网络带宽限制

2,编码方式，对于264，容易达到设定的码率值，但是对于265，往往只能达到设定值得一半左右，本文引导研究解决这个问题。
...]]></description><category></category></item><item><title><![CDATA[webrtc支持H264编码和解码]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/115526351</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/115526351</guid><author>dtryl</author><pubDate>Thu, 02 Sep 2021 20:06:16 +0800</pubDate><description><![CDATA[相关代码:

/root/Projects/webrtc-checkout/src/pc/media_session.cc

/root/Projects/webrtc-checkout/src/media/engine/internal_encoder_factory.cc

/root/Projects/webrtc-checkout/src/pc/sdp_offer_answer.cc


]]></description><category></category></item><item><title><![CDATA[webrtc支持265软解码]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/115919377</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/115919377</guid><author>dtryl</author><pubDate>Thu, 02 Sep 2021 20:05:59 +0800</pubDate><description><![CDATA[进入目录:$(webrtc-checkout)/src/third_party/ffmpeg/chromium/scripts，修改build_ffmpeg.py：
configure_flags['Common'].extend([添加选项到后面:



'--enable-decoder=h264,hevc',
        '--enable-protocol=file',
        '--enable-demuxer=mov',
        '--enable-bsf=h264_mp4.]]></description><category></category></item><item><title><![CDATA[go语言带位置描述的字符串格式化]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/117759071</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/117759071</guid><author>dtryl</author><pubDate>Thu, 02 Sep 2021 20:05:20 +0800</pubDate><description><![CDATA[项目中执行很复杂的sql语句，底层封装的太死，不确定到底最终执行的sql语句字符串长啥样,虽然手工替换也能够得到，但毕竟效率太低，特别是当参数很多的时候，几乎是bu'ken
]]></description><category></category></item><item><title><![CDATA[EVP_DecryptFinal_ex:bad decrypt]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/117669234</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/117669234</guid><author>dtryl</author><pubDate>Mon, 07 Jun 2021 17:34:34 +0800</pubDate><description><![CDATA[启动wss服务,发现报错:

_tls_common.js:156
   c.context.setKey(key, passphrase);
        ^

Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt


经过研究
]]></description><category></category></item><item><title><![CDATA[编译webrtc android端的ffmpeg问题]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/115451586</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/115451586</guid><author>dtryl</author><pubDate>Tue, 06 Apr 2021 00:45:01 +0800</pubDate><description><![CDATA[进入third_party/ffmpeg/chromium/scripts目录,执行：


./build_ffmpeg.py  android arm64

编译报错，检查config.log，具体报错内容如下:

clang --sysroot=/root/Projects/webrtc-checkout/src/third_party/android_ndk/platforms/android-21/arch-arm64 -I/root/Projects/webrtc-checkout/src/thi]]></description><category></category></item><item><title><![CDATA[ssh错误:sign_and_send_pubkey: signing failed for RSA “/root/.ssh/id_rsa“ from agent: agent refused ope]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/109069203</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/109069203</guid><author>dtryl</author><pubDate>Wed, 14 Oct 2020 11:41:55 +0800</pubDate><description><![CDATA[今天,同步代码，出现如下错误:


root@rtc$git pull
sign_and_send_pubkey: signing failed for RSA "/root/.ssh/id_rsa" from agent: agent refused operation
git@192.168.60.168's password: 

对比windows环境下的git pull正常执行，想到可能是ssh文件的问题,二进制对比发现两者完全一致，显然不是这个问题。

分析，应该是ssh环境变动...]]></description><category></category></item><item><title><![CDATA[owt-server 数据流程]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/109031701</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/109031701</guid><author>dtryl</author><pubDate>Tue, 13 Oct 2020 10:31:01 +0800</pubDate><description><![CDATA[1，/root/Projects/owt-server/dist/management_api/rpc/rpc.js



//Create the queue for send messages
        clientQueue = connection.queue('', function (q) {
          log.info('ClientQueue ' + q.name + ' is open'+',clientQueue.name:'+cli...]]></description><category></category></item><item><title><![CDATA[OWT-Server 编译运行]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/108985900</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/108985900</guid><author>dtryl</author><pubDate>Mon, 12 Oct 2020 12:07:59 +0800</pubDate><description><![CDATA[1，编译源码，发现v8::Handle未声明的错误,经过多方调查,发现是node的版本的问题,可以用node 10.16.0,这个坑里面爬了一整天,也考虑过直接复制 ~/.cache/node-gyp/下面的正确版本号目录里面的内容，不料安装好指定版本的node之后,自动创建了这个目录,真是神奇。

  2，usrsctp编译遇到错误,经过检查,是编译选项太拉风的原因,修改/root/Projects/owt-server/build/libdeps/usrsctp/configure 1214...]]></description><category></category></item><item><title><![CDATA[postgresql 之row_to_json]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/108956096</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/108956096</guid><author>dtryl</author><pubDate>Wed, 07 Oct 2020 22:09:30 +0800</pubDate><description><![CDATA[PostgreSQL 9.2新增加了一个新的特性--JSON支持,具体包含一个JSON数据类型和两个json函数,这些techniques可以从数据库直接获取json格式的数据

How To


vkott_livecde=# select * from live_area_info ;
 area_id | area_name  |      description       
---------+------------+----------------------...]]></description><category></category></item><item><title><![CDATA[ffmpeg推流技术汇总]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/108561197</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/108561197</guid><author>dtryl</author><pubDate>Sun, 13 Sep 2020 13:07:05 +0800</pubDate><description><![CDATA[本文记录整理使用ffmpeg搭建推流环境

1，ffmpeg命令实际上也可以在推流时显示视频画面，对比接收端的视频画面，可以直观的得出延迟:




fmpeg -re -i /opt/testMediaFiles/1280_720_5000k.264   -pix_fmt yuv420p -f sdl xxx.yuv





2,ffmpeg推送裸流到rtmp服务器:




ffmpeg -re -i  /opt/testMediaFiles/1280_720_5000k.264 -r...]]></description><category></category></item><item><title><![CDATA[整理高能linux shell命令]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/107224451</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/107224451</guid><author>dtryl</author><pubDate>Thu, 09 Jul 2020 11:24:44 +0800</pubDate><description><![CDATA[1，在当前目录下排除node_modules在非目录项中查找join字符串:


find . -path ./node_modules -prune -o -not -type d -print | xargs grep --color=auto -wFRn "join"






]]></description><category></category></item><item><title><![CDATA[WebRTC编译(VS2017)]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/105214101</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/105214101</guid><author>dtryl</author><pubDate>Tue, 31 Mar 2020 07:55:13 +0800</pubDate><description><![CDATA[写一篇文章记录一下WebRTC的VS2017编译,这里记录的是网上没有搜索到的信息,作为对实践编译过程的补充
修改vs的并行编译工作数量为1
因为webrtc多达900多个项目,彼此之间存在复杂的依赖关系,并行编译会破坏这种依赖关系,可能是ninja构建系统的依赖关系设计并不完全兼容VS2017的工作方式吧

选择工具&gt;选项打开选项页,再选择环境&gt;项目和解决方案-&gt;生成并运行,设...]]></description><category></category></item><item><title><![CDATA[扩展Vmware的虚拟Linux系统磁盘]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/51526373</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/51526373</guid><author>dtryl</author><pubDate>Sat, 28 May 2016 20:32:03 +0800</pubDate><description><![CDATA[虚拟机Vmware装上一个Linux系统之后，刚开始比较吝啬，分配的磁盘空间太小，没过多久磁盘空间告急，这时怎么解决磁盘空间不足的问题?最简单的做法是重新安装一个虚拟机系统，可问题是重新配置好至自己习惯的状态，要安装接近无数的软件，不是不可能，太繁琐，最可行的做法是手工动态扩展磁盘分区。
           首先要做的事情是在虚拟机关机的状态下，先设定好扩展后的总的文件大小:
       ]]></description><category></category></item><item><title><![CDATA[Linux下进程信息的深入分析]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/51400885</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/51400885</guid><author>dtryl</author><pubDate>Sat, 14 May 2016 01:54:17 +0800</pubDate><description><![CDATA[这里我们主要介绍进程的状态，进程的状态可以通过/proc/PID/status来查看,也可以通过/proc/PID/stat来查看。

如果说到工具大家用的最多的ps也可以看到进程的信息。这里我们通过/proc/PID/status来分析进程的信息。

在2.6.18之后的内核，多了capibilty/cpusets等信息.

 

查看进程状态信息如下:

more stat]]></description><category></category></item><item><title><![CDATA[借助backtrace和demangle实现异常类Exception]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/51321520</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/51321520</guid><author>dtryl</author><pubDate>Thu, 05 May 2016 11:43:08 +0800</pubDate><description><![CDATA[C++的异常类是没有栈痕迹的，如果需要获取栈痕迹，需要使用以下函数：

#include 

int backtrace(void **buffer, int size);

char **backtrace_symbols(void *const *buffer, int size);

void backtrace_symbols_fd(void *const *buffer, int s]]></description><category></category></item><item><title><![CDATA[linux 查看进程占用内存]]></title><link>https://blog.youkuaiyun.com/dtryl/article/details/51321439</link><guid>https://blog.youkuaiyun.com/dtryl/article/details/51321439</guid><author>dtryl</author><pubDate>Thu, 05 May 2016 11:35:42 +0800</pubDate><description><![CDATA[1.top
top -b -n 1 |awk '{print "cpu:"$9"%","mem:"$10"%"}'
cpu:average:% mem:0.06,%
cpu:stopped,% mem:0%
cpu:id,% mem:5.1%
cpu:38984% mem:buffers%
cpu:592484% mem:cached%
cpu:% mem:%
cpu:%CPU% ]]></description><category></category></item></channel></rss>