头像
sammysui
帖子: 87
注册时间: 2012-07-06 20:13

Re: SAP的EPx264压制脚本(2012-03-29更新)

非常感谢 就是要这个 呵呵找了半天找不到 斑竹一下子就搞定了 赞一个 {:cat_17}
头像
msg7086
帖子: 600
注册时间: 2011-02-19 0:49

Re: SAP的EPx264压制脚本(2012-03-29更新)

也可以直接start /low来启动脚本吧,优先级应该会遗传的
Delogo LGD Collections 各种台标下载 | Home Of VapourSynth Evolution

<回答が無い理由>
1. 誰も知らない
2. 質問文が意味不明
3. 知ってるが、お前の態度が気に入らない
4. 良いボケが思いつかない
ldandy006
帖子: 5
注册时间: 2013-07-20 20:09

Re: SAP的EPx264压制脚本(2012-03-29更新)

大神啊,你能不能介绍一下如何使用啊,特别是一些小白
已下载的是“免Python打包版”
下载后压缩包解压后,得到2个文件夹impls和pyd,3个文件encx264.exe,encx264_targets.py,python31.dll,这些文件需要放到什么位置?
需要把X264的编码器x264.exe放入解压后文件夹内么,需要安装其他什么软件么
比如我D盘根目录有个1080p的视频123.wmv文件和写好的123.avs文件,想压制成720P的123.mkv视频
要求1st pass CRF 20 2nd pass bitrate 2500
应该怎么操作,需要吧视频拖到哪里么,还是直接运行命令行,该怎么写命令行?
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: SAP的EPx264压制脚本(2012-03-29更新)

ldandy006 写了:大神啊,你能不能介绍一下如何使用啊,特别是一些小白
已下载的是“免Python打包版”
下载后压缩包解压后,得到2个文件夹impls和pyd,3个文件encx264.exe,encx264_targets.py,python31.dll,这些文件需要放到什么位置?
需要把X264的编码器x264.exe放入解压后文件夹内么,需要安装其他什么软件么
比如我D盘根目录有个1080p的视频123.wmv文件和写好的123.avs文件,想压制成720P的123.mkv视频
要求1st pass CRF 20 2nd pass bitrate 2500
应该怎么操作,需要吧视频拖到哪里么,还是直接运行命令行,该怎么写命令行?
首先如果你的2pass已经确定好码率,1pass用crf就没多大意义,而且也不必用这个脚本。

这里假设你要1pass crf,2pass使用1pass的输出码率。请先修改encx264_targets.py使用你的参数添加新target,然后命令行类似这样:

代码: 全选

encx264.exe target名字 123.avs 123.mkv 20
T: @SAPikachu
ldandy006
帖子: 5
注册时间: 2013-07-20 20:09

Re: SAP的EPx264压制脚本(2012-03-29更新)

大神啊,你的参数有优先级别么,当common_params_pass1和'pass1'有重复参数哪个优先,比如common_params_pass1里面trellis 0 'pass1'里面trellis 2 到底用哪个
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: SAP的EPx264压制脚本(2012-03-29更新)

呃,其实是可以用重复参数的,优先级是common_params < common_params_pass* < common < pass*。实际上所有参数会按这个顺序传给x264,而x264遇到重复参数会使用最后面的一个。
T: @SAPikachu
头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: SAP的EPx264压制脚本(2012-03-29更新)

SAPikachu 写了:
ldandy006 写了:大神啊,你能不能介绍一下如何使用啊,特别是一些小白
已下载的是“免Python打包版”
下载后压缩包解压后,得到2个文件夹impls和pyd,3个文件encx264.exe,encx264_targets.py,python31.dll,这些文件需要放到什么位置?
需要把X264的编码器x264.exe放入解压后文件夹内么,需要安装其他什么软件么
比如我D盘根目录有个1080p的视频123.wmv文件和写好的123.avs文件,想压制成720P的123.mkv视频
要求1st pass CRF 20 2nd pass bitrate 2500
应该怎么操作,需要吧视频拖到哪里么,还是直接运行命令行,该怎么写命令行?
首先如果你的2pass已经确定好码率,1pass用crf就没多大意义,而且也不必用这个脚本。

这里假设你要1pass crf,2pass使用1pass的输出码率。请先修改encx264_targets.py使用你的参数添加新target,然后命令行类似这样:

代码: 全选

encx264.exe target名字 123.avs 123.mkv 20
应该说,2nd pass用1st pass crf出来的码率这本身就没有用n pass的意义了……
n pass VS crf.jpg
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: SAP的EPx264压制脚本(2012-03-29更新)

mawen1250 写了:
SAPikachu 写了:
ldandy006 写了:大神啊,你能不能介绍一下如何使用啊,特别是一些小白
已下载的是“免Python打包版”
下载后压缩包解压后,得到2个文件夹impls和pyd,3个文件encx264.exe,encx264_targets.py,python31.dll,这些文件需要放到什么位置?
需要把X264的编码器x264.exe放入解压后文件夹内么,需要安装其他什么软件么
比如我D盘根目录有个1080p的视频123.wmv文件和写好的123.avs文件,想压制成720P的123.mkv视频
要求1st pass CRF 20 2nd pass bitrate 2500
应该怎么操作,需要吧视频拖到哪里么,还是直接运行命令行,该怎么写命令行?
首先如果你的2pass已经确定好码率,1pass用crf就没多大意义,而且也不必用这个脚本。

