您现在的位置是:网站首页> 软件使用

生活常用软件

摘要

生活常用软件相关


potplayer播放器

winrar包部分文件不加密

winrar包部分文件加密与不加密实例

wormhole 虫洞文件在线分享 端到端加密完全免费无需注册

[SRS+docker]实现直播服务器教程

SRS实现直播服务器 推流防盗链实现

免费直播软件OBS

免费的视频编辑软件ShotCut

视频编辑软件

iKuai爱快路由系统

Openwrt积累

统信UOS家庭版(linux)

统信UOS家庭版(linux)安装go语言编译器

UOS更换python3.7及安装pip与pyinstaller及更换pip源提高下载速率


potplayer播放器

点击进入软件主页

点击进入直播源地址

IPTV直播源无法播放解决方案,IPV6电视直播源播放,IPV6网络设定

直播源1

功能:

可录制视频

给播放器加载lut!——如何使用Potplayer直接播放Log视频


m3u文件格式:播放列表文件

M3U8文件是M3U文件的一种

M3U8内容例子:

#EXTM3U


#EXT-X-TARGETDURATION:10


#EXTINF:9.009,


http://media.e***mple.com/001.ts


#EXTINF:9.009,


http://media.e***ple.com/002.ts


#EXTINF:3.003,


http://media.***ple.com/003.ts


#EXT-X-ENDLIST



当 M3U8 作为播放列表(Master Playlist)时,其内部提供的是同一份媒体资源的多份流列表资源

其格式如下所示:


#EXTM3U


#EXTINF:-1 ,CCTV1高清


https://********seIPTV-BF.php?id=488


#EXTINF:-1 ,CCTV2高清


https://*********useIPTV-BF.php?id=061


#EXTINF:-1 ,CCTV3高清


https://*******MouseIPTV-BF.php?id=062



winrar包部分文件不加密

先压缩需要加密的文件生成加密压缩包,然后打开生成的压缩包添加不需要加密的文件,最后生成需要的压缩包


查看原文

winRAR命令

具体参数如下

RAR 5.50 x64

命令

  a             添加文件到压缩文件

  c             添加添加压缩文件注释

  ch            更改压缩文件参数

  cw            写入压缩文件注释到文件

  d             从压缩文件删除文件

  e             提取文件不带压缩路径

  f             刷新压缩文件中的文件

  i[par]=<str>  查找压缩文件中的字符串

  k             锁定压缩文件

  l[t[a],b]     列出压缩文件内容 [technical[all], bare]

  m[f]          移动到压缩文件 [仅文件]

  p             打印文件到标准输出

  r             修复压缩文件

  rc            重新构建丢失的卷

  rn            重命名归档的文件

  rr[N]         添加数据恢复记录

  rv[N]         创建恢复卷

  s[name|-]     转换压缩文件到或从 SFX

  t             测试压缩文件的文件

  u             更新压缩文件中的文件

  v[t[a],b]     详细列出压缩文件的内容 [technical[all],bare]

  x             解压文件带完整路径


