乱码三千 – 分享实用IT技术

乱码三千 – 码出一个新世界


  • 首页

  • 归档

  • 搜索

YouTube视频和字幕下载以及合并的工具推荐

发表于 2021-10-26

前言

最近有一个视频下载的需求, 需要将视频以及中英文字幕下载下来, 于是乎用到了一些工具, 有些使用体验还不错, 在此推荐给大家

视频下载

以下以YouTube视频网站为例:

YouTube视频或音频在线下载 :这个需要大爬梯

YouTube视频在线下载 :这个不需要大爬梯 而且支持手机端

YouTue视频下载软件 免费用户每天可以下载5个不带字幕视频 格式转换和视频与字幕合并功需要付费能 支持Windows和Mac平台

国外视频在线下载: 支持下载YouTube、TikTok、Facebook、Twitter、Instagram等视频

image-20240404184925016

如果你是Mac用户, 那么有一个网站推荐给大家:

image-20220805174904728

网站官网: 点击进入

字幕下载

YouTube字幕在线下载 支持多种语言和双语字幕

视频和字幕合并

这个就得使用软件了, 免费的有:

  • 格式工厂
  • 诸如pr、剪映、比剪等剪辑工具
  • 小丸工具箱 目前只支持Windows平台
  • Subler 目前只支持Mac平台
  • tipard_video_converter_ultimate 提供Mac下载 (访问密码:312306)
  • HandBrake 支持Windows和Mac 推荐使用

如果非要在线合并的话, 推荐使用B站的云剪辑

其界面长这样:

image-20211026171444006

如果你刚好是UP主, 需要合并完视频后直接投稿, 可以使用这种方式, 挺方便的

然而最后我选择了tipard_video_converter_ultimate这个软件处理字幕和视频的合并, 界面如下:

image-20211026170010642

image-20211026171217226

这个软件不仅可以添加字幕 同时也可以移除字幕或者音频

就是转换的速度不是很快, 导出的视频文件体积过大 两百多M的视频, 花了快十分钟 最后视频体积高达2个G , 如果对视频体积有要求话, 建议大家直接使用HandBrake, 输出的体积和原文件差不多, 甚至更小

值得欣慰的是字幕合成的质量不错:

image-20211026175323771

我还尝试了使用B站云端剪辑合成, 没有对比就没有伤害:

image-20211026175441786

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

解决Mac平台USB移动硬盘无法写入和删除数据的问题

发表于 2021-10-22

前言

使用Mac的小伙伴应该会碰到相关问题

我们在接入移动硬盘时只能读取数据却不能写入或者删除数据

这是移动硬盘格式不兼容导致的, 可以通过格式化硬盘的方式来实现Mac和Windows平台双端兼容, 但格式化意味着移动硬盘数据全部被清除

这肯定不是我们想要的

为了解决这个问题, 网上也出了相关的NTFS读写, 但是都是收费的

后来找到一款免费的NTFS移动硬盘读写工具 名为Omi NTFS, 体验还不错 这里推荐给大家使用

工具下载地址

点击下载

(访问密码:312306)

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

如何撤销上一次 Git add 的内容

发表于 2021-10-12

前言

有时候, 我们使用git add .不小心误添加了某些个文件到本地暂存库中, 如果我们需要撤销该add记录, 可以通过以下方式

撤销指令

  1. 撤销上次add的指定文件

    1
    git reset HEAD <路径/文件名>
  2. 撤销上次add的所有文件

    1
    git reset HEAD

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

Kindle传书的几种便捷方式

发表于 2021-09-30

前言

给使用kindle的小伙伴介绍几种好用的传书方法

第一种 使用网页传书

以轻松传这个网站为例:

官方网址: https://easychuan.cn/

image-20210930094805282

我们只需要将文件上传, 得到一个取件码, 然后在kindle中打开体验版浏览器, 同样输入https://easychuan.cn/

image-20210930095755229

填入相应的取件码就可以直接下载了

类似这样的网站除了轻松传之外, 还有快牙:

image-20211223145143645

点击进入快牙传输网站

还有就是Feem的WebShare功能也可以传输文件, 直接通过一个ip和端口号进行访问下载, 不过仅限于局域网内:

image-20211223145420896

点击进入Feem官网

第二种 使用邮箱传书

kindle亚马逊账号登录后会自动分配一个邮箱账号, 这个账号可以在kindle设置中进行查看获取

我们只需要将文件发送到这个邮箱账号上即可

注意使用的是邮件附件 而不是超大附件

第三种 使用Kindle App

