求教x264 tmod版除了audio之外到底有哪些补丁?
dwing吧
全部回复
仅看楼主
level 7
bash99 楼主
对画质有影响吗?
一直在linux下面玩,音频现在就用libfdkaac库,编译进ffmpeg。
如果是单纯audio部分,那就不折腾了。
2014年04月23日 16点04分 1
level 7
bash99 楼主
找来找去自己找到了,不过这些似乎需要某些关于新参数的文档吧?
https://www.nmm-hd.org/newbbs/viewtopic.php?f=8&t=1233
相比原版,tmod应用了大概50几个patches(我没有记错的话),增加了很多方便使用的功能:
对原版代码的音频支持部分进行了修修补补(因为不用x264处理音频所以不知效果如何)。
对信息提示部分进行了修改。增加了log输出功能。
增加了非官方的device支持。支持强制Level和Profile。
针对L-SMASH进行支持。支持dgi和vpy直接输入。指出输出AVI格式。
为high bit depth提供了便利的16bit hack和f3kdb转换bit depth功能。
增加了一些滤镜(yadif、hqdenoise3d等)。可以直接内嵌字幕。
确实能为使用带来很大的便利。
还有很多可能给画质带来密切相关的改动:
K means weightp(weightp 3)
增加了实验性的AQ策略。还有TriAQ。
增加Film Grain Optimization和Fade Compensation。
Auto VBV。
分别指定IBP帧的qpmax和qpmin。
等等。
操作这些参数提高画质需要有一定经验和知识才可以。
希望以上能给您参考。
2014年04月23日 17点04分 2
level 8
补丁n:对中文支持不佳,需改名使用
2014年04月23日 23点04分 3
level 11
我一般都用tmod,很多有用的patch,原x264大概只适合做单纯视频编码…
2014年04月24日 01点04分 4
给点你常用的和新patch有关的参数组合?
2014年04月24日 01点04分
@bash99 参数方面的或许不多…但是还是有一些,比如嵌入字幕,比如一个优化的aq…还有就是ffms,lavf分离器和自带解码器啥的…原版好像只能吃raw,y4m,avi格式…或者你可以自己动手patch,但是还是不如用tmod得了
2014年04月24日 01点04分
@bash99 参数方面的或许不多…但是还是有一些,比如嵌入字幕,比如一个优化的aq…还有就是ffms,lavf分离器和自带解码器啥的…原版好像只能吃raw,y4m,avi格式…或者你可以自己动手patch,但是还是不如用tmod得了
2014年04月24日 01点04分
回复 s_wordfeng :好像aq比较有意义,其它的功能似乎基本上ffmpeg都搞定了
2014年04月24日 04点04分
level 12
x264_tMod的音频部分已经全废,只剩下raw和copy的功能,K means weightp(weightp 3)因兼容性问题被移除,在基于老版本的ffmpeg或libav的解码会花屏,如QQ影音,Poplaye\mpc系列则正常,之前dwing测试部分老A卡硬解貌似也有问题,weightp的默认值是2,不用可以不用管它,想迫使用户更新播放器指定为3,对中文支持不佳的问题,具体是遇到中文路径使用ffms解码会崩溃,问题产生可能和audio support有关,去掉audio support部分的代码后则正常。
2014年04月24日 04点04分 5
确实最新的tmod版已经没有音频编码器了,不过我一般使用ffmpeg+neroaac编码音频,所以无影响. weightp=3确实不推荐,真的对画质有很大影响么
2014年05月05日 02点05分
版大试过fdkaac吗?
2014年05月05日 02点05分
回复 dwing :我也没用过weightp 3,仅测了下解码的兼容性,D_S的原话:--weightp 3 (K-means, :awesome: weighting, slow)
2014年05月05日 03点05分
回复 bash99 :据我所知,nero是唯一支持tvbr的he-aac编码器
2014年05月05日 04点05分
level 7
bash99 楼主
关注这个是发现DON压制小组似乎也开始用x264_tmod了,不知道他们用了啥tmod里面特有的功能
我的大概目的也就是备份点自己喜欢电影的压缩版本,因为对其它小组的压缩参数及选择总有点不舒服。
2014年04月24日 04点04分 7
那干嘛费劲自压?
2014年04月24日 04点04分
回复 s_wordfeng :闲的,DON缺省都是crf 16或者17,对我还是高了点
2014年04月24日 06点04分
level 5
最近压avs,发现tMod容易出问题,avs4x264mod和x264_tMod经常出现stackhash、appcrash错误。开始改用kmod了,遗憾的是不能用x264直接mux音轨。得用ffmpeg或者mp4box另外混流
2014年04月24日 10点04分 8
level 13
[冷]在ubuntu下就没编译成功过tMod,一直用官方源带的x264
2014年05月05日 08点05分 9
level 7
bash99 楼主
@abcfy2
我这边编译成功了,x264 按这个网址编译
https://blog.7086.in/2013/09/07/2013-09-07-x264-on-debian/
ffmpeg需要多打一个补丁(大部分都是trao_06的,就是qp_min_min那段是新的)
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index d9130b2..a1637e4 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -48,6 +48,7 @@ typedef struct X264Context {
char *preset;
char *tune;
char *profile;
+ char *device;
char *level;
int fastfirstpass;
char *wpredp;
@@ -415,9 +416,9 @@ static av_cold int X264_init(AVCodecContext *avctx)
if (avctx->scenechange_threshold >= 0)
x4->params.i_scenecut_threshold = avctx->scenechange_threshold;
if (avctx->qmin >= 0)
- x4->params.rc.i_qp_min = avctx->qmin;
+ x4->params.rc.i_qp_min_min = avctx->qmin;
if (avctx->qmax >= 0)
- x4->params.rc.i_qp_max = avctx->qmax;
+ x4->params.rc.i_qp_max_max = avctx->qmax;
if (avctx->max_qdiff >= 0)
x4->params.rc.i_qp_step = avctx->max_qdiff;
if (avctx->qblur >= 0)
@@ -531,8 +532,8 @@ static av_cold int X264_init(AVCodecContext *avctx)
if (x4->nal_hrd >= 0)
x4->params.i_nal_hrd = x4->nal_hrd;
- if (x4->profile)
- if (x264_param_apply_profile(&x4->params, x4->profile) < 0) {
+ if (x4->profile || x4->device)
+ if (x264_param_apply_profile(&x4->params, x4->profile, x4->device) < 0) {
int i;
av_log(avctx, AV_LOG_ERROR, "Error setting profile %s.\n", x4->profile);
av_log(avctx, AV_LOG_INFO, "Possible profiles:");
@@ -707,8 +708,8 @@ static const AVOption options[] = {
{ "qp", "Constant quantization parameter rate control method",OFFSET(cqp), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, VE },
{ "aq-mode", "AQ method", OFFSET(aq_mode), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, VE, "aq_mode"},
{ "none", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = X264_AQ_NONE}, INT_MIN, INT_MAX, VE, "aq_mode" },
- { "variance", "Variance AQ (complexity mask)", 0, AV_OPT_TYPE_CONST, {.i64 = X264_AQ_VARIANCE}, INT_MIN, INT_MAX, VE, "aq_mode" },
- { "autovariance", "Auto-variance AQ (experimental)", 0, AV_OPT_TYPE_CONST, {.i64 = X264_AQ_AUTOVARIANCE}, INT_MIN, INT_MAX, VE, "aq_mode" },
+ { "variance", "Variance AQ (complexity mask)", 0, AV_OPT_TYPE_CONST, {.i64 = X264_AQ_MIX}, INT_MIN, INT_MAX, VE, "aq_mode" },
+ { "autovariance", "Auto-variance AQ (experimental)", 0, AV_OPT_TYPE_CONST, {.i64 = X264_AQ_AUTOMIX}, INT_MIN, INT_MAX, VE, "aq_mode" },
{ "aq-strength", "AQ strength. Reduces blocking and blurring in flat and textured areas.", OFFSET(aq_strength), AV_OPT_TYPE_FLOAT, {.dbl = -1}, -1, FLT_MAX, VE},
{ "psy", "Use psychovisual optimizations.", OFFSET(psy), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1, VE },
{ "psy-rd", "Strength of psychovisual optimization, in <psy-rd>:<psy-trellis> format.", OFFSET(psy_rd), AV_OPT_TYPE_STRING, {0 }, 0, 0, VE},
2014年05月05日 08点05分 10
[吐]最近暂时不折腾了,想想看其实官方原版的x264够用了,ubuntu软件源也自带,安装升级都很方便,用那个就够用了。
2014年05月05日 08点05分
回复 abcfy2 :个人尝试某片源时(2012悲惨世界),发现aq-mode 3, aq-strengh 0.6比原版aq-mode 1省码率,压制出来的效果差异很小。
2014年05月05日 08点05分
1