开关

  -             停止参数扫描

  @[+]          禁用 [enable] 文件列表

  ac            压缩或解压后清除压缩文件属性

  ad            扩展压缩文件名称到目标路径

  ag[format]    使用当前日期生成压缩文件名称

  ai            忽略文件属性

  ao            添加文件带有压缩文件属性集

  ap<path>      设置压缩文件中的路径

  as            同步压缩文件内容

  c-            禁用内容显示

  cfg-          禁用读取配置

  cl            转换名称为小写

  cu            转换名称为大写

  df            压缩后删除文件

  dh            打开共享的文件

  dr            删除文件到回收站

  ds            为固实压缩禁用名称排序

  dw            压缩后删除文件

  e[+]<attr>    设置文件排除和包含属性

  ed            不要添加空目录

  en            不要放置 'end of archive' 块

  ep            从名称里排除路径

  ep1           从名称里排除根目录

  ep2           扩展路径为完整路径

  ep3           扩展路径为完整路径包括驱动器盘符

  f             刷新文件

  hp[password]  加密文件数据及文件头

  ht[b|c]       设置哈希类型 [BLAKE2,CRC32] 用于文件校验和

  id[c,d,p,q]   禁用消息

  ieml[addr]    通过电邮发送压缩文件

  ierr          发送所有压缩文件到 stderr

  ilog[name]    记录错误到日志文件 (仅适用于已注册版本)

  inul          禁用所有消息

  ioff          完成操作后关闭计算机

  isnd          禁用声音

  iver          仅显示版本号

  k             锁定压缩文件

  kb            保留损坏的已解压文件

  log[f][=name] 将名称写入日志文件

  m<0..5>       设置压缩级 (0-储存...3-默认...5-最大)

  ma[4|5]       指定压缩格式的版本

  mc<par>       设置高级压缩参数

  md<n>[k,m,g]  字典大小 KB, MB 或 GB

  ms[ext;ext]   指定要存储的文件类型

  mt<threads>   设置线程数

  n<file>       额外过滤器包含文件

  n@            从标准输入读取额外的过滤器掩码

  n@<list>      从列表文件读取额外的过滤器掩码

  o[+|-]        设置覆盖模式

  oc            设置 NTFS 压缩属性

  oh            保存硬链接为链接而不是文件

  oi[0-4][:min] 将相同的文件保存为参考

  ol[a]         将符号链接处理为链接 [绝对路径]

  oni           允许潜在的不兼容名称

  or            自动重命名文件

  os            保存 NTFS 流

  ow            保存或恢复文件拥有者和组

  p[password]   设置密码

  p-            不要查询密码

  qo[-|+]       添加快速打开信息 [none|force]

  r             递归子目录

  r-            禁用递归

  r0            递归子目录仅用于通配符名称

  ri<P>[:<S>]   设置优先级 (0-默认,1-最小..15-最大) 和休眠时间(毫秒)

  rr[N]         添加数据恢复记录

  rv[N]         创建恢复卷

  s[<N>,v[-],e] 创建固实压缩文件

  s-            禁用固实压缩文件

  sc<chr>[obj]  指定字符集

  sfx[name]     创建 SFX 压缩文件

  si[name]      从标准输入读取数据 (stdin)

  sl<size>      处理小于指定大小的文件

  sm<size>      处理大于指定大小的文件

  t             压缩后测试

  ta<date>      处理在 <date> 之后修改的文件日期格式为 YYYYMMDDHHMMSS

  tb<date>      处理在 <date> 之前修改的文件日期格式为 YYYYMMDDHHMMSS

  tk            保留原来的压缩时间

  tl            设置压缩时间为最近的文件

  tn<time>      处理比 <time> 更新的文件

  to<time>      处理比 <time> 更旧的文件

  ts[m|c|a]     保存或还原文件时间 (修改时间, 创建时间, 访问时间)

  u             更新文件

  v<size>[k,b]  创建卷大小为=<size>*1000 [*1024, *1]

  vd            创建卷之前删除磁盘内容

  ver[n]        文件版本控制

  vn            使用旧式的卷命名规则

  vp            每个卷之前暂停

  w<path>       指定工作目录

  x<file>       排除特定文件

  x@            读取从标准输入排除的文件名

  x@<list>      排除在特定列表文件中列出的文件

  y             对所有问题回答是

  z[file]       从文件读取压缩文件注释


例子

Windows下使用WinRAR命令自动备份文件

"C:\Program Files\WinRAR\WinRAR.exe" a -ag -ibck "D:\backup\bak.rar" "D:\Programe Files\TestFiles"

1

讲解:


“C:\Program Files\WinRAR\WinRAR.exe”:WinRAR程序的路径

a:表示进行压缩动作

-ag:表示当创建压缩文件时,以格式"YYYYMMDDHHMMSS"附加当前日期、时间字符串;最后的文件名就是bakYYYYMMDDHHMMSS.rar

-ibck:表示后台执行,不显示窗体

“D:\backup\bak.rar”:表示压缩后存储的位置及文件名

“D:\Programe Files\TestFiles”:表示要压缩的文件夹,后面可以跟多个文件、文件夹,用空格分开。就可以同时压缩多个文件、文件夹了。

可以在任务计划程序中执行上面的命令,又或者创建一个以bat为后缀名的文件,把这条命令写进去,然后执行这个bat文件。

推荐使用bat文件,这样在你想备份一次的时候,执行一次这个bat文件就好了


压缩、注释、解压、删除基础操作

rem 压缩全部文件,按类型压缩,zip打包


 WinRAR.exe a num_all.zip .\test_data\

 WinRAR.exe a num_txt.zip .\test_data\num*.txt

 WinRAR.exe a num_log.zip .\test_data\num*.log


rem 压缩全部文件,按类型压缩,rar打包


 WinRAR.exe a num_all.rar .\test_data\

 WinRAR.exe a num_txt.rar .\test_data\num*.txt

 WinRAR.exe a num_log.rar .\test_data\num*.log


rem 默认压缩根目录,递归处理子文件夹使用 -r


 WinRAR.exe a -r num_all_tg.zip .\test_data\*.*

 WinRAR.exe a -r num_all_txt.zip .\test_data\*.txt

 WinRAR.exe a -r num_all_log.rar .\test_data\*.log


