搜索 社区服务 统计排行 帮助
  • 6265阅读
  • 74回复

[请教]如何让压制时如何使画面不卡

楼层直达
级别: 圣骑士
注册时间:
2003-02-20
在线时间:
79小时
发帖:
1605
只看该作者 15楼 发表于: 2008-04-08
引用
最初由 roozhou 发布
convertFPS=true是通过插空帧把vfr变成cfr
需要指定fps为vfr里各种帧率的最小公倍数(一般为120或119.880)
这个功能是AviSynth 2.56以后才有的

DirectShowSource("vfr.mkv", fps=119.88, convertfps=true)

大家来告诉说一下,真的是这样的吗?

嗯。。。
级别: 侠客
注册时间:
2005-02-09
在线时间:
0小时
发帖:
512
只看该作者 16楼 发表于: 2008-04-08
引用
最初由 uc0083 发布

大家来告诉说一下,真的是这样的吗?

不是

fps数值的指定没有这种限制
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 17楼 发表于: 2008-04-09
LS的,avi,YV12都不支持vfr
如果你指定fps=24,到了30/60fps的地方,虽然还是同步,但画面会卡的
级别: 工作组
注册时间:
2005-05-03
在线时间:
0小时
发帖:
2914
只看该作者 18楼 发表于: 2008-04-09
引用
最初由 uc0083 发布

大家来告诉说一下,真的是这样的吗?

大概吧……就算加载了,这样送去压制也太ooxx了
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 19楼 发表于: 2008-04-09
压avi,mkv就没这个问题了
先提取timecode,然后不管fps直接压
压完了可以用原先的timecode封vfr mkv
也可以根据timecode插空帧变120fps avi
级别: 工作组
注册时间:
2005-04-23
在线时间:
0小时
发帖:
4259
只看该作者 20楼 发表于: 2008-04-09
引用
最初由 雷鸣 发布

大概吧……就算加载了,这样送去压制也太ooxx了

OX出凡人
OOX出高手
OOXX出英雄
OOOOO....∞ XXXX....∞出......GOD:o

Lux Aeterna

过去一直去,未来一直来...
级别: 小荷初露
注册时间:
2008-02-14
在线时间:
0小时
发帖:
150
只看该作者 21楼 发表于: 2008-04-09
引用
最初由 roozhou 发布
楼主你是什么片源?
报上格式和fps...



格式:x264 MKV
FPS:23.976
级别: 侠客
注册时间:
2006-04-10
在线时间:
0小时
发帖:
560
只看该作者 22楼 发表于: 2008-04-09
lz可以试试avcsource



懒得换头签了
级别: 工作组
注册时间:
2005-05-03
在线时间:
0小时
发帖:
2914
只看该作者 23楼 发表于: 2008-04-09
引用
最初由 wai5888 发布



格式:x264 MKV
FPS:23.976


directshowsource(""D:\movie\No1.mkv",convertfps=true,fps=23.976)
LanczosResize(704,396)
UnDot()

VFR MKV要嵌字幕确实麻烦,这样可以全片做成23.976。
不知应不应该说具体情况具体分析呢
级别: 小荷初露
注册时间:
2008-02-14
在线时间:
0小时
发帖:
150
只看该作者 24楼 发表于: 2008-04-09
引用
最初由 雷鸣 发布


directshowsource(""D:\movie\No1.mkv",convertfps=true,fps=23.976)
LanczosResize(704,396)
UnDot()

VFR MKV要嵌字幕确实麻烦,这样可以全片做成23.976。
不知应不应该说具体情况具体分析呢



愿请指教
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 25楼 发表于: 2008-04-09
雷鸣大大
这样的avs到了60/30的地方(一般是ED)可能会卡的,特别是滚动staff
这个方法不完美啊
级别: 骑士
注册时间:
2005-01-04
在线时间:
0小时
发帖:
1138
只看该作者 26楼 发表于: 2008-04-10
如果要是内嵌成RMVB,只能这样了,因为Real不能编码120fps的源

I've Sound音樂聯盟(点击进入)

[CHN][IFS][eDtoon][TLF][VeryCD]VempX <= eMule的ID,欢迎查看共享文件
~My Blog~
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 27楼 发表于: 2008-04-10
Real不支持120fps,但是支持vbr
不要用avs,不要指定帧率,直接压视频就行了
字幕可以用vobsub自动加载,滤镜ffdshow里的也够用
试过几次,24/30fps的正常,24/60fps的60fps部分会压成40fps,不知道为什么
级别: 工作组
注册时间:
2005-05-03
在线时间:
0小时
发帖:
2914
只看该作者 28楼 发表于: 2008-04-10
引用
最初由 roozhou 发布
Real不支持120fps,但是支持vbr
不要用avs,不要指定帧率,直接压视频就行了
字幕可以用vobsub自动加载,滤镜ffdshow里的也够用
试过几次,24/30fps的正常,24/60fps的60fps部分会压成40fps,不知道为什么

是VFR不是VBR吧
既然都rm化了何必追求那么多……

引用
最初由 wai5888 发布
愿请指教


如果说提供一个方法的话,

首先mkv抽出timecode,用mkvextract,命令行大概是
mkvextract timecodes_v2 xxxx.mkv 1:xxxx.txt
其中 1 是视频所在的数据流的编号
然后,拆出视频流和字幕,还是这个工具,命令行大概是
mkvextract tracks xxxx.mkv 1:xxxx.avc 3:xxxx.ass
其中 3 是字幕所在的数据流的编号

涉及到的软件有 Aegisub 和 DGAVCDec
用Aegisub打开ass字幕,Video->open timecode,把刚才解出来那个timecode打开,file -> export subtitles,勾上transform framerate,右边Input framerate可以自己决定,比如输入23.976(这个值后面写avs要用),output选variable,然后点export按钮导出字幕。比如说导出的字幕名字叫做 123.ass

然后用dgavcdec处理那个解出来的avc文件,用法和dgindex(就是做dvdrip用到的那个)没两样,比如生成的是 123.dga

avs这么写:(插件自己调用)
avcsource("123.dga")
#下面这一行对应的是前面让你自己决定输入的input framerate
assumefps(24000,1001)
textsub("123.ass")
#下面两行是你原来就有的……
LanczosResize(704,396)
UnDot()

然后这个avs送去压制,注意如果用的不是CRF或者QP,压制之前最好先看看视频的长度重新计算比特率,因为视频长度会变化。
压出来是一个速度混乱的mp4文件,封装后速度会正常。
封装成mkv,把压好的MP4和原来的MKV都加入到来源文件,把原来那个MKV里面的视频和字幕的勾去掉,然后选中mp4里面来的那个视频流,下方 Timecodes 那一栏,把前面解出来的timecode填进去(就是在aegisub里面用过的那个)

封装出来的就是正常的VFR而且有字幕的了
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 29楼 发表于: 2008-04-10
其实直接把mkv拖到ERP里就行了
要resize的ERP里可以直接设定
要去噪点的ffdshow里有denoise3D
效果都不错,设置都是图形界面,比AVS方便多
而且速度快,占内存少
快速回复

限150 字节
上一个 下一个