ffmpeg 合并 剪辑 视频 转换格式

ffmpeg下载地址www.ffmpeg.org

提取视频 -vcodec copy  提取音频 -acodec copy 提取字母 -scodec copy

-v copy 提取视频+音频+字幕

-map  0 提取所有视频、音频、字幕

-map  0:d2:d3

d2:可取 v a s 代表 画 音 字幕

d3:可取0-10,1-9代表第几条音轨或字幕, 0代表所有

-i 文件名 -ss剪辑
-vcodec copy 提取视频 -acodec cooy 提取音频 可简写成 -c copy
-to 从地第5分钟剪到第10分钟(共5分钟)
-t 从地第5分钟一直减第10分钟(共10分钟)

提取视频

只含画,不含音 : ffmpeg -i 视频.mp4 -vcodec copy -an 视频.mp4

只含画和音 : ffmpeg -i 视频.mkv -c copy 视频格式.mp4

转换格式

ffmpeg -i 视频.mp4  视频.mkv

剪辑

00-10:00 分钟的视频 (共5分钟)
ffmpeg -i 视频.mkv -ss 00:05:00 -t 00:10:00 -c copy 视频片段.mkv
剪辑 5:00起 10分钟的视频共(10分钟)
ffmpeg -i 视频.mkv -ss 00:05:00 -to 00:10:00 -c copy 视频片段.mkv
剪辑 5:00-10:00 分钟(共5分钟)的视频并转换格式
ffmpeg -i 视频.mkv -ss 00:05:00 -to 00:10:00 -c copy 视频片段.mp4

剪辑所有轨道的画 音 和字幕
ffmpeg -i 视频.mkv -ss 00:05:00 -to 00:10:00 -map 0 -c copy 视频片段.mkv剪辑 5:

合并

合并视频1.mp4 视频2.mp4 视频3.mp4

法一(优先用法一)

file.txt:

 

 

法二:

 

mac 中使用 alias 别名

添加别名

‘=’ 的左边不加空格

如果存在旧别名则直接覆盖

真名是可以直接执行的不需要加 ”, 真名是命令和参数的组合或字符串需要加 ”

擦除别名

永久别名

别名会存在电脑的相对应文件里,unalias 后就没有了

可以在把以上的命令写在配置文件里,如zsh管理的写在.zshrc里面,bash管理的放在.bashrc里面

当重启电脑或者.zshrc时,会自动执行.zshrc里的命令,被删除过的会被重新添加,修改过的会被覆盖,以.zsrch里面的为准

最 简单 详细 易懂的反转链

思想:

把原始链表节点一个个切下来,粘到左边的新链表上(左链表初始为空)

时间复杂度O(n),空间复杂度O(1)

链表变化过程:
node1->node2->node3-node4

一个个切下粘到左边

node1 … node2->node3->node4

node1<-node2 …. node3->node4

node1<-node2<-node3 …. node4

node1<-node2<-node3<-node4

代码思路: 循环切下每个节点,依次粘到左侧链表中

​ 1. 保存当前被切节点的next, 即切后原始链表的头结点,(4)里迭代下一个节点要用

2. 切下的节点粘贴到左边

3. 左边链表增加节点后更新头结点

4. 迭代下一个被切的节点, 即原始链表的头结点

(1)中保存next目的是为了(4)中用,如果不保存,经过二操作后cur->next节点就不是原来cur->next节点了)

递归版中3和4步和在一起了,

链表定义

 

循环版本代码

 

递归版
采用尾递归,翻转完成时候直接返回左边链表即可

 

macOS 升级 Mojave 导致 CLion 不能编译 出错

1.需要在mac上安装 Xcode Command Line Tools 

可用通过命令安装

会弹出一个这样的安装窗口,安装即可,大概有好几百M大小,耐心等待

安装完后会在 /Library/Developer 下看到安装成功

2.然后重新加载CLion即可 大概几十秒钟

如果电脑来不及刷新,不妨操作完,重启一下电脑

彻底删除JetBrains系列软件

删除这些目录下的与软件相关目录

例如删除CLion2018.1

 

删除IDEA或者 PyCharm同理,删除对应目录下的文件就行了

 

linux下的tar和zip压缩命令

tar 打包参数

c 创建新文件 (重名覆盖不提示)

f 指定原文件

x 提取文档

t 列出文档包含的文件

v 详细信息

tar 压缩参数

z gzip : .tar.gz 压缩速度最快 历史最悠久,应用最广泛

j bzip2 : .tar.bz2 压缩存档文件小,可用性不如gzip

J xz : .tar.zx 最新的方式 最佳的压缩效率

 

例如 把 aaa 这个文件或目录 打包成aaa.tar 压缩成aaa.tar.gz 并解压

zip压缩和解压缩

压缩aaa

文件 和bbb目录 并解压

gzip 解压与压缩

 

 

 

 

双向队列 deque 和 list

双向队列 deque 和 list

效率l介于ist和vector之间,支持随机访问(比vector效率低,比list高),支持两端插入删除(效率比list低,比vctor高)内部分块存储,结构比较复杂,不做深究

