ffmpeg剪视频
一些结论
5800h转码h264速度是m3pro的60%,h265则快于m3pro,但视频体积更小。
crf越小画质越好,体积越大,对视频转码速度影响不大。
同等画质情况下,h265体积小于h264.
ffmpeg h264的crf默认值是23,h265的是28,两者画质近似。
使用显卡转码一定要设置-cq h264可以23 hevc(h265)设置28或者30,不然出来体积太大。
同等画质下cpu转码体积更小。
h264显卡速度略快于cpu 1.3x,h265显卡速度是cpu 4倍以上(3070laptop 5800H)。推荐使用显卡。
不计时间成本要最好效果,使用cpu转码h265,crf 22或者21,-preset slower或者veryslow。
英伟达显卡hevc随着cq变大,文件变小,画质变差,通常网课30-32都可以,40开始已经明显变差了。
h265 ...
智能指针
使用时机基本在原本new/delete成对出现的场合使用智能指针替代原始指针
动态数组使用智能指针c++17之前
1234567891011121314151617//指定 default_delete 作为释放规则std::shared_ptr<int> p6(new int[10], std::default_delete<int[]>());//或者std::shared_ptr<int> p7(new int[10], [](int* p) {delete[]p; });//访问的时候要p6.get()[0]这样//使用std::shared_ptr<int> array = std::shared_ptr<int>(new int[10],default_delete<int[]>()); ...
一行代码让vector自带下标范围检查
一行代码让vector自带下标范围检查#include <vector>前#define _GLIBCXX_DEBUG就行
12345678910#define _GLIBCXX_DEBUG#include <bits/stdc++.h>using namespace std;int main() { vector<int> a{1, 2, 3}; auto t = a[3]; // runtime error}
也可以在cmake传递参数add_definitions(-D_GLIBCXX_DEBUG)开启
_GLIBCXX_DEBUG说明_GLIBCXX_DEBUG是一个用于启用C++标准库的调试模式的宏定义。当定义了这个宏时,会启用GCC(GNU Compiler Collection)中libs ...
vcpkg清单模式指定安装版本
可以使用清单模式,然后在overrides里面指定需要的版本。
1234567891011121314{ "name": "kys-cpp", "version-semver": "0.0.0", "dependencies": [ "fmt" ], "overrides": [ { "name": "fmt", "version": "9.1.0" } ], "builtin-baseline": "da21e45c9ae689f63aa27f3a4ee0e64 ...
Qt中嵌入osgearth
d
待续
osg-qt的安装
简介OSG-Qt 是一个集成了 OpenSceneGraph (OSG) 和 Qt 的库,使得开发者能够在 Qt 应用程序中轻松地使用 OpenSceneGraph 进行 3D 图形渲染。OpenSceneGraph 是一个开源的、跨平台的 3D 图形应用程序编程接口(API),广泛用于游戏开发、模拟、虚拟现实、科学可视化等领域。Qt 是一个跨平台的 C++ 应用程序开发框架,用于开发具有图形用户界面的应用程序,也可用于开发无界面的后台应用。
windows中安装使用vcpkg安装(推荐)vcpkg的安装见 使用vcpkg管理C++项目依赖 | xd’s blog (jinianyoushang.github.io)
执行
1vcpkg install osg-qt
之后在cmake中执行 find_package(OpenSceneGraph REQUIRED osgQt)时会报错无法找 ...
osgEarth在windows的安装
简介OSGEarth是一个开源的地理空间软件库,它基于著名的3D图形工具库OpenSceneGraph(OSG)。OSGEarth主要用于创建地理空间可视化应用程序,包括地球模拟、地图浏览、地理信息系统(GIS)数据可视化等。它利用OpenSceneGraph提供的3D图形渲染能力,允许开发者构建高性能、高质量的地理空间3D可视化效果。
OSGEarth是一个开源的地理空间软件库,它基于著名的3D图形工具库OpenSceneGraph(OSG)。OSGEarth主要用于创建地理空间可视化应用程序,包括地球模拟、地图浏览、地理信息系统(GIS)数据可视化等。它利用OpenSceneGraph提供的3D图形渲染能力,允许开发者构建高性能、高质量的地理空间3D可视化效果。
1. 使用vcpkg安装(推荐)安装vcpkgmicrosoft/vcpkg: C++ Library Manager fo ...
解决vcpkg网络不好的方法
由于vcpkg安装C++库的时候需要访问github下载相关文件,而网络环境通常较差,导致下载缓慢或者中断。
以下是解决方法
1.手动下载这个办法通常用来处理某个库下载失败的情况。
将安装过程链接手动下载,放到downloads文件夹。
如https://github.com/OSGeo/gdal/archive/v3.8.3.tar.gz 。
手动下载后放到 vcpkg-master\downloads\ 中,然后重新安装即可。
但是当有的包依赖多的时候,这个办法不好。
2.先下载,后编译分两步
例如,你要安装 ceres,分两步:
12vcpkg.exe install ceres --only-downloadsvcpkg.exe install ceres
3.使用代理(推荐)使用clash的TUN模式,可以对整个电脑的流量进行代理。
总结通常来说,可以使用第三种方式结合第一种。 ...
linux设置开机自启动命令
方法一:修改 /etc/rc.d/rc.local 文件/etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到该文件里。
但是,首先需要确认你有运行这个文件的权限。
1chmod +x /etc/rc.d/rc.local
为了演示,我们创建了一个脚本,当它被执行之后,将在家目录下写入有特定信息的文件。
12345$ vim auto_run_script.sh #!/bin/bashdate >> /home/alvin/output.txthostname >> /home/alvin/output.txt
保存退出后,再给它赋予可执行权限:
1chmod +x auto_run_script.sh
然后,我们再将脚本添加到 /etc/rc.d/rc.loca ...
Windows设置自己的程序开机自动启动
Windows系统想要快速设置开机自动启动某个程序,可以使用以下几种方法设置:
第一种:设置启动项(推荐)1.找到启动文件夹,我的是C:\Users\ThinkPad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,或者打开运行,输入shell:startup,回车,也可以快速打开启动文件夹。
2.拷贝需要开机启动的程序的快捷方式到此文件夹即可。
3.打开任务管理器-启动查看启动项。
这样就设置好了,下次计算机启动时,程序也会自动启动的。
第二种:使用计划任务自启动1.新建文本文件DebugStart.txt,打开写入以下内容:
1tasklist|find /i "authSender.exe" && echo started || start "" ...












