博客园 - 2BiTT
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=23098
2023-08-13T07:32:02Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
feed.cnblogs.com
https://www.cnblogs.com/qwj-sysu/p/17626634.html
一次项目迭代的回顾 - 2BiTT
最近一个迭代接了一个需求,自己提了一个需求总的来说,做的一般般,核心问题在于工作量的预估跟实际的工作量差别较大,导致开发质量一般,自测质量一般,最后上线质量也一般 请求录制和录制布局需求 即使把改动的技术点整理了出来,但没有做好的点也很多 技术点整理的太粗糙,没有暴露细节 例如请求录制的整个流程没有
2023-08-13T07:32:00Z
2023-08-13T07:32:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】最近一个迭代接了一个需求,自己提了一个需求总的来说,做的一般般,核心问题在于工作量的预估跟实际的工作量差别较大,导致开发质量一般,自测质量一般,最后上线质量也一般 请求录制和录制布局需求 即使把改动的技术点整理了出来,但没有做好的点也很多 技术点整理的太粗糙,没有暴露细节 例如请求录制的整个流程没有 <a href="https://www.cnblogs.com/qwj-sysu/p/17626634.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15851034.html
Mac 网络类型识别 - 2BiTT
参考 https://www.jianshu.com/p/6ce77a584a3e ,解决了变量释放的问题,实现版本如下 获取目前使用的网络接口的名称 遍历所有网络接口,找到使用的那一个 判断网络接口的协议和展示明显,判定是有线(ethernet)还是Wi-Fi void GetNetworkTye
2022-01-27T11:08:00Z
2022-01-27T11:08:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】参考 https://www.jianshu.com/p/6ce77a584a3e ,解决了变量释放的问题,实现版本如下 获取目前使用的网络接口的名称 遍历所有网络接口,找到使用的那一个 判断网络接口的协议和展示明显,判定是有线(ethernet)还是Wi-Fi void GetNetworkTye <a href="https://www.cnblogs.com/qwj-sysu/p/15851034.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15811152.html
QT从新手到入门系列2-曲线图制作 - 2BiTT
本篇的目标是实现一个可以动态刷新的曲线图,几乎是过去一个多月的qt学习落地的集大成者,下面逐步讲解一下 窗口选择 选择dialog,这样点击的时候可以直接在最上方,通过设置属性隐藏标题栏 setWindowFlags(Qt::Window | Qt::FramelessWindowHint) 窗口弹
2022-01-16T12:38:00Z
2022-01-16T12:38:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】本篇的目标是实现一个可以动态刷新的曲线图,几乎是过去一个多月的qt学习落地的集大成者,下面逐步讲解一下 窗口选择 选择dialog,这样点击的时候可以直接在最上方,通过设置属性隐藏标题栏 setWindowFlags(Qt::Window | Qt::FramelessWindowHint) 窗口弹 <a href="https://www.cnblogs.com/qwj-sysu/p/15811152.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15810671.html
QT从新手到入门系列1-熟悉qt开发的项目架构 - 2BiTT
因为项目需要,从零开始学习qt开发,一两个月从新手到入门,特此整理系列来记录和加强记忆。 准备工作 1. 下载好qt,几个G的那个大文件,安装 2. 随便找一些qt的入门教程,大致了解qt是什么,可以干什么 qt项目架构 实操碰到的弯路 我们项目中有现成的qt开发的其他界面,原本想着如何快速的cop
2022-01-16T09:16:00Z
2022-01-16T09:16:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】因为项目需要,从零开始学习qt开发,一两个月从新手到入门,特此整理系列来记录和加强记忆。 准备工作 1. 下载好qt,几个G的那个大文件,安装 2. 随便找一些qt的入门教程,大致了解qt是什么,可以干什么 qt项目架构 实操碰到的弯路 我们项目中有现成的qt开发的其他界面,原本想着如何快速的cop <a href="https://www.cnblogs.com/qwj-sysu/p/15810671.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15607939.html
webrtc Android jni和c++ 相互调用方法讲解 - 2BiTT
c++ 调用 java c++ 调用java方法的写法很繁琐,webrtc中为了避免大量的重复代码,自己实现了一套jni的生成替换方法,从而使得代码看起来更“干净”,但给看代码带来了一些麻烦,记录一下webrtc Android代码的jni调用 sdk中有一个jni目录 我们以一个文件为例 webr
2021-11-26T07:03:00Z
2021-11-26T07:03:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】c++ 调用 java c++ 调用java方法的写法很繁琐,webrtc中为了避免大量的重复代码,自己实现了一套jni的生成替换方法,从而使得代码看起来更“干净”,但给看代码带来了一些麻烦,记录一下webrtc Android代码的jni调用 sdk中有一个jni目录 我们以一个文件为例 webr <a href="https://www.cnblogs.com/qwj-sysu/p/15607939.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15592339.html
windows Qstring 格式化字符串 - 2BiTT
Windows c++格式化字符串是个不省事的活,还想保证和mac平台保存通用,跨平台特性也得支持,调研一番,貌似只有Qstring符合了,特此记录一下 arg函数只支持字符串 参数最多九个 using namespace std; QString network = QString("{\"net
2021-11-23T03:11:00Z
2021-11-23T03:11:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】Windows c++格式化字符串是个不省事的活,还想保证和mac平台保存通用,跨平台特性也得支持,调研一番,貌似只有Qstring符合了,特此记录一下 arg函数只支持字符串 参数最多九个 using namespace std; QString network = QString("{\"net <a href="https://www.cnblogs.com/qwj-sysu/p/15592339.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15490288.html
MediaStreamTrack Content Hints 解读 - 2BiTT
背景 媒体流有两大类,音频和视频;音频中两种典型的场景,需要3A的(例如通话、演讲)和不需要3A的(音乐);视频中也有两种典型的场景,关注内容(帧率小一点可以接受,例如ppt讲演)和关注运动(例如运动的视频,帧率要保证,糊一点比低帧率更能接受)。如果没有为mediaStreamTrack指定内容的属
2021-10-31T10:09:00Z
2021-10-31T10:09:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】背景 媒体流有两大类,音频和视频;音频中两种典型的场景,需要3A的(例如通话、演讲)和不需要3A的(音乐);视频中也有两种典型的场景,关注内容(帧率小一点可以接受,例如ppt讲演)和关注运动(例如运动的视频,帧率要保证,糊一点比低帧率更能接受)。如果没有为mediaStreamTrack指定内容的属 <a href="https://www.cnblogs.com/qwj-sysu/p/15490288.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15335619.html
webrtc源码阅读理解一 - 2BiTT
webrtc是一个比较成熟的实时音视频处理开源项目,一上来老大就扔给我一本webrtc native实践,虽然狠下心“翻”完了一遍,但是还是云里雾里的,在经过几个月的摸索之后,我大概知道原因了,归根到底,是基础不在一个层次,理解不了的,所以我决定,尝试写一个接近我这种零基础入门实时音视频的记录系列,
2021-09-25T13:36:00Z
2021-09-25T13:36:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】webrtc是一个比较成熟的实时音视频处理开源项目,一上来老大就扔给我一本webrtc native实践,虽然狠下心“翻”完了一遍,但是还是云里雾里的,在经过几个月的摸索之后,我大概知道原因了,归根到底,是基础不在一个层次,理解不了的,所以我决定,尝试写一个接近我这种零基础入门实时音视频的记录系列, <a href="https://www.cnblogs.com/qwj-sysu/p/15335619.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15293296.html
c++ include的顺序重要吗? - 2BiTT
答案是:有预编译的就很重要;有同名函数与宏定义的时候就很重要; include的本质是把所有头文件按照你写的顺序连接起来,如果同名的宏定义在函数定义前面,就有可能导致函数定义出现莫名其妙的错误;核心原因是预编译的时候,宏定义会展开代码
2021-09-16T06:19:00Z
2021-09-16T06:19:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】答案是:有预编译的就很重要;有同名函数与宏定义的时候就很重要; include的本质是把所有头文件按照你写的顺序连接起来,如果同名的宏定义在函数定义前面,就有可能导致函数定义出现莫名其妙的错误;核心原因是预编译的时候,宏定义会展开代码 <a href="https://www.cnblogs.com/qwj-sysu/p/15293296.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15261800.html
简说yuv - 2BiTT
最近弄了一个读取y4m文件转成yuv的流的事情,记录一些yuv相关的细节 为什么会有yuv 因为我们目前的显示器显示的原理都是三原色,几乎所有的视频数据最后都要转为rgb格式才能渲染到显示屏上,而原始的rgb格式存储太耗费空间 rgb存储空间是每个像素点需要 rbg三个属性,每个属性八个bit来存储
2021-09-13T06:37:00Z
2021-09-13T06:37:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】最近弄了一个读取y4m文件转成yuv的流的事情,记录一些yuv相关的细节 为什么会有yuv 因为我们目前的显示器显示的原理都是三原色,几乎所有的视频数据最后都要转为rgb格式才能渲染到显示屏上,而原始的rgb格式存储太耗费空间 rgb存储空间是每个像素点需要 rbg三个属性,每个属性八个bit来存储 <a href="https://www.cnblogs.com/qwj-sysu/p/15261800.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15247866.html
i420 转 nv21 - 2BiTT
private static byte[] I420ToNv21(byte[] i420bytes, int width, int height) { byte[] nv21bytes = new byte[i420bytes.length]; int y_len = width * height;
2021-09-09T09:04:00Z
2021-09-09T09:04:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】private static byte[] I420ToNv21(byte[] i420bytes, int width, int height) { byte[] nv21bytes = new byte[i420bytes.length]; int y_len = width * height; <a href="https://www.cnblogs.com/qwj-sysu/p/15247866.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15243817.html
ffmpeg mp4 转 yuv、 y4m转yuv、mp4转y4m && ffplay 播放y4m、yuv - 2BiTT
y4m是yuv的一种存储格式 $ ffmpeg -i ~/Downloads/01.mp4 ~/Downloads/test.yuv $ ffmpeg -i ~/Downloads/01.mp4 ~/Downloads/test.y4m $ ffmpeg -i test.y4m -vsync 0 t
2021-09-08T09:42:00Z
2021-09-08T09:42:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】y4m是yuv的一种存储格式 $ ffmpeg -i ~/Downloads/01.mp4 ~/Downloads/test.yuv $ ffmpeg -i ~/Downloads/01.mp4 ~/Downloads/test.y4m $ ffmpeg -i test.y4m -vsync 0 t <a href="https://www.cnblogs.com/qwj-sysu/p/15243817.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15161719.html
sublime vintage mode 按住一个键(比如 j)不会重复的问题 - 2BiTT
issue链接 https://github.com/xhlwill/blog/issues/14 解决方案:mac 上面可以输入defaults write com.sublimetext.后使用tab键看下自己本机的版本 ✗ defaults write com.sublimetext.4 Ap
2021-08-19T06:45:00Z
2021-08-19T06:45:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】issue链接 https://github.com/xhlwill/blog/issues/14 解决方案:mac 上面可以输入defaults write com.sublimetext.后使用tab键看下自己本机的版本 ✗ defaults write com.sublimetext.4 Ap <a href="https://www.cnblogs.com/qwj-sysu/p/15161719.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/15146693.html
一次让人记忆深刻的No implementation found for问题排查记录 - 2BiTT
webrtc里面的Java的jni方法的实现和传统的开发流程不一致,你按照webrtc规定的语法编写对应接口,webrtc自带的模块会自动帮你生产一堆的接口代码,减少很多无谓的重复劳动 这次我们在webrtc的c++层增加了一个native 方法给Java层调用,so和aar生成之后,就“随便”在J
2021-08-16T02:58:00Z
2021-08-16T02:58:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】webrtc里面的Java的jni方法的实现和传统的开发流程不一致,你按照webrtc规定的语法编写对应接口,webrtc自带的模块会自动帮你生产一堆的接口代码,减少很多无谓的重复劳动 这次我们在webrtc的c++层增加了一个native 方法给Java层调用,so和aar生成之后,就“随便”在J <a href="https://www.cnblogs.com/qwj-sysu/p/15146693.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/14763751.html
git 本地协议、http、ssh、git协议优缺点总结对比 - 2BiTT
之前一直使用的是git的http协议来推拉代码,新公司使用的是git协议,好奇这两种的区别,科普了一下,https://cloud.tencent.com/developer/article/1347791,发现git的协议其实有四种,链接说的太啰嗦了,自己总结一下 协议 优点 缺点 本地协议 基于
2021-05-13T03:11:00Z
2021-05-13T03:11:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】之前一直使用的是git的http协议来推拉代码,新公司使用的是git协议,好奇这两种的区别,科普了一下,https://cloud.tencent.com/developer/article/1347791,发现git的协议其实有四种,链接说的太啰嗦了,自己总结一下 协议 优点 缺点 本地协议 基于 <a href="https://www.cnblogs.com/qwj-sysu/p/14763751.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/14292041.html
python 时间戳常用操作 - 2BiTT
时间戳常用操作主要是两个方向 1. 某个地方拿到一个时间格式的字符串,需要转成时间戳 2. 某个地方拿到时间戳,需要转成时间格式方便查看 time和datatime两大模块 datetime更胜一筹:兼容毫秒信息的处理 两大函数 strptime(string, format) -> struct_
2021-01-18T03:58:00Z
2021-01-18T03:58:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】时间戳常用操作主要是两个方向 1. 某个地方拿到一个时间格式的字符串,需要转成时间戳 2. 某个地方拿到时间戳,需要转成时间格式方便查看 time和datatime两大模块 datetime更胜一筹:兼容毫秒信息的处理 两大函数 strptime(string, format) -> struct_ <a href="https://www.cnblogs.com/qwj-sysu/p/14292041.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/12303757.html
groupby - 2BiTT
In [1]: import warnings import math import pandas as pd import numpy as np import matplotlib warnings.filterwarnings('ignore') pd.options.display.max_
2020-02-13T07:29:00Z
2020-02-13T07:29:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】In [1]: import warnings import math import pandas as pd import numpy as np import matplotlib warnings.filterwarnings('ignore') pd.options.display.max_ <a href="https://www.cnblogs.com/qwj-sysu/p/12303757.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/12303097.html
map-apply-applymap - 2BiTT
In [1]: import warnings import math import pandas as pd import numpy as np import matplotlib warnings.filterwarnings('ignore') pd.options.display.max_
2020-02-13T04:18:00Z
2020-02-13T04:18:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】In [1]: import warnings import math import pandas as pd import numpy as np import matplotlib warnings.filterwarnings('ignore') pd.options.display.max_ <a href="https://www.cnblogs.com/qwj-sysu/p/12303097.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/12184513.html
观看视频时的拖动行为研究&对数正态分布拟合实践 - 2BiTT
在移动端观看视频的时候,大家一般会有一些拖动,那么拖动的时间间隔的分布是否有规律呢? 首先定义用户拖动的间隔和前后拖动(例如从第10秒拖动到23秒,间隔是+23(前拖);从第100秒拖动到91秒,间隔是-9(后拖)) 我们以10秒为一个级别,统计用户拖动分布的频率分布图如下,显然,前拖和后拖应该不是
2020-01-15T07:38:00Z
2020-01-15T07:38:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】在移动端观看视频的时候,大家一般会有一些拖动,那么拖动的时间间隔的分布是否有规律呢? 首先定义用户拖动的间隔和前后拖动(例如从第10秒拖动到23秒,间隔是+23(前拖);从第100秒拖动到91秒,间隔是-9(后拖)) 我们以10秒为一个级别,统计用户拖动分布的频率分布图如下,显然,前拖和后拖应该不是 <a href="https://www.cnblogs.com/qwj-sysu/p/12184513.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/qwj-sysu/p/12171352.html
命令行批量kill mysql 任务 - 2BiTT
最近有定时kill掉某些条件的mysql查询需求,记录一下 实现原理: 利用processlist获取所有的查询 然后用awk处理查询结果,输出查询id 接着用xargs批量处理kill id p
2020-01-09T06:33:00Z
2020-01-09T06:33:00Z
2BiTT
https://www.cnblogs.com/qwj-sysu/
【摘要】最近有定时kill掉某些条件的mysql查询需求,记录一下 实现原理: 利用processlist获取所有的查询 然后用awk处理查询结果,输出查询id 接着用xargs批量处理kill id p <a href="https://www.cnblogs.com/qwj-sysu/p/12171352.html" target="_blank">阅读全文</a>