Kindle App 是亚马逊开发出的阅读 App,可用于同步我们在亚马逊 Kindle 书城购买中购买的书到各个客户端(Windows、OSX、Android 以及 iOS)

可以看成是App版的Kindle, 除了可以用来看书外, 还可以用来传书

只需登录kindle账号然后直接上传发送即可

image-20210930101514103

第四种 USB传书

简单粗暴, 快捷高效, 这个不用多说, 一根数据线的事

总结

  • EasyChuan网页: 支持电脑和手机, 无需登录, 如果文件不多的话推荐使用该方法
  • USB传书: 文件大小无限制, 如果批量传书推荐该方法

image-20210930101639592

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

Vim文本编辑器快速上手操作指南

发表于 2021-09-18

前言

做开发的小伙伴对vim编辑器肯定不陌生, 无论你是使用Linux终端, 还是使用Git操作仓库的时候都经常会碰的上

image-20210918161103435

刚开始接触的时候肯定是感觉非常费劲, 毕竟我们已经习惯了用鼠标定位操作的编辑器

而VIM编辑器, 可以说是纯靠键盘定位和编辑, 你想快速编辑某一处的内容, 鼠标根本帮不了你, 只能依靠键盘

如此反人类的操作, 对于开发者的你来说, 却不得不学

既然如此, 一些常用的操作指令 我们需要掌握

操作指令

  1. 用vim编辑器打开文本文件

    1
    vim 文件名

    打开文件后进入默认模式, 该模式下文本可以查看但不能编辑

    1
    shift+冒号
  2. 进入文本编辑模式

    1
    敲键盘上的字母 i 或者 a
  3. 进入命令输入模式

    1
    敲键盘上的 :
  4. 进入全局可视化模式

    1
    敲键盘上的字母 v
  5. 恢复到默认模式

    1
    敲键盘上的 ESC
  6. 保存文本内容

    命令模式下输入以下字母并且回车:

    1
    2
    3
    w 保存内容
    w <文件路径> 另存为
    saveas 文件路径 另存为
  1. 退出编辑器

    命令模式下输入以下字母并且回车:

    1
    2
    3
    4
    5
    q  退出编辑器
    q! 强制退出编辑器
    wq 保存文本内容 并退出编辑器
    wq! 保存文本内容 并强制退出编辑器
    x 保存文本内容 并退出编辑器
在默认模式下可以进行的操作

默认模式下可以使用键盘上的上下左右键移动光标查看文本内容, 除此之外, 还可以:

  1. 删除内容

    命令 说明
    x 删除游标所在的字符
    X 删除游标所在前一个字符
    Delete 同x
    dd 删除整行
    dj 删除当前行和下一行
    dk 删除当前行和上一行
    dh 删除光标左边的一个字符
    dl 删除光标右边的一个字符
    dw 删除一个单词(不适用中文)
    d$或D 删除至行尾
    d^ 删除至行首
    dG 删除到文档结尾处
    d1G 删至文档首部
    ndd 一次性向下删除n行
  2. 光标移动

    除了使用上下左右键之外还可用字母:

    方向键或者h,j,k,l键可以移动游标。

    按键 说明
    h 左
    l 右(小写L)
    j 下
    k 上
    w 移动到下一个单词
    b 移动到上一个单词
    gg 移动到文本头部
    G 移动到文本末尾
  3. 不同位置插入内容

    命令 说明
    i 在当前光标处进行编辑
    I 在行首插入
    A 在行末插入
    a 在光标后插入编辑
    o 在当前行后插入一个新行
    O 在当前行前插入一个新行
    cw 替换从光标所在位置后到一个单词结尾的字符
  4. 复制当前行

    1
    y
  5. 粘贴到下一行

    1
    p
  6. 撤销操作

    1
    u
  7. 回滚操作

    1
    ctrl+r
  8. 退出编辑器

    1
    shirt+zz
在可视化模式下可以进行的操作

可视化模式下可以快速对内容进行选中, 选中的内容会高亮显示

  1. 选中全部内容

    1
    2
    3
    1. 普通模式下敲gg(把关标定位到最上面)
    2. 普通模式下敲v(进入VISUAL模式)
    3. 然后敲 shift+g(选中整篇文本)
  2. 复制文本全部内容

    选中全部内容后输入以下字符:

    1
    2
    y 复制到vim编辑器中
    +y 复制到系统剪贴板中
  3. 对内容进行格式化

    选中全部内容后输入以下字符:

    1
    =

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

使用docker部署Django项目

发表于 2021-09-18

