一.关于视频编码的最基本知识

1)码率:Bit Rate,指视频或音频文件在单位时间内使用的数据流量,该参数的单位通常是Kbps,也就是千比特每秒。通常2000kbps~3000kbps就已经足以将画质效果表现到极致了。码率参数与视频文件最终体积大小有直接性的关系。

2)帧率:Frame Rate,是用于测量画面显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames per Second,缩写:FPS)。如电影的帧率一般是25fps和29.97fps,而第一人称射击游戏等要求画面极为顺畅的特殊场合,则需要30fps以上的效果,高于60fps就没有必要了。

码率的定义是视频文件体积除以时间。单位一般是Kbps(Kbit/s)或者Mbps(Mbit/s)。注意1B(Byte)=8b(bit)。所以一个24分钟,900MB的视频:

体积:900MB = 900MByte = 7200Mbit

时间:24min = 1440s

码率:7200/1440 = 5Mbps = 5000 Kbps

3)Two Pass:需要运算两次,可以理解为先进行一次全局的计算,收集画面信息,并将这些信息记录到信息文件。第二次才根据采集的信息,正式进行压缩,生成压缩文件。

4)MKV vs MP4,主要的区别在于:

1. MKV支持封装FLAC作为音频,MP4则不支持。但是MP4也可以封装无损音轨(ALAC,虽然普遍认为ALAC的效率不如FLAC优秀)

2. MKV支持封装ASS/SSA格式的字幕,MP4则不支持。一般字幕组制作的字幕是ASS格式,所以内封字幕多见于MKV格式

5)关于YUV

YUV,分为三个分量,Y:表示明亮度(Luminance或Luma),也就是灰度值;而 U 和 V :表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。

详细的YUV和RGB转换需要参照VCB-S教程  https://vcb-s.nmm-hd.org/Twilight%20Council/

6)关于AviSynth

AviSynth是一个媒体滤镜处理工具,AVS是其语句脚本,稍微有点视频编码常识都该知道它及其好处

其语法信息以下

Ladplugin("x:\test\vsfilter.dll")
#加载AVS的各种第三方插件,如果xxx.dll放在Avisynth\plugins里是无需写入这段代码的,avs会自动调用

DirectShowSource("x:\test.rmvb",fps=23.976,convertfps=true)
#不需要加载的内置滤镜,支持大部分视频文件只需指定路径及文件名,fps=23.976对于rm/rmvb和asf格式需要定义帧率;
#convertfps=true防止转换可变桢率的RMVB和WMV时出现影音不同步

AVISource("x:\test.avi",false)
#加载AVI文件,false表示禁止音频

Levels(0,1.5,255,0,255)
#亮度调整滤镜,第二个参数就是用来调整亮度的,默认1.5,数值一般在1到2之间选择

Tweak(0,1,20,1)
#画面综合调整滤镜,调节色度,饱和度,亮度,对比度
#色度:-180.0~180.0,默认0.0。正数趋向红色,负数趋向绿色。改变影片的整体色调
#饱和度:0.0~10.0,默认1.0。0.0为黑白。一般不超过1.5,可使影片色彩更加艳丽
#亮度:-255.0~255.0,默认0.0。一般取10-20
#对比度:0.0~10.0,默认1.0。一般不超过1.4

Sharpen(0.2)
#锐化滤镜,数值一般在0.1到0.5之间,使得画面更加锐利,副作用是会带来躁点

Undot()
#可以使用一个或多个无参数,直接加上就行了,除躁点效果微乎其微,但制作DVDRIP时一般都加上

WAVSource("x:\test.wav")
#读取WAV格式的音频

AC3Source("x:\test.ac3")
#读取AC3的音频

MPASource("x:\test.mpa")
#读取MPG的音频

DelayAudio(WAVSource("x:\test.wav"),100)
#把声音延迟100毫秒

Textsub("x\test.srt")
# AVS插件Vsfilter中的语句,加载srt、ssa、ass字幕

VobSub("x:\test")
# AVS插件Vsfilter中的语句,加载idx、sub字幕,可以不用后缀

AddBorders(8,32,8,32)
#左右各、上下各增加8像素、32像素的黑边(必须为偶数)

基本操作d

Crop(16,8,-16,-8) 
#左切,上切,-右切,-下切(必须为偶数)

LanczosResize(720,480)
#把分辨率改变为480*272

Trim(1234,5678)
#截取影片片段

ConvertToYV12()
#改变色彩环境滤镜,因为X264编码器不支持RGB色彩环境,要转换YV12才能正常压制

基本的AVS脚本主要包含以下部分

1\视频路径DirectShowSource
2\切边或者加黑边或者颜色调整AddBorders、Crop、Tweak........
3\输出尺寸LanczosResize
4\加载字幕textsub
5\截取影片片段Trim

7)X264 H264

首先呢..需要明确两个概念
H.264 x264
H264是一个标准.即 高度压缩数字视频编解码器标准.通常被称为AVC/H264..或直接简称AVC(Advanced Video Codec)
x264则是实实在在的视频编码器(codec)..很显然它是符合H264标准的视频编码器.
不能将H264与x264混淆..虽然现在绝大多数情况下都使用符合H264规范的x264编码器..但这两个的概念是不同的.
去年到今年一直小范围火热的H265..
继H264标准后新制定的视频编码标准
围绕着现有的视频编码标准H.264..保留原来的某些技术..同时对一些相关的技术加以改进..
H265就瞄准了低码率传送高清视频..毫无疑问这对于在线视频来说是个巨大的福利..

但其对应的X265编码器(HEVC - High Efficiency Video Codec)仍在实验阶段..其面对成熟的x264编码器来说..基本只在低码率表现上有一定优势..但综合编码耗时以及兼容性来说..x265目前并未大规模应用..

