- 博客(57)
- 资源 (5)
- 收藏
- 关注
原创 AV1视频编码格式
背景:开发进行技术分享,给出了AV1与VP8和H.264的编码效果对比图。优点:编码速度快、性能消耗低、同码率下画质更清晰、同画质下视频压缩率更高。
2024-06-03 14:45:43
2871
1
原创 【音频】Glitch、降噪相关
“Glitch” 在音频领域通常指的是非预期的、短暂的干扰或失真。如果 glitch 是由于波形超出正常范围导致的,可以考虑剪裁超出范围的部分,使其回到正常范围。
2023-11-28 13:28:02
737
原创 【Java】Groovy 语言应用场景以及积累
Groovy 与 Java 代码无缝集成,可以直接使用 Java 类和库,也可以将 Groovy 代码编译成 Java 字节码。Groovy 中的闭包是一种强大的特性,允许将代码块作为参数传递给方法或赋值给变量。Groovy 的简洁语法和强大的动态特性使其成为编写脚本的理想选择。
2023-11-21 17:51:58
1405
原创 【终端】记录mbedtls库的重新安装
Reason: tried: '/usr/local/opt/mbedtls/lib/libmbedcrypto.14.dylib' (no such file)
2023-11-13 10:52:47
645
原创 【linux】paramiko介绍 + 路由器设置tc命令使用
背景:要给网络灵活的设置各种带宽限制,通过对路由器下发tc命令实现。设置python脚本的ssh链接 + tc脚本下发 + 针对某一个id进行配置。
2023-09-21 10:46:16
558
原创 【Java】可指定时间播放音频噪声
A是一段音频,它有个长度是9秒,A_2就是播放A段音频的前2s。传入播放的时间time,效果是播放对应时常的音频。抽象出来:time = 输出音频的种类对应的长度。如果播放时间time是30s,播放A + B + C + A_2。如果播放时间time是20s,播放A + B + C_2。如果播放时间time是14s,播放A + B_5。如果播放时间time是7s,播放A_7。
2023-07-27 13:21:23
302
原创 【opencv】ffmpeg录制 + opencv绿屏识别脚本
利用ffmpeg的录制 + 切片截图 + opencv图像分析。需要安装ffmpeg/ffplay、opencv库等。
2023-06-27 17:35:17
1525
原创 【Java】JFreeChart实现过滤日志画图
【背景】平时都是拿python来画个折线图的,这次自动化的项目需要用java,通过JFreeChart想着也做一份。
2023-06-27 16:34:34
212
原创 【图像算法】马赛克识别
八点判断法:选取正方形中的八个点来进行判断,如果选择的八个点都满足构成正方形条件,那么,认为此正方形存在。这种方法的优点是运算速度有所提升,但是准确率上存在不足
2023-01-29 15:35:38
3076
原创 【音视频工具】前端屏幕录制工具 + 录制<video>标签内容
网页版本的推、拉流页面,含有标签,屏幕录制需要处理很多边角,选择直接录制流内容本身,录制标签内容
2023-01-29 10:55:14
1039
原创 【opencv】获取视频中的“黑白蓝绿”屏
长视频文件中,检测异常画面帧出现的次数以及截图报错,替代人工检查(附代码)方案一:**像素点:(height, width, channels)** 方案二:**二级图:RGB/HSV颜色**
2022-12-30 15:19:50
870
原创 【图像算法】pytesseract简单实现图片数字识别
关键语句:pytesseract.image_to_string 基本语言库,可支持汉子和数字的识别
2022-12-30 14:48:55
3218
4
原创 【Java】IDEA 中Kotlin: connecting to daemon编译慢以及卡住问题
Kotlin: connecting to daemon
2022-12-02 15:04:42
1622
原创 【音视频】2021年终RTC一些服务问题记录
网络运营商 T-Moblie无法开播问题:主播切zego可开播,目前正在配合美国同事复现定位中,尽量定位修复后发版本。PK、连麦回声:11月30号修改线上配置后,没有新增反馈,12月3号(4.3.20)带上日志方便之后定位,基本解决。回放相关:12月3号(4.3.20)优化解决拉取进度条失败,12月4号服务端优化了回放卡顿问题,已解决。解决:亚欧合并后请求center,会307问题,提高拉流成功率100%开播没有声音:个例音视频设备启动失败,定位中,请用户重新开播可恢复。拉流者B级联,从A所在的节点拉流。.
2022-08-18 14:16:04
165
原创 【python】自动化ffmpeg推rtmp流 + 进程停止
解决ffmpeg命令可实现自动化推流,一般在执行之后,由于python的自上而下执行,后续代码逻辑无法执行问题
2022-07-16 10:38:19
3923
原创 【音视频】WebRTC拥塞控制学习(看了个皮毛)
书籍学习:《WebRTC音视频实时互动技术》原理、实战与源码分享作者博客:https://avdancedu.com/目的:了解一些底层的实现逻辑,不是单纯的知道发送端码率自适应拥塞算法分类GCC:谷歌拥塞算法BBR:瓶颈带宽和往返传播时间(QUICK协议)PCC:基于性能的拥塞控制目前采用自研的WebRTC服务:GCC中的TCC目的:减少发包量,抢占更多的带宽基于时延的拥塞评估算法(比较复杂)1. Goog-ERMB:Google接收端评估的最大码流卡尔曼滤波器接收端,.
2022-03-30 10:09:00
446
原创 【音视频】测评工具VMAF
PS:学习地址Mac安装教程:https://testerhome.com/topics/25083命令汇总# 编译环境准备brew install gcc meson doxygen nasm freetype pkg-config hdf5brew install numpy scipy# 下载源码git clone https://github.com/Netflix/vmaf.gitcd vmafgit submodule update --init --recursive.
2022-03-29 16:22:26
748
原创 【音视频】WebRTC实现一对一通信 与 各端的互通互联
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代.
2022-03-29 15:52:01
5618
原创 【音视频】技术提升2.0
一、视频1. 视频即连续的图片所谓视频,就是连续的图片每一张图片称为一帧,每秒播放多少幅图片称为帧率2. “原始”视频原始“视频”即一张一张连续存储的“原始”图片。所谓“原始”,就是逐像素描述一张图,从左上角第一个点,到右下角最后一个点。每个像素点用3个数字表示它的红(R)绿(G)蓝(B)程度,即 RGB 格式图片。跟 RGB 类似的还有 YUV,也是每个像素点用3个数字来表示,Y表示亮度,U、V表示色度。2.1 RGB 和 YUV 的格式说是用 3 个数字(即 3 个字节)表
2022-03-28 17:55:49
3171
原创 【音视频】常见问题整理 - 技术提升1.0
1.IDR帧与I帧区别?IDR帧比I帧多些什么信息答:2.音视频-音画不同步的策略将视频同步到音频上:就是以音频的播放速度为基准来同步视频。将音频同步到视频上:就是以视频的播放速度为基准来同步音频。将视频和音频同步外部的时钟上:选择一个外部时钟为基准,视频和音频的播放速度都以该时钟为标准。常见:音频线性增长为参考,视频同步,及时反馈调整做同步。3.视频从录制 - 播放...
2022-03-28 17:47:19
1897
原创 【音视频】编/解码 - 编码器底层原理学习顺序
# 目的:如何进行编码器的选择,在做编码效率测评的时候,需要去了解编码器的工作原理# 简单知识储备编码器类型:H.264H.265微帧AVIVP9, AV1 和 HEVC编码器的各种帧(概念理解):I帧:关键帧。是自带全部信息的独立帧,是最完整的画面(占用的空间最大),无需参考其它图像便可独立进行解码。视频序列中的第一个帧,始终都是I帧。I帧与IDR帧的区别:P帧:“向前预测”。需要参考前面的I帧和/或P帧的不同部分,才能进行编码。P帧对前面的P和I参考帧有依赖性。但是,
2022-03-28 17:35:48
1770
原创 【selenium】脚本实现并发压测 - 相关问题解决顺序记录
同时启多个浏览器,多webdriver多线程实现:_thread.start_new_thread(self.test_selenium,())一个浏览器启动其他tabjs = 'window.open("https://www.baidu.com/");'self.driver.execute_script(js)同时启动多个tab页面,一个webdriver@classmethod def setUpClass(cls): cls.driver_path .
2022-03-24 19:18:40
1451
原创 【python】浅拷贝与深拷贝
学习浅拷贝、深拷贝:对于数字、字符串和元祖中的内存都指向同一个地址,所以深拷贝和浅拷贝对于他们都是无意义的对于字典、列表和集合来说,进行浅拷贝和深拷贝时,内存的地址是不同的。浅拷贝只会拷贝内存中的第一层数据,内存中地址的值都是完全相同的而对于深拷贝将会把所有数据重新创建。区别浅拷贝:当改变拷贝对象的值,被拷贝对象的值不会被改变;深拷贝:当改变拷贝对象的值,被拷贝对象的值也会被改变。# 浅拷贝 + 深拷贝import copydef test10(): dict = {'ke
2022-03-24 18:57:43
144
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人