添加注释与读取注释

rem 添加注释,注释从一个txt文件读取,txt文件名info.txt


 WinRAR.exe c -zinfo.txt num_all.zip

 WinRAR.exe c -zinfo.txt num_all.rar


rem 从压缩包中读取注释,写入到read.txt文件,默认ASCII,参数-scuc表示unicode


  WinRAR.exe cw num_all.zip read1_ASCII.txt

  WinRAR.exe cw num_all.rar read2_ASCII.txt

  WinRAR.exe cw -scuc num_all.rar read_unicode.txt


从压缩包中删除制定文件

rem 从压缩包中删除制定文件


WinRAR.exe d  num_all_tg.zip *.log


解压操作

 rem 解压到当前目录下,不包含压缩包内的路径

 WinRAR.exe e  num_all_tg.zip

 rem 解压到制定目录下,不包含压缩包内的路径

 WinRAR.exe e  num_all_tg.zip .\test_d2

 rem 解压到当前目录下,只解压制定类型的文件

 WinRAR.exe e num_all_tg.zip *.log


给压缩包内的文件重命名

WinRAR.exe rn num_all_tg.zip num(1).txt  num(1).bak num(2).txt num(2).bak

WinRAR.exe rn num_all.rar *.txt *.bak



其它

rem 使用压缩包捏的绝对路径解压


WinRAR.exe x  num_all_tg.zip


rem 使用压缩包捏的绝对路径解压,解压指定类型文件


WinRAR.exe x  num_all_tg.zip *.log


rem 使用压缩包捏的绝对路径解压,解压指定类型文件,并解压到指定文件夹


WinRAR.exe x  num_all_tg.zip *log  .\new_data\



实例

"C:\Program Files\WinRAR\rar.exe" a -p123  1.rar  要加密文件夹

"C:\Program Files\WinRAR\rar.exe" a  1.rar  不加密文件.txt

"C:\Program Files\WinRAR\rar.exe" a -p456  1.rar  要加密文件.txt

密码设置是123和456



wormhole 虫洞文件在线分享 端到端加密完全免费无需注册

网址:https://wormhole.app/



[SRS+docker]实现直播服务器教程

[SRS+docker]实现直播服务器教程



SRS实现直播服务器 推流防盗链实现

1 前言

前面的文章,已经完成了基于SRS的直播的实现的所有技术细节。从这一篇开始分享,如何从性能、安全等维度优化直播服务器。


这一篇分享如何给直播服务器添加推流防盗链。


2 什么是防盗链

引用别人的总结:


网站资源都有域的概念,浏览器加载一个站点时,首先加载这个站点的首页,一般是index.html或者index.php等。页面加载,如果仅仅是加载一个index.html页面,那么该页面里面只有文本,最终浏览器只能呈现一个文本页面。丰富的多媒体信息无法在站点上面展现。


那么我们看到的各类元素丰富的网页是如何在浏览器端生成并呈现的?其实,index.html在被解析时,浏览器会识别页面源码中的img,script等标签,标签内部一般会有src属性,src属性一般是一个绝对的URL地址或者相对本域的地址。浏览器会识别各种情况,并最终得到该资源的唯一地址,加载该资源。具体的加载过程就是对该资源的URL发起一个获取数据的请求,也就是GET请求。各种丰富的资源组成整个页面,浏览器按照html语法指定的格式排列获取到各类资源,最终呈现一个完整的页面。因此一个网页是由很多次请求,获取众多资源形成的,整个浏览器在一次网页呈现中会有很多次GET请求获取各个标签下的src资源。



上图是一篇本站的博客网页呈现过程中的抓包截图。可以看到,大量的加载css、js和图片类资源的get请求。


观察其中的请求目的地址,可以发现有两类,一个是本站的43.242段的IP地址,这是本站的空间地址,即向本站自身请求资源,一般来说这个是必须的,访问资源由自身托管。另外一类是访问182的网段拉取数据。这类数据不是托管站内的,是在其他站点的。浏览器在页面呈现的过程,拉取非本站的资源,这就称“盗链”。


准确的说,只有某些时候,这种跨站访问资源,才被称为盗链


作者:elef

链接:https://www.jianshu.com/p/0a1338db6cab

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


 


3 为什么直播使用防盗链

直播是一个比较耗费服务器资源的功能。另外直播的观看用户也可控,可多可少,所以如果不对直播的源头进行控制的话,很容易引起一些不好的社会影响。直播分成推流和拉流,重点的防控在推流,如果不对推流进行控制的话,可能会有如下的影响:


直播推流地址泄漏,那么任何人都可以接入直播服务器,导致直播服务器资源应付不来而奔溃

直播推流地址泄漏,一些用意不良的人,会直播一些违法的内容,但是直播的载体是你的直播服务器,所以还会引起被动的违法

综上,需要对直播的推流进行防盗链措施。


4 http callback

http callback是srs提供一个当客户端和服务端进行交互满足某个事件的时候提供的一个回调通知功能。


在直播推流防盗链里头需要使用http callback来进行防盗检查。


Srs官网有提供详细的关于http callback的解释文档:https://gitee.com/ossrs/srs/wikis/v3_CN_HTTPCallback?sort_id=3957161


http callback的应用:


事件:发生该事件时,回调指定的HTTP地址

HTTP地址:可以支持多个,以空格分隔,SRS会依次回调这些接口

数据传输:SRS将数据POST到HTTP接口

5 直播防盗链实施

借助http callback来实现直播防盗链:


5.1 api准备

http callback的一个核心要素就是,我们要准备回调api,这个api由我们自己来定义。


笔者使用node-koa来创建一个web服务,提供这个回调api,大家可以使用其他的编程方式来提供api,比如java等。


Api必须满足如下几个条件:


Api支持跨域访问

Api支持post类型请求

srs服务器能正常访问该url

调用该api之后,如果校验成功,http status必须返回200,同时输出0,否则视为校验失败

Koa的app.js的源码如下:


const koa = require('koa')

const koabodyparser = require('koa-bodyparser')

const app = new koa()

app.use(koabodyparser())

app.use(require('koa-cors')())

const router = require('koa-router')()

router.post('/', (ctx,next) => {

    console.log(JSON.stringify(ctx.request.body))

    ctx.body = 0

})

 

app.use(router.routes())

app.listen(3000)

5.2 配置api

Api准备好之后,需要将api配置到srs里头。配置的位置为当前的srs运行所以来的配置文件里头,如下:


vhost __defaultVhost__ {

   ...

    # http回调

    http_hooks{

        enabled       on;

        on_connect    http://192.168.7.100:9000/;

        on_close      http://192.168.7.100:9000/;

        on_publish    http://192.168.7.100:9000/;

        on_unpublish  http://192.168.7.100:9000/;

        on_play       http://192.168.7.100:9000/;

        on_stop       http://192.168.7.100:9000/;

        on_dvr        http://192.168.7.100:9000/;

        on_hls        http://192.168.7.100:9000/;

        on_hls_notify http://192.168.7.100:9000/;

    }

...

}

配置好之后,需要重启srs服务器。


5.2.1 api配置注意事项及问题

起初,作者在配置api的时候,因为把api的地址配置成:http://192.168.7.100:9000,导致回调不成功,一直出现400错误,但是这个地址我通过postman调用是没问题的。通过tcpdump抓包,也并没有得到进一步的错误的信息。后面软磨硬泡,硬磨出来的。原来问题是:api的地址后面上了一个/,如果通过ajax/axios或者postman等调试工具,缺少/是没有问题的,但是通过srs的配置文件配置api的url的话,少了/,就访问不了了。


5.3 防盗链

Srs的推流一般都是基于rtmp协议来进行的,这个时候可以在url里头添加用来防盗验证的参数,如token之类的。此时整个推流的url格式变了,例如:


rtmp://192.168.211.4:1935/live?token=121abc


 5.4 防盗参数获取

基于上述的配置重新推流,就可以在回调api指向的接口上获取到防盗链上的参数token,然后我们就可以基于token做一些验证了。

6 加入防盗链后的SRS的推流流程




视频编辑软件

PR AE

一、性质不同

1、AE

是一套动态图形的设计工具和特效合成软件。

2、PR

是一款剪辑软件,用于视频段落的组合和拼接,并提供一定的特效与调色功能。

二、主要功能不同

1、AE

图形视频处理、路径功能、特技控制、多层剪辑、关键帧编辑、高效渲染效果。

2、PR

Premiere提供了采集、剪辑、调色、美化音频、字幕添加、输出、DVD刻录的一整套流程,并和其他Adobe软件高效集成,满足创建高质量作品的要求。

三、适用不同

1、AE

适用于从事设计和视频特技的机构,包括电视台、动画制作公司、个人后期制作工作室以及多媒体工作室。属于层类型后期软件。

2、PR

是视频编辑爱好者和专业人士必不可少的视频编辑工具。



统信UOS家庭版(linux)

统信主页

家庭版地址,点击下载

统信操作系统【家庭版、专业版、教育版、社区版】区别