部署Django项目

  1. 搜索python镜像

    1
    docker search python
  2. 拉取python镜像

    1
    docker pull python
  3. 创建并运行容器

    1
    2
    3
    4
    5
    6
    docker run -id \
    --name=c_django \
    -p 8000:8000 \
    -v /root/app:/root/app
    -h c_django \
    python:latest
  4. 将源程序上传至服务器

    可以使用FTP工具或者scp指令上传 其他也可

  5. 进入程序目录 安装依赖包

    1
    pip install -r requirements.txt
  6. 启动程序

    1
    python manage.py runserver 0.0.0.0:8000
  7. 网站访问

    1
    http://服务器ip:8000

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

记录一次504 Gateway Time-out的解决

发表于 2021-09-18

起因

今早起来, 突然发现网站挂了, 直接报504 Gateway Time-out

image-20210918111428739

经过

我立马联想是否是docker挂了或者数据库容器出了问题

进入终端 使用docker ps 所有容器都在正常运行 没问题, 然后docker logs --tail=10 mysql数据库也没报错

我怀疑是不是docker内部哪里卡住了, 于是systemctl restart docker立马重启docker, 然后重新访问网站 还是不行

有点懵了, 到底哪里出了问题呢? 网上说是Nginx配置问题, 可是我nginx配置一直都没动过, 而且查看nginx容器日志也是正常, 难道是docker容器间通信不正常?

紧接着我又进入nginx容器, 使用nc -zv wordpress 80指令进行容器间通信测试, 也是正常打通的

这问题到底是出在哪了?

难道真的只是超时? 我给的时间太短了不成? 于是乎 我干脆将nginx反向代理超时时间调大, 死马当活马医, 不试试怎么知道呢

我将以下三行配置加入到代理块中:

1
2
3
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;

具体配置如下:

1
2
3
4
5
6
7
8
9
10
11
location /foo {
proxy_pass http://xxx.xxx.xxx.xxx:8080/foo;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
break;
}

然后重启nginx, 这时访问网站 次数504 Gateway Time-out消失了, 换成了Error establishing a database connection

image-20210918111216604

我靠, 原来还是数据库的问题

结果

我开始回忆, 前段时间刚进行docker跨服务器迁移, 昨天旧服务器刚好到期停机, 今天就突然访问不上了, 难道我的程序此时访问的还是原来旧服务器的数据库

对了 我的源码目录是直接从旧服务器拷贝过来的, 虽然docker容器是新建的, 但是因为存在旧目录 所以docker run配置的数据库参数全部无法重写, 也就是说程序配置文件中的数据库连接参数没有被重写

恍然大悟, 立马进入源程序目录找到配置文件打开查看, 果真如此, 然后将其修改为新的

此时重新访问, 网站正常显示

本文为作者原创 转载时请注明出处 谢谢

B站入口

打赏通道

微信公众号二维码如下:

img

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

推荐一个谷歌浏览器下的护眼小插件

发表于 2021-09-16

前言

作为IT工作者, 长时间对着电脑屏幕, 眼睛实在是疲惫不堪, 即便我将电脑屏幕亮度调至非常低 也无济于事

唯独 夜间模式能稍加缓解, 但是浏览器依旧是白花花一片 太过扎眼, 于是乎找了个暗黑小插件, 就此拯救了我的双眼

话不多说 如下:

DARK READER

名为DARK READER的插件, 配置如下:

效果如下:

image-20210917123155838

插件下载

谷歌官方商店下载

考虑到大部分国内用户无法访问谷歌网站, 这里给大家推荐两个国内下载站点:

  1. 极简插件

    image-20210917141518519

    image-20210917141441356

  2. CRX搜搜

    不仅支持名称搜索, 还支持扩展地址搜索

    比如插件官方扩展地址:https://chrome.google.com/webstore/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo

    img

    image-20240418185205986

    根据名称关键字搜索下载:

    img

    image-20240418185348662

本文为作者原创 转载时请注明出处 谢谢

B站入口

打赏通道

微信公众号二维码如下:

img

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

docker容器相互通信的实现

发表于 2021-09-16

前言

docker容器处在宿主内部的局域网络之中, 一般来说, 我们直接使用局域网ip即可访问, 但考虑到容器重启后ip可能会发生变化, 所以这种直接使用容器的ip的方案并不稳妥

那如果使用公网ip, 映射访问的话, 似乎稳定一些, 但是也存在问题, 比如docker跨服迁移, 那么ip还得手动修改, 同时公网访问速度上肯定不如内网

所以还得另寻他法