这里假设你要1pass crf,2pass使用1pass的输出码率。请先修改encx264_targets.py使用你的参数添加新target,然后命令行类似这样:

代码: 全选

encx264.exe target名字 123.avs 123.mkv 20
应该说,2nd pass用1st pass crf出来的码率这本身就没有用n pass的意义了……
n pass VS crf.jpg
最近的x264版本我没研究过,至少在我写encx264的时候,2pass和crf还是有区别的,2pass的direct temporal明显比1pass crf的要多,说明n pass的stats除了码率控制之外还有一些其它用途。(当然1pass crf+2pass的画质是不是一定比纯1pass crf好这点我是无法确定。。)
T: @SAPikachu
头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: SAP的EPx264压制脚本(2012-03-29更新)

有区别不代表更好。

首先就是ABR和CRF都基于相同的rc算法,ABR只是比CRF多了rate tolerance,也就是平均码率的限制。
所以ABR需要猜测对下一帧使用的RF,压出来以后考察平均码率是否满足目标平均码率,然后根据这个进一步调整后续帧的RF。1st pass ABR的结果显然因为这个不断的猜测调整过程而导致出来的rc结果十分不合理(RF不断变化而且幅度通常很大)。
而在n pass中,通过1st pass得到的码率分配情况来为2nd/3rd pass的ABR提供参考的依据,通过猜测并应用更准确的RF值以减少ratetol发挥其强制调整后续帧RF的作用,而这个1st pass的rc结果越合理,对于2nd pass的参考价值也就越大,这也是为什么要使用1st pass CRF + 2nd pass ABR的原因。
而n pass的终极目标,就是让2nd pass跑出来的每帧RF都相同(没有发生码率偏离ratetol的预期而强制调整RF的行为),这样的结果也就是CRF(Constant Rate Factor)。

所以n pass的终极目标就是在满足ABR所设定的目标平均码率及ratetol的情况下让rc结果等于CRF,当然多数情况下都达不到这种理想的情况,而是由于ratetol的作用导致整个视频中帧的RF在不断调整。
如果有人说对比了同码率的CRF和2 pass的结果得出了2 pass更好的结论,那是因为他看到了2 pass时由于没有达到理想情况而产生的副作用——部分帧RF偏高或偏低——RF前后不均匀,当然他如果觉得某些帧更好的话肯定就是看到了RF偏低的那些地方,而这也就意味着有其他地方的RF偏高也就是变得更差。
之所以在2nd/3rd pass中只能设定bitrate而不能设定crf,是因为n pass的存在意义就是ABR,而不是所谓的提高质量(相对于CRF而言)。
头像
SAPikachu
帖子: 192
注册时间: 2011-02-28 19:55
联系: 网站

Re: SAP的EPx264压制脚本(2012-03-29更新)

mawen1250 写了:有区别不代表更好。

首先就是ABR和CRF都基于相同的rc算法,ABR只是比CRF多了rate tolerance,也就是平均码率的限制。
所以ABR需要猜测对下一帧使用的RF,压出来以后考察平均码率是否满足目标平均码率,然后根据这个进一步调整后续帧的RF。1st pass ABR的结果显然因为这个不断的猜测调整过程而导致出来的rc结果十分不合理(RF不断变化而且幅度通常很大)。
而在n pass中,通过1st pass得到的码率分配情况来为2nd/3rd pass的ABR提供参考的依据,通过猜测并应用更准确的RF值以减少ratetol发挥其强制调整后续帧RF的作用,而这个1st pass的rc结果越合理,对于2nd pass的参考价值也就越大,这也是为什么要使用1st pass CRF + 2nd pass ABR的原因。
而n pass的终极目标,就是让2nd pass跑出来的每帧RF都相同(没有发生码率偏离ratetol的预期而强制调整RF的行为),这样的结果也就是CRF(Constant Rate Factor)。

所以n pass的终极目标就是在满足ABR所设定的目标平均码率及ratetol的情况下让rc结果等于CRF,当然多数情况下都达不到这种理想的情况,而是由于ratetol的作用导致整个视频中帧的RF在不断调整。
如果有人说对比了同码率的CRF和2 pass的结果得出了2 pass更好的结论,那是因为他看到了2 pass时由于没有达到理想情况而产生的副作用——部分帧RF偏高或偏低——RF前后不均匀,当然他如果觉得某些帧更好的话肯定就是看到了RF偏低的那些地方,而这也就意味着有其他地方的RF偏高也就是变得更差。
之所以在2nd/3rd pass中只能设定bitrate而不能设定crf,是因为n pass的存在意义就是ABR,而不是所谓的提高质量(相对于CRF而言)。
所以我上面说了不确定1pass crf + 2pass是不是比crf好。。这样看来crf确实要优胜吧。嘛其实我最近也开始转用纯crf了(
T: @SAPikachu

回到 “视频编码器 / Video encoder discussion”