<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[linux_vae的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/linux_vae</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; linux_vae]]></copyright><item><title><![CDATA[ERROR at //build/config/BUILDCONFIG.gn:401:1: Unknown function.]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/125303534</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/125303534</guid><author>linux_vae</author><pubDate>Wed, 15 Jun 2022 19:42:06 +0800</pubDate><description><![CDATA[BUILDCONFIG.gn:401:1: Unknown function.]]></description><category></category></item><item><title><![CDATA[python3 mysql使用]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/121264826</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/121264826</guid><author>linux_vae</author><pubDate>Thu, 11 Nov 2021 11:41:17 +0800</pubDate><description><![CDATA[apt-get install default-libmysqlclient-dev
pip install mysql
conda install mysql
pip install  DBUtils==1.3
pip install pymysql
import pymysql
from DBUtils.PooledDB import PooledDB
import logging
#打开数据库连接
class MySQL:
    host = '47.75.158.180'
    user = ']]></description><category></category></item><item><title><![CDATA[RocketMQ为什么同一个消费组设置不同tag 消费一半的问题]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/119996316</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/119996316</guid><author>linux_vae</author><pubDate>Mon, 30 Aug 2021 14:26:19 +0800</pubDate><description><![CDATA[RocketMQ为什么同一个消费组设置不同tag 消费一半的问题

]]></description><category></category></item><item><title><![CDATA[jupyter notebook创建步骤]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/111592792</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/111592792</guid><author>linux_vae</author><pubDate>Wed, 23 Dec 2020 16:17:54 +0800</pubDate><description><![CDATA[1003  [2020-12-23 15:56:24] bash Anaconda3-2020.11-Linux-x86_64.sh
1004  [2020-12-23 15:59:19] jupyter notebook --generate-config
1005  [2020-12-23 15:59:32] cd /usr/local/anaconda3/
1006  [2020-12-23 15:59:33] ls
1007  [2020-12-23 15:59:34] cd bin/
1008  ]]></description><category></category></item><item><title><![CDATA[ffmpeg 添加同时多个水印]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/110049451</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/110049451</guid><author>linux_vae</author><pubDate>Tue, 24 Nov 2020 11:29:18 +0800</pubDate><description><![CDATA[ffmpeg 添加同时多个水印添加图片水印添加水印和文字及透明度
添加图片水印
ffmpeg -i test11.mp4  -i water.jpg -i water.jpg  -filter_complex "[1:v]scale=110:100[s];[0:v][s]overlay=5:5[vo]2:v]scale=110:100[s2];[vo][s2]overlay=x=W-w:y=5" left1.mp4

添加水印和文字及透明度
ffmpeg  -threads 4 -i test11.mp4 ]]></description><category></category></item><item><title><![CDATA[janus ice 协商过程失败的一些记录]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/104221665</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/104221665</guid><author>linux_vae</author><pubDate>Sat, 08 Feb 2020 14:04:06 +0800</pubDate><description><![CDATA[@janus ice 协商过程失败的一些记录
janus ice 协商过程失败的一些记录
Lite Implementations：

一般是ice服务器可以实现，这种模式下，只接受binding request请求，并且回复。 不会主动发送binding request请求给对方,如果服务器一直处于公网IP下，就可使用这种模式，服务器不收集candidate，只接受stun binding re...]]></description><category></category></item><item><title><![CDATA[webrtc 音视频同步]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/103471062</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/103471062</guid><author>linux_vae</author><pubDate>Tue, 10 Dec 2019 10:43:49 +0800</pubDate><description><![CDATA[这两篇文章，可以直接去看；
《WebRTC音视频同步机制实现分析》
https://www.jianshu.com/p/3a4d24a71091
《WebRTC音视频同步分析》
https://blog.youkuaiyun.com/lincaig/article/details/81209895
《RTCP(一): RR–Receiver Reports 接收者报告》
https://blog.csdn.n...]]></description><category></category></item><item><title><![CDATA[LearningWebRTC: RTP/RTCP协议]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/103455132</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/103455132</guid><author>linux_vae</author><pubDate>Mon, 09 Dec 2019 11:34:59 +0800</pubDate><description><![CDATA[转自 ：https://xjsxjtu.github.io/2017-06-25/LearningWebRTC-RTP-RTCP/
参考
总结RTP协议关键概念，Header关键字段，RTCP常见作用。 对于协议中理解比较模糊的地方，查看WebRTC M59相关实现。


RTP关键概念
RTP session
Address+Port确定了一个RTP session,一般RTCP端口号比RTP大...]]></description><category></category></item><item><title><![CDATA[webrtc编译]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/103049734</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/103049734</guid><author>linux_vae</author><pubDate>Wed, 13 Nov 2019 15:18:46 +0800</pubDate><description><![CDATA[查看 ：xcrun security find-identity -v -p codesigning
使用uuid
gn gen out/ios_64 --args=‘target_os=“ios” target_cpu=“arm64”’ ios_code_signing_identity=“EB4873F5FEE4647354D477CC909371A702BE456F”

...]]></description><category></category></item><item><title><![CDATA[webrtc中的码率控制]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/100853896</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/100853896</guid><author>linux_vae</author><pubDate>Sun, 15 Sep 2019 14:34:01 +0800</pubDate><description><![CDATA[本来想要自己写一篇文章，但是网上已经有很好的文章了，所以这里直接综合转载；
文章前面的部分是简单总结，后面是转载的文章；

名词解释：

GCC谷歌提出的拥塞控制算法(Google Congestion
 Control，简称GCC[1])来控制发送端码率

TransportCC：
REMB：&nbsp;Receiver Estimated Maximum Bitrate, &nbsp;接收端...]]></description><category></category></item><item><title><![CDATA[牛逼的Linux性能剖析—perf]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/100729532</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/100729532</guid><author>linux_vae</author><pubDate>Wed, 11 Sep 2019 11:01:11 +0800</pubDate><description><![CDATA[系统级性能优化通常包括两个阶段：性能剖析（performance profiling）和代码优化。性能剖析的目标是寻找性能瓶颈，查找引发性能问题的原因及热点代码。代码优化的目标是针对具体性能问题而优化代码或编译选项，以改善软件性能。本篇主要讲性能分析中常用的工具——perf。
perf是一款Linux性能分析工具。Linux性能计数器是一个新的基于内核的子系统，它提供一个性能分析框架，比如硬件（C...]]></description><category></category></item><item><title><![CDATA[超越RFC3550-RTP/RTCP协议族分析]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/100558804</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/100558804</guid><author>linux_vae</author><pubDate>Thu, 05 Sep 2019 15:26:36 +0800</pubDate><description><![CDATA[一 前言
RF3550定义实时传输协议RTP和它的控制协议RTCP。RTP协议是Internet上针对流媒体传输的基础协议，该协议详细说明在互联网上传输音视频的标准数据包格式。RTP本身只保证实时数据的传输，并不能提供可靠传输、流量控制和拥塞控制等服务质量保证，这需要RTCP协议提供这些服务。
RTCP协议负责流媒体的传输质量保证，提供流量控制和拥塞控制等服务。在RTP会话期间，各参与者周期性彼此...]]></description><category></category></item><item><title><![CDATA[查看模块的conf]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/99597193</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/99597193</guid><author>linux_vae</author><pubDate>Wed, 14 Aug 2019 18:48:47 +0800</pubDate><description><![CDATA[p (ngx_rtmp_access_app_conf_t)(((ngx_rtmp_core_app_conf_t)(((ngx_rtmp_core_srv_conf_t)ngx_rtmp_core_main_conf-&gt;servers-&gt;elts))-&gt;applications-&gt;elts))-&gt;app_conf[ngx_rtmp_access_module.ctx...]]></description><category></category></item><item><title><![CDATA[H.264/MPEG-4 AVC学习]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/93062721</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/93062721</guid><author>linux_vae</author><pubDate>Thu, 20 Jun 2019 16:50:01 +0800</pubDate><description><![CDATA[转自： https://www.freehacker.cn/media/codec-h264/
简述
H.264，又称为 MPEG-4 第10部分，高级视频编码（英语：MPEG-4 Part 10, Advanced Video Coding，缩写为 MPEG-4 AVC）是一种面向块的基于运动补偿的视频编码标准 。
对于视频序列样本来说，使用 H.264 编码器能够比使用有运动补偿的 MPEG-...]]></description><category></category></item><item><title><![CDATA[WebRTC QOS概念简述]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/92840658</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/92840658</guid><author>linux_vae</author><pubDate>Thu, 20 Jun 2019 16:16:05 +0800</pubDate><description><![CDATA[Bandwidth Estimation
 REMB
NACK
FEC
SVC
JTBUFFER
IDR Request]]></description><category></category></item><item><title><![CDATA[WebRTC的transport wide cc feedback 带宽预估]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/92814626</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/92814626</guid><author>linux_vae</author><pubDate>Wed, 19 Jun 2019 13:50:12 +0800</pubDate><description><![CDATA[@toc
背景介绍

BWE 带宽预估，参考  https://blog.youkuaiyun.com/CrystalShaw/article/details/82981183  的文章
–	 丢包预测：丢包率反应带宽情况
–  延时预测： 组包延时，多个包的到达时间delta的趋势来判断带宽情况
– 从之前GCC拥塞的接收端计算带宽并发送remb 到接收端反馈Transport cc， 由发送端sender...]]></description><category></category></item><item><title><![CDATA[RTCP SR格式]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/90257419</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/90257419</guid><author>linux_vae</author><pubDate>Thu, 16 May 2019 09:58:15 +0800</pubDate><description><![CDATA[一. 前言
发送rtp报文端向接受者发送SR报文，主要目的是方便接收方做好音视频同步工作。
二. RTCP SR格式
发送者报告SR，其RTCP类型payload type是200。主要信息共24bytes，也就是6 words，如图2.1

图2.1
2.1 NTP timestamp
NTP timestamp是64位无符号整型，表示该SR报文发送的时刻。
NTP timestamp的含义，
...]]></description><category></category></item><item><title><![CDATA[RTCP RR的格式]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/90257386</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/90257386</guid><author>linux_vae</author><pubDate>Thu, 16 May 2019 09:56:43 +0800</pubDate><description><![CDATA[RTCP RR的格式
接受者报告的RTCP类型是201，如图1.1所示。

图1.1
reporter ssrc
rr报告发送者的ssrc，也就是rtp报文接受者自己的ssrc.
reportee ssrc
rr报告接受者的ssrc，也就是rtp报文发送者的ssrc.
cumulative number of packet lost
累积报文丢失总数，该字段是一个24-bits的有符号整数。
理论...]]></description><category></category></item><item><title><![CDATA[webrtc FB 类型区分]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/90211719</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/90211719</guid><author>linux_vae</author><pubDate>Tue, 14 May 2019 17:49:31 +0800</pubDate><description><![CDATA[https://tools.ietf.org/html/rfc4585#page-31
janus 代码
gboolean janus_rtcp_has_pli(char *packet, int len) {
	/* Parse RTCP compound packet */
	janus_rtcp_header *rtcp = (janus_rtcp_header *)packet;
	int...]]></description><category></category></item><item><title><![CDATA[nginx中的锁与原子操作]]></title><link>https://blog.youkuaiyun.com/linux_vae/article/details/89309575</link><guid>https://blog.youkuaiyun.com/linux_vae/article/details/89309575</guid><author>linux_vae</author><pubDate>Mon, 15 Apr 2019 12:21:24 +0800</pubDate><description><![CDATA[nginx中的锁与原子操作
问题引入
多线程或者多进程程序访问同一个变量时，需要加锁才能实现变量的互斥访问，否则结果可能是无法预期的，即存在并发问题。解决并发问题通常有两种方案：
1）加锁：访问变量之前加锁，只有加锁成功才能访问变量，访问变量之后需要释放锁；这种通常称为悲观锁，即认为每次变量访问都会导致并发问题，因此每次访问变量之前都加锁。
2）原子操作：只要访问变量的操作是原子的，就不会导致并发...]]></description><category></category></item></channel></rss>