事实上 Docker官方已经给我们提供了解决办法, 那就是使用Bridge桥接网络, 这样 我们可以直接使用容器名充当局域网ip进行容器间相互访问

img

操作步骤

  1. 创建bridge网络

    1
    docker network create -d bridge 自定义网络名称
  2. 创建容器时指定bridge网络

    1
    2
    3
    docker run -id --name=first --network 网络名 ubuntu:latest

    docker run -id --name=second --network 网络名 ubuntu:latest

    这样两个容器就处在了同一个桥接网络下, 容器间自动link, 彼此可以相互访问

  3. 访问测试

    1
    2
    3
    4
    # 进入第一个容器
    docker exec -it first bash
    # 使用容器名ping
    ping second

其他操作

  1. 如果要查看当前已经存在的桥接网络列表

    1
    docker network ls

优势

除了方便容器间通信外, 结合Nginx还可以减少服务器端口开放数量, 消除不必要的安全隐患

比如不使用桥接网络时, Nginx反向代理配置是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
http{
upstream wordpress_sex{
server 服务器公网IP:7778;
}
server{
listen 80;
server_name sex.newban.cn;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://wordpress_sex;
break;
}
}

}

使用桥接网络后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
http{
upstream wordpress_sex{
server 容器名:80;
}
server{
listen 80;
server_name sex.newban.cn;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://wordpress_sex;
break;
}
}

}

无论是移植性和安全性都得到了大大的提升

但是有一点需要注意, nginx配置文件在nginx启动成功之前会检测server节点下的host地址是否可通, 如果存在无法接通的host, 则nginx无法启动,

也就是说我们使用server 容器名:80这种配置 当我们的docker容器挂了或者停止运行时, 如果此时重启nginx则会启动失败, 这一点我们需要提前知晓, 避免到时重启时出了问题摸不着头脑

本文为作者原创 转载时请注明出处 谢谢

B站入口

打赏通道

微信公众号二维码如下:

img

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

Linux中系统管理我们可能会使用到的指令

发表于 2021-09-14

1. systemctl

systemctl是 Systemd的主命令,用于管理系统。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 重启系统
$ sudo systemctl reboot

# 关闭系统,切断电源
$ sudo systemctl poweroff

# CPU停止工作
$ sudo systemctl halt

# 暂停系统
$ sudo systemctl suspend

# 让系统进入冬眠状态
$ sudo systemctl hibernate

# 让系统进入交互式休眠状态
$ sudo systemctl hybrid-sleep

# 启动进入救援状态(单用户状态)
$ sudo systemctl rescue

2. systemd-analyze

systemd-analyze命令用于查看启动耗时。

1
2
3
4
5
6
7
8
9
10
11
# 查看启动耗时
$ systemd-analyze

# 查看每个服务的启动耗时
$ systemd-analyze blame

# 显示瀑布状的启动过程流
$ systemd-analyze critical-chain

# 显示指定服务的启动流
$ systemd-analyze critical-chain atd.service

image-20210914154541109

3. hostnamectl

hostnamectl命令用于查看当前主机的信息。

1
2
3
4
5
# 显示当前主机的信息
$ hostnamectl

# 设置主机名。
$ sudo hostnamectl set-hostname rhel7

4. localectl

localectl命令用于查看本地化设置。

1
2
3
4
5
6
# 查看本地化设置
$ localectl

# 设置本地化参数。
$ sudo localectl set-locale LANG=en_GB.utf8
$ sudo localectl set-keymap en_GB

image-20210914154511109

5. timedatectl

timedatectl命令用于查看当前时区设置。

1
2
3
4
5
6
7
8
9
10
# 查看当前时区设置
$ timedatectl

# 显示所有可用的时区
$ timedatectl list-timezones

# 设置当前时区
$ sudo timedatectl set-timezone America/New_York
$ sudo timedatectl set-time YYYY-MM-DD
$ sudo timedatectl set-time HH:MM:SS

image-20210914154411820

6. loginctl

loginctl命令用于查看当前登录的用户。

1
2
3
4
5
6
7
8
# 列出当前session
$ loginctl list-sessions

# 列出当前登录用户
$ loginctl list-users

# 列出显示指定用户的信息
$ loginctl show-user

本文为作者原创 转载时请注明出处 谢谢

B站入口

打赏通道

微信公众号二维码如下:

img

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

1…192021…48

乱码三千

android程序员一枚,擅长java,kotlin,python,金融投资,欢迎交流~

479 日志
139 标签
RSS
© 2024 乱码三千
本站总访问量次
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4
0%