【解决方案】FFmpeg推流速度过快
FFmpeg使用视频源进行推流时,处理速度往往会快于实际帧率,而默认设置下处理完了一段就直接上传,因此速度会过快
解决方法:使用-re参数
ref: https://stackoverflow.com/questions/48479141/understanding-ffmpeg-re-parameter
It’s useful for real-time output when ffmpeg is able to process a source at a speed faster than real-time. In that scenario, ffmpeg may send output at that faster rate and the receiver may not be able to or want to buffer and queue its input.
OJ答案
为造福同学 将OJ中Python课程答案公布于此
OJ网址:https://oj.nsfz.net
章节1:输入、输出及赋值
1120 nsfz欢迎你
12print('nsfz')print('欢迎你')
1381 你的名字
12name = input()print('你好', name)
1119 A+B问题
123a = int(input())b = int(input())print(a + b)
章节2:顺序结构
1003 混合运算
12a, b=map(int, input().split())print((a + b) * (a - b))
1001 求一个数的立方
12a = int(input())print(a ** 3)
1008 求长方形面积和周长
12a, b = map(int, input().split())print(a * b, (a + b) * 2)
1122 计算线段长度
1234x1, y1 = map(int, input().split())x2, y2 = map(int, ...
用Windows To Go解救机房被机械硬盘拖慢速度的电脑
社团课上找到机房电脑缓慢的根源了——硬盘
有同学带了块移动固态硬盘 并成功从外接USB盘启动了电脑 速度直接起飞
机房电脑CPU是10代i3 理论上性能不差 但是被1TB的希捷机械盘极大地拖慢了速度
于是立刻买了块新固态硬盘准备装系统带机房去用
本来打算整个118GB的傲腾装系统的 那样速度肯定更起飞 但是要500多块钱 实在太贵了(
后来还是决定买个便宜的SATA 硬盘盒加硬盘一共100到手 上午买的下午就到了(京东就是快啊)
买的是128GB的长城GW560(买的时候小脑烧了都没看颗粒和TBW 后来发现是TLC就放心了 有80TBW 按比例来看比1TB 600TBW还高一点()
硬盘盒是个不知名的 支持SATA3.0
到手后按照标准流程格成NTFS先测个性能再说
测试结果:
1234567891011121314151617181920212223242526------------------------------------------------------------------------------CrystalDiskMark 8.0.4 Shizuku Editi ...
学校OJ探索
社团课上与同学玩学校OJ 并尝试对评测机进行一些探索 为了方便就用python代码了
已知学校OJ使用的是氦星人系统 评测机禁用了os模块 导致一开始没法进行系统调用 遂尝试读写文件 发现居然是可以的
(socket模块依赖os模块 导致暂时只能通过OJ的测试功能获取代码输出)
先尝试硬写大量数据以搞爆评测机 发现会报File too large错误 于是放弃
根据平时使用经验(做题时的报错)得知评测机为Linux系统 使用Python3.8
然后尝试向/tmp目录写文件 发现可以持久化保存 并且另一位同学也能读取到(顺便根据多次实验发现能读取到的概率大约50% 推测有两个评测机负载均衡)
之后尝试读取/proc等以获取系统信息 如下
信息
来源
值
CPU
/proc/cpuinfo
Intel® Xeon® Gold 5120 CPU @ 2.20GHz
内存
/proc/meminfo
16GB
硬盘分区
/proc/partitions
104857600 blocks (sda)… (按1KB/block则为100GB)
启动镜像
/proc/cmd ...
一些定积分的几何意义及计算
定积分
一重积分
∫abf(x)dx\int_{a}^{b}f(x)dx
∫abf(x)dx
几何意义:曲线 f(x)f(x)f(x) 与 xxx 轴围成的曲边梯形的有向面积
物理意义:以 f(x)f(x)f(x) 为线密度函数的曲线在 [a,b][a,b][a,b] 上的质量
计算时可使用牛顿-莱布尼茨公式
∫abf(x)dx=F(b)−F(a)\int_{a}^{b}f(x)dx=F(b)-F(a)
∫abf(x)dx=F(b)−F(a)
其中 F(x)F(x)F(x) 为 f(x)f(x)f(x) 的原函数,即 F′(x)=f(x)F'(x)=f(x)F′(x)=f(x)
二重积分
∬Df(x,y)dσ\iint_{D}f(x,y)d\sigma
∬Df(x,y)dσ
几何意义:曲面 f(x,y)f(x,y)f(x,y) 与 xyxyxy 平面围成的柱体的有向面积
物理意义:
以 f(x,y)f(x,y)f(x,y) 为面密度函数的平面在区域 DDD 上的质量
以 f(x,y)f(x,y)f(x,y) 为压强函数的平面在区域 DDD 上受到的压力
计算时可在平 ...
C++编译期计算的探索
先放个代码在这 解释下次再说吧(摸了
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394#include <iostream>#include <utility>#include <array>namespace compiling {#define DEF_BINARY_OP(NAME, OP)\ template <auto N1, auto N2>\ struct NAME##_t : std::bool_constant<N1 == N2> {};\ template <auto N1, auto N2>\ constexpr auto NAME##_ ...
Powershell美化
最近看了B站的一个视频 受到启发 准备给电脑终端美化一下
因为我把Windows Terminal作为终端默认程序 所以和窗口相关的就不用刻意美化了(本来就很好看)
安装Oh My Posh
跟着官网的教程走就可以了 非常简单
1winget install JanDeDobbeleer.OhMyPosh -s winget
之后一定要重启一下终端来加载环境变量PATH
然后我们会发现终端开始的信息成了这样
显然是字体出了问题
安装字体
这里推荐Nerd Fonts 这是将各种图标符号整合到常用代码字体的一个项目 到下载页面选择一个喜欢的字体用就可以了(这里使用JetBrainsMono Nerd Font)
安装好后从Windows Terminal的设置页面选择刚才的字体就可以了
终端适配
在终端中打开PROFILE文件
1code $PROFILE
把下面的内容复制进去
1oh-my-posh init pwsh | Invoke-Expression
然后保存
VSCode适配
修改VSCode的settings.json中terminal.integrated.fontF ...
CSharp随笔-癫疯之作
起因是写了这样一段代码
1234567891011121314if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add){ string ipString = string.Join(",", e.NewItems.Cast<IWebSocketConnection>().Select(x => x.ConnectionInfo.ClientIpAddress)); WeakReferenceMessenger.Default.Send<DisplayAlertMessage>(new("有新用户连接", ipString));}else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove){ string ipString = string.Join( ...
.NET MAUI 踩坑
时隔数月 皮燕又痒了 想搞搞Android开发
由于不熟悉Android Studio的操作和Java/Kotlin 所以优先选择熟悉的VS-.NET-MAUI-C#
在这里记录一些遇到的问题 以便以后参考
教程
MSDN的文档过于零散 这里按照一般项目开发的顺序整理 具体细节参考MSDN
在VS中创建示例项目
略
修改App Identifier(你也不想看到com.examplecompany.appname的包名罢)
修改.csproj文件中的ApplicationId节点
如果进行安卓开发 则修改AndroidManifest.xml中的manifest节点的package属性和manifest.application节点的android:label属性为合适的值
更改应用图标
在网上找到或制作自己的应用图标(最好是SVG格式) 放到合适的目录(如Resources/AppIcon)
修改.csproj文件中的MauiIcon节点的属性 其中
Include为背景图片 如Resources\AppIcon\appicon.svg [必选]
ForegroundFile为 ...
代码片段
一些-study项目中有用的代码片段
[C++]生成GUID(仅Windows下可用)
12345678910111213141516171819#include <objbase.h>GUID CreateGuid() { GUID guid; if (CoCreateGuid(&guid) == S_OK) { return guid; } throw exception("generate guid failed!");}string GuidToString(const GUID& guid) { char buf[64] = { 0 }; snprintf(buf, sizeof(buf), "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", guid.Data1, guid.Data2, ...