8)通常会见到的码率控制模式有

ABR [ Average Bitrate ](平均目标码率模式)
CBR [ Constant Bitrate ](固定码率模式)
2pass..3pass..npass(二次..三次..n次编码模式..严格来说也属于平均目标码率模式.但其码率浮动较ABR高出不少.)
CRF [ Constant Ratefactor ] (固定码率系数模式)
QP [ Constant Quantizer ] (固定量化值模式)

点到即止。。。
9)megui
....嗯  神器
本人有一期用megui压的特效字幕,有空就写教程吧
https://www.bilibili.com/video/av10559615/

【视频编码压制】关于近两年的视频压制学习总结种种相关推荐

  1. GitHub 近两万 Star!深度学习 500 问带你入门人工智能!| 技术头条

    作者 | 非主流.Jane 出品 | CSDN AI 科技大本营(ID:rgznai100) 程序员转行学什么语言? https://edu.csdn.net/topic/ai30?utm_sourc ...

  2. 拥抱智能,AI视频编码技术的新探索

    随着视频与交互在日常生活中的作用日益突显,愈发多样的视频场景与不断提高的视觉追求对视频编码提出更高的挑战.相较于人们手工设计的多种视频编码技术,AI编码可以从大数据中自我学习到更广泛的信号内在编码规律 ...

  3. 新一代视频编码标准:VVC、AVS3

    本文来自北京大学信息科学技术学院教授马思伟在LiveVideoStackCon 2018大会上的演讲,详细介绍了最新一代VVC和AVS3视频编码标准进展,包括关键技术特色以及未来的应用展望. 文 / ...

  4. MPEG4视频编码技术介绍

    MPEG全称是Moving Pictures Experts Group,它是"动态图象专家组"的英文缩写,该专家组成立于1988年,致力于运动图像及其伴音的压缩编码标准化工作,原 ...

  5. 简述HEVC与VVC的视频编码过程

    H.265/HEVC视频编码 视频编码的目的是为了压缩原始视频,压缩的主要思路是从空间.时间.编码.视觉等几个主要角度去除冗余信息.由于 H.264 出色的数据压缩比率和视频质量,成为当前市场上最为流 ...

  6. MSU2020年度世界视频编码大赛 金山云斩获UGC赛道冠军

    近日,莫斯科国立大学(Moscow State University)举办的世界视频编码器大赛传来好消息,金山云自主研发的KAV1编码器在UGC赛道中拔得头筹. MSU视频编码大赛是全球盛宴,在视频编 ...

  7. 全新的视频编码标准——AV1

    在线视频作为互联网第一大应用已经毋庸置疑,通过网络看直播,看电影综艺,发布小视频正在成为我们每天的生活常态.更高清晰度.更高比特率.更节省网络流量是当下在线视频几个最核心的需求.而支撑和推动这些需求的 ...

  8. mp4v2再学习 -- H264视频编码成MP4文件

    一.H264视频编码成MP4文件 参看:H264视频编码成MP4文件 参看:mp4v2在VS2010下的编译与在项目中的使用 最近做项目需要将H264文件封装为mp4文件,从网上找到了MP4V2库,下 ...

  9. 端到端神经视频编码=A Better Trade-off ?

    归根结底,每一种视频压缩方法都要权衡利弊(trade-off):如果允许更大的文件大小,就可以拥有更好的图像质量:但如果想让文件非常小,那就必须要容忍错误出现的概率.但现在(以及不久的将来),人们希望 ...

最新文章

  1. 如何通过域服务器推送安装文件,域环境推送exe程序并自动安装教程域环境推送exe程序并自动安装教程.pdf...
  2. UVa572 Oil Deposits DFS求连通块
  3. [SQL Server]无法创建 SSIS 运行时对象,请验证 DTS.dll 是否可用及是否已注册
  4. python的des和3des加解密
  5. 【ThinkPHP系列篇】ThinkPHP框架使网页能够在浏览器中访问(二)
  6. iOS上传头像, 相册权限,相册权限,拍照上传,相册选择图片,拍照页面语言设置,保存到相册...
  7. 牛客题霸 [分糖果问题] C++题解/答案
  8. 重学java基础第九课:软件和软件关系
  9. CentOS6.9编译安装LNMP环境
  10. esp32查询剩余内存_SQL 查询语句先执行 SELECT?兄弟你认真的么?
  11. python下表运算_python科学计算_numpy_广播与下标
  12. html 定位_定位position
  13. 二维码制作软件生成二维码时的参数设置
  14. 中国最全亲戚关系图谱
  15. 什么是VB.NET?
  16. 路由器配置 IP 地址
  17. C++练习 计算年份所属生肖
  18. 17、Python的循环结构(一)
  19. android系统与苹果手机号码,苹果手机号码怎么导入另一个手机安卓(全程图解其操作流程)...
  20. 示例程序009--阙值化(二值化,cvThreshold)

热门文章

  1. cadence基本操作
  2. win7 android双系统,Win7+Android双系统 Acer AOD255评测
  3. Cdoj 24点游戏之解题报告
  4. TiDB at ZaloPay Infrastructure Lesson Learned
  5. 荒岛求生游戏显示服务器不行,荒岛求生连接服务器失败怎么办
  6. android9.0官方壁纸,安卓福利:全新Android 9.0原生壁纸 每一张都是谷歌的精挑细选!...
  7. 在MFC中手动添加消息处理函数PreTranslateMessage
  8. 推荐系统中的Embedding应用
  9. iPhone开发Blog
  10. vsync, hsync, VBLANK