1、需要高效的随即存取,不关心插入和删除的效率,用vector 2、大量的插入和删除,不关心随即存取,用list 3、既需要随即存取,又要两端数据的插入和删除,用deque。

双向队列
deque<T> q 初始化
q.size() 当前队列长度
q.front() 返回队头元素
q.back() 返回队尾元素
q.push_back() 队尾入队
q.pop_back() 队尾出队
q.push_front() 队头队
q.pop_front() 队头出队
q.begin() 返回正向队头迭代器
q.end() 返回正向队尾迭代器
q.rbegin() 返回正向队尾迭代器
q.rend() 返回反向队尾迭代器
[] 存在操作,但效率低

双向队列
deque<T> a 初始化
a.size() 当前list长度
a.front() 返回头部元素
a.back() 返回尾部元素
a.push_back() 尾部添加元素
a.pop_back() 尾部删除元素
a.push_front() 头部添加元素
a.pop_front() 头部删除元素
a.begin() 返回正向list迭代器
a.end() 返回正向list迭代器
a.rbegin() 返回正向list迭代器
a.rend() 返回反向list迭代器
a.resize() 重新分配大小
a.reverse() 翻转链表
a.insert(*it,value) 插入
a.erase(*it) 删除
a.unique() 去重
a.merge(list2) 合并
a.sort() 排序

CLion 一个工程 运行多个 main cpp 文件

  1. 新建.cpp文件。例如 ,在工程所在文件夹上右键新建 main2.cpp 和main3.cpp。

  2. 修改 CMakeLists.txt 文件。添加红色框框中的内容,code2、code3为编译生成的文件名(自定义即可),然后点击右上角,重新加载或自动加载。
  3. 在右上角在即选择要编译运行的文件即可。

如果出现运行和代码不匹配情况,需要在这里设置一下,使 Target和Executable一致即可

Xcode 一个工程下添加多个 main cpp 文件

sublime mac 快捷键

sublime mac 快捷键

符号说明

符号 说明
command
control
option
shift
enter
delete

打开/关闭/前往

快捷键 功能
⌘⇧N 打开一个新的sublime窗口
⌘N 新建文件
⌘⇧W 关闭sublime,关闭所有文件
⌘W 关闭当前文件
⌘P 跳转、前往文件、前往项目、命令提示、前往method等等(Goto anything)
⌘⇧T 重新打开最近关闭的文件
⌘T 前往文件
⌘⌃P 前往项目
⌘R 前往method
⌘⇧P 命令提示
⌃G 前往行
⌘KB 开关侧栏
⌃` 打开控制台
⌃- 光标跳回上一个位置
⌃⇧- 光标恢复位置

编辑

快捷键 功能
⌘A 全选
⌘L 选择行(重复按下将下一行加入选择)
⌘D 选择词(重复按下时多重选择相同的词进行多重编辑)
⌃⇧M 选择括号的内容
⌘⇧↩ 在当前行前插入新行
⌘↩ 在当前行后插入新行
⌃⇧K 删除行
⌘KK 从光标处删除至行尾
⌘K⌫ 从光标处删除至行首
⌘⇧D 复制(多)行
⌘J 合并(多)行
⌘KU 改为大写
⌘KL 改为小写
⌘C 复制
⌘X 剪切
⌘V 粘贴
⌘/ 注释
⌘⌥/ 块注释
⌘Z 撤销
⌘Y 恢复撤销
⌘⇧V 粘贴并自动缩进
⌘⌥V 从历史中选择粘贴
⌃M 跳转至对应的括号
⌘U 软撤销(可撤销光标移动)
⌘⇧U 软重做(可重做光标移动)
⌘⇧S 保存所有文件
] 向右缩进
⌘[ 向左缩进
⌘⌥T 特殊符号集 ˇ
⌘⇧L 将选区转换成多个单行选区

查找/替换

快捷键 功能
⌘f 查找
⌘⌥f 查找并替换
⌘⌥g 查找下一个符合当前所选的内容
⌘⌃g 查找所有符合当前选择的内容进行多重编辑
⌘⇧F 在所有打开的文件中进行查找

拆分窗口/标签页

快捷键 功能
⌘⌥[1,2,3,4] 单列、双列、三列、四列
⌘⌥5 网格(4组)
⌃[1,2,3,4] 焦点移动到相应的组(分屏编号)
⌃⇧[1,2,3,4] 将当前文件移动到相应的组(分屏编号)
⌘[1,2,3,4] 选择相应的标签页

快捷操作

快捷键 功能
⌘⌃上下键 两行交换位置
⌘KB 显示/隐藏侧边

文章转载自 https://www.jianshu.com/p/6185dc5eb507

Host ‘xxx.xx.xxx.xxx’ is not allowed to connect to this MySQL server mysql拒绝远程连接解决方案

Host ‘xxx.xx.xxx.xxx’ is not allowed to connect to this MySQL server mysql拒绝远程连接解决方案

1.问题产生原因 :mysql默认只支持本地连接

 

2.解决方案:放开远程连接权限