基本的音视频编码知识
全称Graphics Interchange Format,原义是“图像互换格式”。
图标文件
一般像素为 16*16
JPG即JPEG(Joint Photographic Experts Group)。
JPEG的压缩方式主要有四种,其中一种是基于空间DPCM的无损压缩,另外三种是基于DCT的有损压缩。
JPEG文件交换格式(英语:JPEG File Interchange Format,简称JFIF)是一个图像文件格式标准。它是一种交换符合JPEG交换格式(JIF)标准的JPEG编码文件的格式。它解决了JIF在简单JPEG编码文件交换方面的一些限制。与所有符合JIF的文件一样,JFIF文件中的图像数据使用JPEG标准的技术压缩,因此JFIF有时被称为“JPEG/JFIF”。
2010年,谷歌为了让网络上的图片更小,让网站加载速度更快,提出了同画质下,比JPEG格式图像小40%的Webp格式。
是Portable Network Graphic的缩写,是一种光栅图像格式,是为了克服GIF格式的局限性并取代GIF格式而产生的。 PNG是一种无损的数据压缩和开放格式文件,没有版权限制。
同分辨率的图片(1491*1265), 使用格式工厂默认设置
ico(16*16) | gif(170*144) | webp | jpg | jfif | png | TIF | bmp(tga) |
---|---|---|---|---|---|---|---|
1k | 13k | 159k | 218K | 248K | 1.6M | 1.62M | 5.4M |
暂无
暂无
同样是1080P 25帧,码率不同,大小差异很大。
或者(有时候会失效,eg 720P)
CRF(英文:constant ratefactor 意思:压缩质量)是动态码率,要看你拍摄的视频画面抖动切换的程度,如果比较安静就20,动的厉害就25。
crf18就接近无损,字幕组惯用20-22,crf23是默认值。 CRF的值越小,视频将会越清晰 当然视频质量就会更大。
2-pass通过两次编码,第一次编码是先对整个文件进行扫描,记录一些统计信息,第二次编码时根据前面记录的统计信息再进行编码。这么做虽然转换时间会漫长,但压出的片子会有更好的画质,画面细节更好,而且体积会更小。
常用于非实时转码的情景。
疫情线上参会邮件投递Presentation视频,邮件大小限制100MB。PPT生成的过大
直接自定义导入导出,默认设置就行(确定分辨率不变的情况下,大小无法限制)。视频部分就只有原来五分之一(中间),而且完全看不出损失。
如果要最小大小,选择“转mp4”,然后“输出设置”选择“低质量和大小”,最后在分辨率选回原来的分辨率。
如果不熟悉H.265的参数设置,压缩后不一定比H.264小。
PS: H.264中熵编码有两种方法:
CABAC动态的根据内容的码率能在效能与压缩效率上取得相当大的改善空间,但是顺序处理造成资料依存性(Data Dependency)偏高。
已知大小需求来计算需要压缩的码率。直接设置压缩后的平均码率就行,常见软件有:小丸工具箱,HandBrake, 剪映
首先需要知道如何计算码率
ffmpeg是一个自由软件,可以运行音频、视频多种格式的录影、转换、流功能,包含
1 | # 视频流码率 500k, 音频流码率 50k |
结果如下
1 | $ ls |
同样分辨率下,视频文件的码率越大,压缩比就越小,画面质量就越高。码率越高,精度就越高,处理出来的文件就越接近原始文件,图像质量越好,画质越清晰,要求播放设备的解码能力也越高。体积越大,说明压缩比小,越接近原文件。
帧率与码率的关系:帧率多,则每秒图片数目多;码率越高,每张图片质量越清晰。
VMAF - Video Multi-Method Assessment Fusion 视频多方法评估
3Mbps是1080p的甜品点。
其他标准
视频压缩原理看差评君的就懂了,讲的真好。
为什么有这么多标准:
H26x的视频的编解码“贵”:
我们知道,其实视频就是一帧一帧的图片。计算一下,一部25帧每秒,90分钟,分辨率为1024*768,24位真彩色的视频,没有经过压缩,大小为
1 | 1Byte(字节) = 8bit(位) |
从上面的计算可以看出,我们储存一部90分钟没压缩的电影需要296GB的,2部电影便可占满我们电脑整个硬盘。所以我们需要对视频进行压缩,这种视频压缩技术就是我们所说的编码。
视频编码方式:H.26X(H.261、H.262、…、H.264(目前最常用)、H.265)
音频编码方式:MP3、AAC等
通过视频压缩算法,减少了视频文件的大小。压缩比越大,解压缩还原后播放的视频越失真,这是因为压缩的同时不可避免的丢失了视频中原来图像的数据信息。
一般ITU(国际电信联盟)和ISO(国际标准化组织)来制定
B站新支持的AOM联盟的AV1标准,免费而且没有潜在的版权问题。
画质不变时,编码标准越先进,码率越低.
相对于优酷等最高大约4000的码率,虽然B站码率低,但是以普通的动画素材为主的视频而言,因为动画以简单的单色大色块居多,一般来说1500左右的码率就足够了。
目前 AVC 依然是使用最广泛的编码标准,无论新老设备都可以播放 AVC 视频,因此保留 AVC 编码可以保证广泛的兼容性。
但是 AVC 在编码超高清视频时,输出码率较高,无法保证良好的观看体验;同时很多 AVC 解码器也不支持 HDR 和 8K 视频的解码。而 HEVC 和 AV1 对于超高清视频的压缩能力明显提升,对于 HDR 和 8K 视频的支持显著改善,因此 B 站使用更先进的编码标准为用户提供服务。
低频率部分是最重要的信息。
先将视频分块,
帧间预测 & 帧内预测
关键帧I帧 与 预测帧P帧
在 H.261 的基础上加入
暂无
暂无
作者:哔哩哔哩技术 https://www.bilibili.com/read/cv16198183 出处:bilibili
Streaming Protocol & Streaming Coding
常用的流媒体协议主要有两类:
在流式传输的实现方案中,一般采用
rtmp://ip:[port]/appName/streamName
官网写着
Moonlight (formerly Limelight) is an open source implementation of NVIDIA’s GameStream protocol.
那么 NVIDIA’s GameStream protocol是什么呢?
NVIDIA uses high speed, low latency video encoders built into GeForce GTX or RTX GPUs along with an efficient streaming software protocol integrated into GeForce Experience.
我只能说看上去像自研的~但是马上也要没了
Nvidia isn’t just ending support for GameStream, it’s planning to fully remove the feature from existing Shield hardware in February 2023.
Nvidia is recommending that Shield users switch to Steam Link, which is a similar way of streaming PC games to a Shield device.
有github老哥分析了。但我只能说肯定不是上面常见的类型。
1 | sequenceDiagram |
主流还是 H.264 或者 HEVC。 流式传输时为了保证帧率可能会牺牲画面。
Steam Link 的相关设置
暂无
暂无
山东布谷科技 https://www.bilibili.com/read/cv9502267?from=search&spm_id_from=333.337.0.0 出处:bilibili
tjupt的默认设置就不错。红框是建议勾选的。
突然没速度了,可能是缓存卡住了。一般也没什么解决办法。但是稳定下载的时候会均衡。
首先不要勾选”立即下载”,通过如下更改位置即可再开始下载即可。还可以多选来批量移动文件到文件夹。(对于PT需要下载100%文件才能做种的,但是不需要的文件会影响刮削。可以通过批量移动到其他位置来解决)
http://pgpchs.blogspot.com/2011/03/utorrent-antigfwalloutwallbloggercom.html
Wake-on-LAN 也叫 WoL,指通过网络消息打开或唤醒计算机。
WoL 需要由另一台「同局域网」设备发送网络信号,任意有能力发送 WoL 信号 的设备都可以充当此角色;在远程办公场景中,则最好由「带有线网卡的低功耗设备」来执行,这类设备包括但不限于以下选项:
获取局域网下设备MAC地址, 或者OpenWRT直接显示
平台 | 工具 |
---|---|
Windows | Softperfect Network Scanner |
Linux | arp-scan |
Android / iOS | Fing / PingTools |
可以使用的幻数据包唤醒工具有:
平台 | 工具 | 特点 |
---|---|---|
Windows | wolcmd.exe | 命令行,跨网段 |
Linux/MacOS | etherwake, wakeonlan | 命令行,同网段 |
Android / iOS | Fing / PingTools | 可扫描 |
请注意,WoL 属于无状态协议,仅发送、不确认。
1 | WolCmd.exe 90:09:D0:15:70:B8 192.168.233.242 255.255.255.255 9 (目的地址 192.168.233.242) |
路由遇到目的MAC是广播地址怎么办?
IP的广播有三种:
路由器是三层设备,可以隔离广播,但并不是所有广播都隔离。事实上只有本地广播路由器才不转发,对于子网广播和全子网广播,路由器是转发的。
为什么呢?我们来看255.255.255.255的广播,在MAC的封装中,对应的目的MAC是广播,而子网广播和全子网广播,对应的目的MAC是单播,所以路由器会转发。所以路由器隔离的广播是目的MAC为全1的广播,对于目的MAC是单播的上层广播,路由器是不能隔离的。
1 | > netstat -r -anv |
路由器
1 | [root@ax6s ~]$ ip route get to 192.168.233.242 from 192.168.233.142 iif lan2 |
1 | Automatic Power On |
暂无
暂无
Nas 太吵,需要自动关机
区别于BT,核心概念在于文件共享。
eDonkey网络所使用的协议,eDonkey网络所共享的文件会生成eD2k开头的链接。
eDonkey2000:(又称:eDonkey;缩写:eD2k;非官方中文译名:电驴)最先开发使用eDonkey网络的文件共享客户端软件。2000年起开发,2005年停止维护,之后eDonkey网络被其他软件沿用。
eMule:(官方中文名:电骡)eMule及其Mods是现在最流行的一款eDonkey网络文件共享客户端软件。2002年起开发。
暂无
暂无
作者:qysnn
链接:https://www.zhihu.com/question/19922200/answer/29022933
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
127.0.0.1:7890
上的数据+.*
便等价于redir-host模式1 | # RESTful web API listening address |
假如服务器和笔记本在LAN下,笔记本的clash软件只需要打开LAN就可以给服务器代理了,是最简单方便的方式。
由于UGREEN NAS一直开机,作为代理节点很适合。
首先注意修改代理机场的文件config.yaml
的0.0.0.0:9090
,以便haishanh/yacd
使用。
1 | mixed-port: 7890 |
dreamacro/clash
^1haishanh/yacd
下载可执行文件
1 | wget https://github.com/Dreamacro/clash/releases/download/v1.11.8/clash-linux-amd64-v1.11.8.gz |
Country.mmdb
文件,Country.mmdb
文件利用 GeoIP2
服务能识别互联网用户的地点位置,以供规则分流时使用。./clash
命令) 会自动下载(会下载至 /home/XXX/.config/clash
文件夹下)。自动下载可能会因网络原因较慢,可以访问该链接手动下载。根据订阅链接配置文件
1 | cd ~/.config/clash |
成功结果
1 | # shaojiemike @ node6 in ~/Download [10:22:54] C:130 |
http://clash.razord.top/#/proxies
输入
1 | Host: node6.swangeese.fun |
查看config.yaml
,发现是空
1 | mixed-port: 7890 |
[^2]: Docker 安装 Clash 并对外提供代理服务
https://blog.iswiftai.com/posts/clash-linux/
https://einverne.github.io/post/2021/03/linux-use-clash.html
官网要钱,有泄漏的50G的模型,B站有up抽取了其中的一个做了整合包
不知道,会不会有版权问题下架了。
1 | https://pan.baidu.com/s/1AAHoNYYano6q7XBl3luCcg |
可以把start.bat改成sh脚本在实验室A100上跑
作者:秋葉aaaki https://www.bilibili.com/read/cv19038600?spm_id_from=333.788.b_636f6d6d656e74.7 出处:bilibili