为什么不要对视频/直播进行录屏

长懒看
在有任何已存在录源/截源的途径下,对直播/视频录屏永远是下下策。
因为录源/截源可以保存原始画面。
而录屏再高的码率(即使是无损录屏)再高的分辨率都是 有损的 。
录源方式介绍
b站
对于b站直播,请使用b站录播姬:
https://rec.danmuji.org/
油管
对于 youtube 直播,请使用 yt-dlp 或者是 ytarchive
https://github.com/yt-dlp/yt-dlp
https://github.com/Kethsar/ytarchive
这两个是命令行工具,但命令非常简单,比如 yt-dlp 的话可以用
如果想要mp4格式优先可以在后面加上这一句
而 ytarchive 更简单,默认就是 MP4 的
niconico
参考这里介绍的几款软件
https://com.nicovideo.jp/community/co2414037
我个人喜好用这个:
ニコ生新配信録画ツール(仮+ニコ生録画登録ツール(仮
其他平台
使用猫抓获取 m3u8 链接
https://chrome.google.com/webstore/detail/猫抓/jfedfbgedapdagkghmgibemcoggfppbb
下面扩展简介有说明文档的链接与 github 项目地址
yt-dlp 可以直接填入 m3u8 地址与 cookie 进行录制Stream Recorder
简单一键开录的软件(如果支持的话)
https://chrome.google.com/webstore/detail/stream-recorder-download/iogidnfllpdhagebkblkgbfijkbkjdmm推特空间可以用 twspace-dl
https://github.com/HoloArchivists/twspace-dl
不会用、失效了、不支持别问我,这个需要你自己去研究(不是什么适合到处宣传的东西)。或者你直接找人帮忙录吧
为什么录源画质最好
首先你要理解直播视频的工作原理。
简单来说
直播中的视频其实是一段段几秒钟的超短视频片段,你看到的直播实际上是下载到你的电脑缓存里面,然后再由浏览器打开播放的。所以任何直播其实都是下载下来看的
对,缓存条就是你下载视频的进度
而这些“直播源档案”都是由直播方的源服务器切成片段传送给我们的,所有的用户观看的同一场直播获得的“直播源档案”都是一模一样的。
因此,这个最原始,未结果任何处理的源档案自然就是画质最好、体积最优的选项。
而获取这个源的行为也被称为:截源/录源
别跟我扯什么超分辨率、4k 屏录屏分辨率比较高。你把源档案放播放器里面播放的时候,播放器的高质量拉伸算法就算是实时观看也绝对完爆浏览器的基础算法。更别说 ai 了,你拿到源档案你想用啥 ai 就用啥 ai。 waifu2x 还是 cugan 随便你挑。别想不开录他妈几十上百个G的录屏然后问为什么不如几个G的源。
为什么无论如何设置录屏的画质都是有损的
是的,哪怕你用 Fraps 之类的能录无损RGB视频的软件录无损(录无损?一场live准备起码4T的空硬盘吧),你的画质相对于截源下来的源视频都是有损的。
原因在于,几乎所有的直播源都是以 yuv420 数据格式编码的。
意思是什么呢?意思就是他们在显示出来之前会被有损地转换才能观看,而屏幕录制是录制的有损转换之后的内容。
yuv420 并不是以“RGB”三通道储存的,而是以“亮度、蓝色度、红色度”三通道(YCbCr)储存的。 而其中,只有亮度通道是全分辨率的,而色度通道的分辨率只有亮度的四分之一
这是原图

这是 RGB 三通道



这是 YUV420 三通道



为什么录屏必定有损的原因就在于此:
YUV420的后面两个色度通道(UV)在显示之前需要预先放大到2倍大小,而这个放大算法由渲染器决定。浏览器的放大算法未必能给你上高精度高质量的放大算法。
YUV在显示之前要转换为RGB才可以显示,而这个转换是有“精度”的。浏览器的转换未必有足够高精度的转换。
一般的n卡录屏或者是obs录屏都是以yuv420储存的,但他们捕获的画面必然是RGB。所以录屏的时候是“YUV420->RGB->YUV420”转换,录屏就是对源视频的二压
由于 yuv 的色度平面被放大了一次又缩小了一次,所以其实录屏比二压更糟糕,除非你开 RGB 无损录屏才会好一点,虽然在无损录制之前你的画面相对于源视频已经是有损的了。
题外话
无论你把视频塞进ffmpeg、pr、格式工厂、达芬奇、小丸还是各种各样的软件。你只要没有主动加后处理滤镜,你无论怎么选“高质量”输出,你二次编码(俗称二压)出来的成品必然只能劣化画质。