python字符串格式化、字符串中插入变量
https://blog.csdn.net/qq_39478403/article/details/106146281
python检查字符串中是否包含列表中元素
https://blog.csdn.net/fengqianlang/article/details/129353270
mysql查看字符集
查看:https://deepinout.com/mysql/mysql-questions/388_hk_1710283235...
修改:https://blog.51cto.com/u_16213638/7307162
修改字段字符集:
ALTER TABLE your_table_name
CHANGE your_column_name your_column_name VARCHAR(255) /* 或其他适当的字段类型 */
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
修改表字符集:
ALTER TABLE your_table_name
CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
shell获取参数
$#
获得参数个数$*
所有参数是一个参数$@
参数列表,用for args in "$@"
遍历$1
`$2`$3
获取第几个参数shift
参数向左移一格
[appadmin@localhost ~]$ sh shell.sh arg1 arg2 arg3
3
arg1 arg2 arg3
arg1 arg2 arg3
arg1
arg2
[appadmin@localhost ~]$ cat shell.sh
#!/bin/bash
echo $#
echo $*
echo $@
echo $1
shift
echo $1
[appadmin@localhost ~]$
其他复杂参考:https://blog.csdn.net/weixin_43999327/article/details/140064475
为啥服务器上存的segment时间都能连的上,放到MSE里就会少几秒钟?
原因未知;通过提高segment的帧率解决;我目前用的60帧;
我们可以看到start_time
和duration
都是连的上的,但是前端拿到的buffered列表确实不连续的:
{'filename': '/home/appadmin/segment_movies/episodes/Scavengers.Reign/season01/Scavengers.Reign.S01E01/segment_webm/output_time_0.webm', 'nb_streams': 2, 'nb_programs': 0, 'format_name': 'matroska,webm', 'format_long_name': 'Matroska / WebM', 'start_time': '0.000000', 'duration': '20.031000', 'size': '3913631', 'bit_rate': '1563029', 'probe_score': 100, 'tags': {'ENCODER': 'Lavf58.29.100'}}
{'filename': '/home/appadmin/segment_movies/episodes/Scavengers.Reign/season01/Scavengers.Reign.S01E01/segment_webm/output_time_1.webm', 'nb_streams': 2, 'nb_programs': 0, 'format_name': 'matroska,webm', 'format_long_name': 'Matroska / WebM', 'start_time': '20.023000', 'duration': '40.012000', 'size': '919495', 'bit_rate': '183843', 'probe_score': 100, 'tags': {'ENCODER': 'Lavf58.29.100'}}
Object { 0: {…}, 1: {…}, 2: {…}, 3: {…} }
0: Object { start: 0.003, end: 5.007 }
1: Object { start: 5.258, end: 19.897 }
2: Object { start: 40.054, end: 57.771 }
3: Object { start: 58.106, end: 60.024 }
<prototype>: Object { … }
为啥切割视频后,插入MSE中拼接会出现卡顿、掉帧的情况?
有极大的可能是因为切割的每一段的分辨率(resolution)、码率(bitrate)、帧率(framerate/fps)不相同。
视频就是由一幅幅图片组成的,在1秒钟内塞进足够多的、每一幅都比前一幅微动的图片,人眼看上去就想动起来一样
分辨率:每一幅图片有多少像素点(清晰度)
帧率:每一秒有多少幅图片
码率:每秒传输的bit数。动态指标,很多因素会影响码率,所以我们讨论的话前提是,除去讨论的因素其他条件都相同。分辨率越高,明显码率越高;帧率越高,明显码率越高;压缩比越高,明显码率越低;
指定帧率后,“ffmpeg是通过创建重复帧来满足设置帧率的”(https://blog.csdn.net/tugouxp/article/details/120281440)。本来就只丢了几帧(如果是30fps,就丢了1/30秒的画面),就算补上重复的画面,一般人眼也分辨不出来,而且是在线播放。
ffmpeg -y -i ~/mnt.resource.moives/The.Fourth.Kind.2009.第四类接触. 双语字幕.HR-HDTV.AC3.1024X576.x264.mkv -b:v 2336k -bufsize 2336k -r 25 -vf scale=1024:576 -b:a 384k -ar 48000 -ac 2 -c:v libvpx -c:a libvorbis -map 0 -f segment -segment_time 00:00:20.00 -segment_format webm segment_webm/output_time_%d.webm
-y
:输出有重名,直接覆盖-b:v
:设置视频码率-bufsize
:设置码率转换缓冲大小-r
:设置帧率-vf
:设置视频格式,除了例子中的分辨率,还能甚至很多格式-b:a
:设置音频码率-ar
:设置音频赫兹数-ac
:设置音频音道数-c:v
:设置视频编码-c:a
:设置音频编码-map
:源文件轨映射到输出文件轨:http://trac.ffmpeg.org/wiki/Map-f
:设置输出格式
linux卸载软件后,命令依然还在并且不能执行
卸载后使用tag不全还能出现命令,执行出现类似报错:command not found: /usr/bin
。执行:hash -r
解决。
linux后台执行
nohup {command} {重定向命令} &
&:让命令在后台执行,终端退出后命令仍旧执行。
0:标准输入(stdin)
1:标准输出(stdout),默认屏幕
2:标准错误(stderr),默认屏幕
{重定向命令}:覆盖>
、追加>>
,从左往右结算
2>/dev/null
:将标准错误重定向到黑洞;>/dev/null 2>&1
:相当于1>/dev/null,把标准输出重定向到“黑洞”。标准错误2重定向位置等于(&1)标准输出1,也是“黑洞”2>&1 >/dev/null
:将标准错误2重定向到标准输出1。然后结算标准输出1进了“黑洞”。也就是标准输出进了黑洞,错误输出打印到屏幕;
centos升级
https://wiki.almalinux.org/elevate/ELevate-quickstart-guide.h...
ssh连接持久化
如何保持ssh连接久到离谱,大家都知道有ServerAliveCountMax
、ServerAliveInternal
、ClientAliveCountMax
、ClientAliveInterval
这四个配置,千万【别搞反了】导致无效。单位是秒。
Server开头的配置配置在当前终端(你从哪里连接过去的机器)(客户端)。意思为客户端多久向服务端发送活包;
Client开头的配置配置在目标终端(你想要连接的机器)(服务端)。意思为服务端多久向客户端发送活包;
windows机器作为客户端的配置一般在~/.ssh/config
windows机器作为服务端的配置,需要根据安装的软件来定位,安装openssh、putty、cpolar来使windows变为一台ssh服务器
linux作为客户端的配置一般在/etc/ssh/ssh_config
linux作为服务端的配置一般在/etc/ssh/sshd_config
在其他路径执行npx webpack
一般只能在包安装路径(node_modules)下执行。我想把node_module从代码目录里抽出来。
- 在理想位置执行
npm install {package}
- 将webpack配置文件(
webpack.config.js
)可以放在代码目录 - 将配置文件中的路径都改成绝对路径,添加包查询路径配置段
resolve
- 在理想位置执行
npx webpack --config {webpack配置文件路径}
示例
const path = require('path'); module.exports = { entry: "/home/appadmin/fupiwu/frontend/js_rely/mainjs/origin.js", output: { path: "/home/appadmin/fupiwu/frontend/js_rely/mainjs", filename: "origin-webpack.js" }, // mode: "none", // mode: "production", mode: "development", devtool: "cheap-module-source-map", //监听 watch: true, watchOptions: { aggregateTimeout: 300, //延时重构 ignored: "/usr/local/lib/fupiwu-node_modules/node_modules/", //忽略 }, //包查询路径 resolve: { modules: [ path.resolve("/usr/local/lib/fupiwu-node_modules/node_modules"), ] }, //loader查询路径 resolveLoader: { modules: [ path.resolve("/usr/local/lib/fupiwu-node_modules/node_modules"), ] }, // optimization: { // minimize: false, // }, module: { rules: [ { test: /\.js$/, exclude: /(node_modules|bower_components|io\.js$)/, use: { loader: "babel-loader", options: { presets: ["@babel/preset-react"], plugins: ["@babel/plugin-proposal-class-properties"] } } }, { test: /\.css$/, use: [ "style-loader", { loader: "css-loader", options: { url: false, } } ], }, { test: /\.(png|jpg|gif)$/, use: [ { loader: "file-loader", } ] } ] } };
各类官网
npm:https://docs.npmjs.com/
react:https://react.dev/
reactrouter:https://reactrouter.com/en/main
ffmpeg:https://ffmpeg.org/
webpack:https://webpack.js.org/
chart.js:https://www.chartjs.org/docs/latest/
mdn MediaSource:https://developer.mozilla.org/en-US/docs/Web/API/MediaSource
git:https://git-scm.com/docs
CSS grid:https://css-tricks.com/snippets/css/complete-guide-grid/
CSS selector:https://www.w3cschool.cn/css/css-selector.html
组合贷款计算器:http://www.fangdaijisuanqi.cc/jisuanqi/zuhe.aspx
mysql:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functio...
c语言中文网:https://c.biancheng.net/index.html
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。