家庭版

主要面向普通(C端)消费者的基线版本,满足用户日常生活、学习、办公、娱乐的需求。cpu目前仅支持X86架构


专业版

主要针对整机厂商、政府单位、事业单位和企业用户使用,cpu目前支持x86、arm、mips、sw64和LoogngArch架构,试用期免费获得90天的使用,随后需要单位采购授权,获得正式激活码后才可以正常使用。


教育版

主要面向教育行业市场,包括高教、职教、普教、继续教育等。产品主要适配教育信创、新增市场和存量X86机型


社区版

统信操作系统社区版为deepin面向的是开发者、爱好者等群体,其致力于服务全球Deepin用户,系统具有极高的易用性、优秀的交互体验、多款自研应用、全面的生态体系、高效的优化反馈机制为用户提供最好的Linux开源体验环境。

Deepin目前支持X86架构,开发版本,无试用期限制,默认开启开发者模式。



👏欢迎加入统信官方交流群,个人用户优先推荐使用deepin,无需激活,兼容更多设备,深度之家上线答疑更加方便


个人用户优先推荐使用deepin,无需激活,兼容更多设备,深度之家上线答疑更加方便


🖥【deepin镜像下载】https://distrowatch.com/table.php?distribution=deepin


🖥【deepin镜像下载】https://distrowatch.com/table.php?distribution=deepin 


❓【deepin问题反馈】您在使用中遇到bug类问题,请移步到deepin论坛发帖,版主会帮您解答。

https://bbs.deepin.org/


🖥【家庭版镜像下载】https://pan.baidu.com/s/19-zZsbPNZAFk6Uqi-RNtBg?pwd=deep


🌟【家庭版激活码自助领取窗口】https://uniontech.wjx.cn/vm/QjNppbA.aspx?v=80#


❓【家庭版问题反馈】您在使用中遇到bug类问题,请移步到UOS论坛发帖,版主会帮您解答。

https://bbs.chinauos.com/



🖥【专业版镜像下载】

https://www.chinauos.com/resource/download-professional


👉专业版用户遇到问题请点击链接进入专业版群提问,链接:https://mp.weixin.qq.com/s/g51SwyhLvLPRQdwfRtiniA


🌟系统安装指南:

https://faq.uniontech.com/desktop/f435/install





统信UOS家庭版(linux)安装go语言编译器

点击查看原文

一、下载go编译器

*go官方源在谷歌服务器上,建议使用国内源。本教程以国内源为基础。

go语言中文网 https://studygolang.com/dl

1.png

$ wget https://studygolang.com/dl/golang/go1.17.6.linux-amd64.tar.gz


二、解压go编译器

$ sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz

1.png

三、配置path

$ sudo nano /etc/profile

在最后一行写入

export PATH=$PATH:/usr/local/go/bin

Ctrl+O 写入

回车

Ctrl+X 退出

激活配置

$ source /etc/profile


四、重启电脑

$ reboot


五、检测版本

$ go version


六、配置vscode

安装go开发工具

1.png


安装完成后换代理

$ go env -w GO111MODULE=on

$ go env -w GOPROXY=https://goproxy.cn,direct


安装类库

在vscode中按下Ctrl+Shift+P

搜索 Go:install/Update

1.png


点击工具 勾选全部工具包

1.png



UOS更换python3.7及安装pip与pyinstaller及更换pip源提高下载速率

点击查看原文

1. 安装所需的Python版本

首先,确保您安装了所需的Python版本。UOS的软件仓库可能直接提供Python 3.5或更高版本。您可以使用包管理器进行安装,例如:

sudo apt update

sudo apt install python3.7  # 举例使用Python 3.7,根据需要选择合适版本


2. 更新Python的默认版本

安装好所需的Python版本后,需要设置系统默认的Python版本。这可以通过更新系统的符号链接来实现:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1

此命令将python3.7(或您安装的任何版本)设置为python命令的默认版本。如果系统中已有其他版本的Python作为默认设置,可能还需要通过update-alternatives配置来选择默认版本:

sudo update-alternatives --config python

如果您遇到错误“sudo: update-alternatives: 找不到命令”,这意味着update-alternatives工具可能没有安装在您的系统上,或者其安装路径没有被包含在环境变量PATH中。update-alternatives是Debian及其衍生系统(如Ubuntu)中的一个工具,用于管理系统中安装的多个软件版本。对于基于Debian的UOS系统,update-alternatives应该预装在系统中。如果确实遇到了找不到命令的情况,您可以尝试以下几个步骤来解决:

sudo apt update

sudo apt install dpkg


















Top