- 博客(505)
- 资源 (35)
- 收藏
- 关注
原创 ZLMediakit独家特性介绍
1、先播放后推流痛点:推流成功前不能提前播放场景介绍:有些及时推流的场景,存在推流和播放同时发生的场景,这种场景一般是一对一的,譬如说基于rtmp推流的行车记录仪,用户在调阅车载摄像头视频的,下发推流命令给设备时,同时开始播放视频,如果播放请求先于推流到达流媒体服务器,那么流媒体服务器通常会立即返回流未找到的错误,为了解决这个问题,一般的解决方案是,通过设备确认推流成功再开启播放,但是这样往往会增加视频打开延时,拉低用户体验。zlmediakit针对此场景作出特别优化,可以在流不存在时,先不回
2022-01-13 19:17:24 2851 1
原创 git 不显示远端分支问题
背景最近在下载GitHub或者gitee项目,发现git fetch 怎么也发现不了远端分支,但是别人是正常的。多次fetch后仍然是不显示远端分支。琢磨半天,解决方式如下解决可执行git config -l 命令,查看git fetch 的配置,上述问题可能是没有进行git fetch的配置(或者只配置了上游分支),可执行付下命令进行配置:git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*再次执行git fe
2021-03-29 11:21:51 3329 1
原创 Typora 更改编辑器的宽度
Typora 更改编辑器的宽度文章目录1、设置 源码编辑器 的宽度 1.1、验证 2、设置 编辑器(主题) 的宽度1、设置 源码编辑器 的宽度Typora 安装目录,默认为C:\Program Files\Typora\resources\app\style\下,找到base-control.css文件 ,打开后搜索#typora-source,找到max-width(或者直接搜索max-width) ,将其值改为1200,如图所示:1.1、验证重启 Ty...
2020-12-07 14:45:24 1416 1
原创 RTMP协议消息分析
RTMP协议消息分析一. RTMP握手RTMP 握手分为简单握手和复杂握手,现在Adobe公司使用RTMP协议的产品用复杂握手的较多,不做介绍。1.1 握手包格式C0和S0 0 1 2 3 4 5 6 7+-+-+-+-+-+-+-+-+| version |+-+-+-+-+-+-+-+-+ C0 and S0 bitsC0和S0:1个字节,包含了RTMP版本, 当前RTMP协议的版本为 3。C1和S1 0 1
2020-11-18 21:28:26 566
原创 TCP粘包问题分析和解决
原文链接:https://www.cnblogs.com/kex1n/p/6502002.html在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小、数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。对于UDP,不会使用块的合并优化算法,
2020-10-20 21:03:13 417
原创 标准时间和时间戳转换
c++11 标准时间和时间戳转换//// Created by monktan on 2020/10/16.//#include <cstdint>#include <iostream>#include <chrono>std::time_t getTimeStamp(){ std::chrono::time_point<std::chrono::system_clock,std::chrono::milliseconds> tp
2020-10-16 11:03:13 1052
原创 leetcode题解系列-015 最接近的三数之和
老规矩,线上代码,后面有解题思路://// Created by tannzh on 2020/6/19.///* * 给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数, 使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示:3 &l...
2020-09-18 09:55:26 132
原创 leetcode题解系列-014 三数之和
老规矩,先上代码,后续有解题思路://// Created by tannzh on 2020/6/19.///* * 三数之和 给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, ...
2020-09-18 09:54:56 197
原创 leetcode题解系列-013 最长公共前缀
老规矩,先上代码,后面有解题思路://// Created by tannzh on 2020/6/18.///* * 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。*/#include <strin...
2020-09-18 09:54:02 170
原创 leetcode题解系列-012 罗马数字转整数
老规矩,先上代码,最后有解题思路://// Created by tannzh on 2020/6/18.///* * 罗马数字转整数罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 ...
2020-09-18 09:53:13 157
原创 leetcode题解系列-011 整数转罗马数字
老规矩,先上代码,后面有解题思路://// Created by tannzh on 2020/6/17.///* * 整数转罗马数字罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2...
2020-08-20 16:39:38 179
原创 leetcode题解系列-010 盛最多水的容器
题目老规矩先上代码,后面有解题思路。//// Created by tannzh on 2020/6/17.///*给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此...
2020-08-20 16:38:55 147
原创 leetcode题解系列-009 正则表达式匹配
老规矩,先上代码,后面有解题思路。//// Created by tannzh on 2020/6/16.///* * 正则表达式匹配给你一个字符串s和一个字符规律p,请你来实现一个支持 '.'和'*'的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖整个字符串s的,而不是部分字符串。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符.和*。示例 ...
2020-08-20 16:38:19 272
原创 leetcode题解系列-008 回文数
老规矩,先上代码,后面有解题思路。//// Created by tannzh on 2020/6/16.///** 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1: 输入: 121 输出: true示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3: 输入: 10 输出: f.
2020-08-20 16:37:42 123
原创 【转】腾讯云PCDN:从P2P到万物互联服务框架
回顾XP2P的发展历程,由为近几年兴起的直播业务节省带宽成本为出发点,经过日益发展完善,XP2P已经在底层借助STUN、端口预测、生日攻击、UPnP构建了完善的互联直连基础,并且在直连的UDP连接的基础上拥有了高效、可靠传输协议XNTP,借此再高屋建瓴,在之上实现了广泛应用的HTTP协议,至此万物互联的服务框架已经基本搭建完成,具备网络负载小、传输性能高、稳定的特点。本文来自于腾讯云高级工程师张鹏在LiveVideoStackCon2019北京站上的精彩分享。文/张鹏整理 /Live...
2020-08-05 15:50:25 1860 1
原创 leetcode题解系列-007 字符串转换整数 (atoi)
老规矩,先上代码,后续有解题思路。//// Created by tannzh on 2020/6/15.///* * 字符串转换整数 (atoi)请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一..
2020-07-09 16:11:02 240
原创 leetcode题解系列-006 整数反转
老规矩,先上代码,后面有题解。//// Created by tannzh on 2020/6/15.///* * 整数反转 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 */#include <climits>#include <iostrea.
2020-07-09 16:10:23 202
原创 leetcode题解系列-005 Z字形变换
老规矩,先上代码://// Created by tannzh on 2020/6/12.///* * Z 字形变换将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进..
2020-07-09 16:09:46 207
原创 leetcode题解系列-004 寻最长回文子串
老规矩,先上代码,后面有解题思路。//// Created by tannzh on 2020/6/12.///* * 最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"通过次数291,057提交次数947,907 */#include <iostream>#incl.
2020-07-09 16:08:58 176
原创 leetcode题解系列-002 无重复最长子串长度
首先,老原则,先直接上代码。//// Created by tannzh on 2020/6/11.///*给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子...
2020-06-12 10:46:38 172
原创 leetcode题解系列-003 寻找两个正序数组的中位数
老规矩,先上代码://// Created by tannzh on 2020/6/11.///*给定两个大小为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为O(log(m + n))。你可以假设nums1和nums2不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 2.0 示例 2: nums1 = [1...
2020-06-12 10:45:04 201
原创 ffmpeg截取视频片段命令优化
正常简单命令:ffmpeg -i input.mp4 -ss 1:05 -t 10 output.mp4-ss 5指定从输入视频第1:05秒开始截取,-t 10指明最多截取10秒。但是上面的命令可能会比较慢,更好的命令如下:ffmpeg -ss 1:05 -i input.mp4 -t 10 -c:v copy -c:a copy output.mp4把-ss 1:05放到-i前面,与原来的区别是,这样会先跳转到第1:05秒在开始解码输入视频,而原来的会从开始解码,只是丢弃掉前1
2020-06-11 16:01:49 2099
原创 leetcode题解系列-000两数之和
//// Created by tannzh on 2020/6/9.///* * 标题: 两数之和 * 给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 * * 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 * 示例: * 给定 nums = [2, 7, 11, 15], target = 9 * 因为 nums[0] + nums[1] = 2 + 7 = 9 * 所以返回...
2020-06-11 10:38:14 177
原创 leetcode题解系列-001 两数相加
直接上题目和代码,最后面有解题思路分析。//// Created by tannzh on 2020/6/9.///* 给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的, 并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)...
2020-06-11 10:36:14 208
原创 MAC Wireshark 打开错误
MAC Wireshark 打开错误,打开遇到 you don't have permission to capture on that device mac 错误的解决方案1. 打开终端,输入命令whoami2. 假设用户是tomcat3. 进入/dev目录cd /devsudo chown tomcat:admin bp*4. 重新打开wireshark,成功解决...
2020-05-28 15:14:42 586 2
原创 WebRTC 基础技术 | RTP 包序列号的回绕处理
原文链接:这里 导读 序列号回绕 ForwardWrap BackwardWrap 源码分析 IsNewer 函数 Unwrap 函数 测试用例 测试 1 测试 2 总结 导读在诸多的网络通信协议中,都会有序列号字段sequence numb...
2020-05-08 16:41:48 2452 1
原创 音视频基础知识-时间戳的理解
转自:https://mp.weixin.qq.com/s/w-UUR596wRkUOGpKxEIw7Q问题背景:凡是和流媒体和音视频打交道,时间戳基本是一个必须深刻理解的概念。你会在各种各样的传输协议和封装格式中看到这个东西,而且表现形式还不一样。其次这个概念会涉及到音视频播放的同步问题,也会影响音视频播放的控制问题。前者说的是音画同步,后者说的是类似快进,随机点播放等。如果要理解好这个...
2020-04-16 18:47:47 6766 2
原创 完整SIP/SDP媒体协商概论-ICE初始offer发送详解
原文地址:https://mp.weixin.qq.com/s/plQi0lK2kxwYWv7WpVzGDA在前面的章节中,我们主要讨论了ICE概览,介绍了ICE的基本处理流程和候选地址配对的算法概论和轻量级ICE部署(Lite Implementations)的讨论。和前面介绍中讨论的SIP中offer的处理一样,在此文章中,笔者也将首先介绍ICE处理过程中初始offer的发送处理。因...
2020-04-10 16:43:19 2043 1
原创 最新vs2019编译libevent-2.1.11-stable
最新vs2019编译libevent-2.1.11-stable准备工作安装vs2019略下载lievent下载地址开始编译打开vs命令行进入到libevent库目录执行nmake /f Makefile.nmake提示如下报错解决办法编辑minheap-internal.h文件,在最前面添加include <stdint.h>头文件,重新执行上述编译...
2020-03-29 13:20:28 1731 1
原创 JNI笔记3,解决findClass()调用失败的问题
JNI笔记3,解决findClass()调用失败的问题以上一篇转载的为例,做具体分析,并且代码调试通过,上一篇转载的文章因转载人数过多,其实代码是跑不起来的。00 背景在JNI的调用中,总是要涉及到Native层调用Java层的情况,最近遇到的问题就是,Native层本地多线程回调Java函数时env->findClass()失败,单线程调用的时候会成功,多线程调用的时候存在返回N...
2020-03-21 17:36:09 2941
转载 Jni本地多线程回调Java函数,env->findClass()失败。
lipeng32768 最后发布于2014-12-19 21:27:06 阅读数 5071 收藏展开遇到的问题,Native层本地多线程回调Java函数时env->findClass()失败。前面的代码是这样的在JNI_OnLoad记录全局变量g_vmstaticJavaVM*g_vm=NULL;JNIEXPORTjintJNICALLJNI_OnLoad(J...
2020-03-18 09:44:56 1223 1
原创 Mac系统应用已经删除,但是右键还有残留的解决办法
打开终端,执行如下命令即可。/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user...
2020-03-02 16:19:01 4207 5
原创 C/C++下__FILE__参数过长的问题解决办法
C/C++下__FILE__参数过长的问题解决办法编译mycode库时,爆出一个编译问题:snprintf(msg, sizeof(msg), “OOTB, %s:%d at %s”, FILE, LINE, func);这儿报告msg的空间不足以存放后续的内容,此字符串在实际编译后,存放的内容大小是固定的,但由于__FILE__带了全路径,导致报告空间不够。搜索一通后解决办法如下:如...
2020-02-19 19:13:26 1224
转载 浅谈 WebRTC NetEQ
WebRTC Native 代码里面有很多值得学习的宝藏,其中一个就是 WebRTC 的 NetEQ 模块。根据 WebRTC 术语表 对 NetEQ 的解释:A dynamic jitter buffer and error concealment algorithm used for concealing the negative effects of network jitter an...
2020-02-17 16:39:17 1238 1
原创 JNI笔记2
JNI 笔记 25 引用类型JNI 把 instance 和 array 类型的指针对外公布为 opaque reference,这种引用对于 JNI 来说是透明的,本地代码不需要通过指针操作 reference,不需要关心对象的内存布局,而是通过 JNI API。关于 reference,有以下内容需要掌握:JNI支持三种类型的opaque reference:local refer...
2020-01-20 17:38:16 333
原创 JNI笔记1
JNI 学习资料:Oracle JNI 文档 1.5Oracle JNI 文档 1.7《The Java™ NativeInterfaceProgrammer’s Guide and Specification》IBM:Java 本机接口 (JNI)极客学院:JNI/NDK 开发指南IntelliJ IDEA平台下 JNI 编程笔记翻译自《The Java™ NativeInt...
2020-01-20 17:37:34 314
原创 git常用别名
[alias] s = status st = status sb = status -s -b ############# d = diff di = diff dc = diff --cached dk = diff --check dck = diff --cached --chec...
2019-12-21 11:22:44 207
原创 Error message when starting vim: “Failed to set locale category LC_NUMERIC to en_CH” (or en_BR, en_R
mac vim配置后改变系统语言,报出如下警告:Warning: Failed to set locale category LC_NUMERIC to en_CH.Warning: Failed to set locale category LC_TIME to en_CH.Warning: Failed to set locale category LC_COLLATE to en_...
2019-12-21 11:13:25 690
原创 git常用命令列表
1 常用$ git remote add origin git@github.com:yeszao/dofiler.git # 配置远程git版本库$ git remote set-url --add origin git@gitee.com:yeszao/dnmp.git # 多添加一个push地址,这样一次可以push到多个remote$ git pull ori...
2019-12-21 11:03:59 178
原创 mac使用brew update无反应,更新慢解决办法
使用中科大的镜像替换默认源第一步,替换brew.gitcd "$(brew --repo)"git remote set-url origin https://mirrors.ustc.edu.cn/brew.git第二步:替换homebrew-core.gitcd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"g...
2019-12-20 10:45:19 899
Visual Assist X 10.9.2238.2 和谐文件
2017-11-30
C++并发编程(中文版)(c++ 11)
2017-10-13
Visual Assist X 10.7.1929 破解Patched
2013-03-11
Linux下音频设备编程
2012-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人