NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 6273|回复: 13

[vfr]有关vfr的x264片源合并ae特效所遇到的问题

[复制链接]
发表于 2008-5-30 12:49 | 显示全部楼层 |阅读模式
遇到的问题是这样的情况:片源是x264 vfr的mp4
ae特效是23.976的xvid编码的
需要把ae特效替换,ass字幕内嵌

制作思路如下,mp4提取出音频和视频raw

视频raw用dgavcindex提取后用用avs载入观

然后用vdm载入后观察op部分的帧数

发现和ae制作出来的op帧数不符

大约多出10秒的帧数也就是239帧左右

而用dtsrepair提取出的v2timecode后用leiming大的v2tov1弄成易看懂的v1后发现timecode比较复杂

# timecode format v1
assume 23.976
0,76,29.970
82,82,19.980
84,84,29.970
86,86,19.980
88,88,29.970
94,94,19.980
96,96,29.970
98,98,19.980
100,100,29.970
106,106,19.980
108,108,29.970
110,110,19.980
112,112,29.970
118,118,19.980
120,120,29.970
122,122,19.980
124,124,29.970
130,130,19.980
132,132,29.970
134,134,19.980
136,136,29.970
142,142,19.980
144,144,29.970
146,146,19.980
148,148,29.970
154,154,19.980
156,156,29.970
158,158,19.980
160,160,29.970
166,166,19.980
168,168,29.970
170,170,19.980
172,172,29.970
178,178,19.980
180,180,29.970
182,182,19.980
184,184,29.970
194,194,19.980
196,196,29.970
202,202,19.980
204,204,29.970
206,206,19.980
208,208,29.970
214,214,19.980
216,216,29.970
218,218,19.980
220,220,29.970
226,226,19.980
228,228,29.970

上面是部分

做的时候暂时想到先把op特效那部分给删除
替换成
# timecode format v1
assume 23.976
0,2159,23.976

后面只是把重复帧部分的给删掉

封装mkv后音视频不合,实验失败

总结一下后:x264 vfr的mp4 op部分帧多了 靠timecode把这些帧的总的播放时间给控制了
而ae特效的话帧数是恒定了 总的播放时间也是恒定的

但是x264全片的timecode减去op那段的帧后整片的timecode应该需要修改

那问题就出在ae特效和减去op那段的x264的vfr raw的合起来timecode如何重写

简单的还能重写,麻烦的话似乎就……

所以求助各位有经验的大大,赐教下该如何处理
发表于 2008-5-30 20:45 | 显示全部楼层
如果不想把问题复杂化的话,可以这样,弄清楚全片的分段之后,先用assumefps把全片设定成23.976(总帧数不变),在AVS里面进行剪辑之后压缩。这样就可以完全不必在意fps的事情。
压好了之后根据之前的分段重新写timecode,封装mkv。
 楼主| 发表于 2008-5-30 20:57 | 显示全部楼层
大虾的思路我理解

但是光从mp4里抽提出来的timecode来看似乎不是那种很大路化的分段,所以实在不知道该怎么搞
发表于 2008-5-31 18:15 | 显示全部楼层
其实看看timecode可以知道,这大概是自动IVTC生成的吧……而且op的fps是29.970。可以把特效OP转换成29.970之后用这个TC合成试试。
发表于 2008-6-1 13:48 | 显示全部楼层
直接assume 23.976当然不行,因为0-76祯是29.97的。

如果是17.98+23.98+29.97不停转换的话,是TIVTC自动判断hybrid来的,实质是23.976
但是这里是19.98,应该也是TIVTC自动判断产物,楼主说的祯多了有一定道理。
仔细看的话会发现,从76祯后有以下规律

祯号 77 78 79 80 81 82 83 84 85 86 87 88 …
祯率 24 24 24 24 24 20 24 30 24 20 24 30 …

这个规律是以12祯为一周期的,平均值是24.33,可见确实祯多了一些,如果不追求特别准确的话,可以这样试试
  1. vv= ***source(***.***).assumefps(30000,1001)
  2. v1= vv.trim(0,76).convertfps(24000,1001)
  3. v2= vv.trim(77,0).assumefps(24333,1001).convertfps(24000,1001)
  4. v1+v2
复制代码
这样这个片子就变成了完全的24fps,将这个片子与特效进行合成,效果应该会好一些。

另外,我经常发生这样的情况:手写的TIMECODE,封入MKV再提出来会发现,祯号是对的,但是祯率有些不准。有时候会出现24.97 30.97这样奇怪的数字。我估计MKV并不是把TIMECODE作为一个实体文件封装的,而是在封装时根据TIMECODE来计算每一祯的播放时间,将播放时间写入祯中。而提取TIMECODE的软件需要根据这些祯的播放时间来计算出每一段的祯率,这样一来回就会出现误差。所以不要太相信软件提取出的TIMECODE。以上是个人理解,有不对之处请回帖告知。

[ 本帖最后由 diseac 于 2008-6-1 14:07 编辑 ]
 楼主| 发表于 2008-6-3 00:33 | 显示全部楼层
谢谢楼上的指点

如果是17.98+23.98+29.97不停转换的话,是TIVTC自动判断hybrid来的,实质是23.976

你说的这个我一直没注意

你的发现我也比较赞同,理由就是一般解出来的timecode就是v2的

至于误差的话我就不知道了
发表于 2008-7-22 20:03 | 显示全部楼层
dtsrepair 这个工具 我找了有一整子了 也恕我无能 也没有找到下载地址。。。
LZ上的诸位可否分享下一?
发表于 2008-9-12 09:06 | 显示全部楼层
我的做法是这样

首先取出CFR的的raw,然后取出AE的OP,然后trim到一起,用assumefps(24000,1001)转成24开压。

压完后开始修改tc,假如原来的tc1-100帧是op,而AE的RAW只有98帧,那就删除TC1-100的内容,然后补上AE OP 1-98的帧数,后面从101开始的原始tc,利用软件整体向前偏移2帧,这样就OK了,然后用新的TC 调整字幕时间,完毕挂上正式开压。至于音频同步基本没问题,因为虽然AE的RAW 帧数有变化,但是时间长度基本不会变的。

做不内嵌字幕更省心~直接trim压在一起,然后修改tc,然后合mkv,完事。

http://zimu.sosg.net/timecode.php  修改tc就用这个吧^_^ 建议提取v1的TC,v2实在难编辑。

[ 本帖最后由 52wy 于 2008-9-12 09:09 编辑 ]
发表于 2008-9-12 17:18 | 显示全部楼层
哇……这可真是太强了。
不知道是哪位大神写出来的这么强的工具箱……造福民众啊= =||
 楼主| 发表于 2008-9-12 21:10 | 显示全部楼层
sosg的老大 白色猎人搞得

说起来这个事情当时枫雪的老大d大问起我x264的mp4 vfr的ae合并这个问题,我没搞出来后来d大就找苍大,苍大就找sosg的老大,于是这个方法苍大教给了d大,d大教给了我,最后再有苍大来回答

真是圆满 可喜可贺
发表于 2008-9-12 21:35 | 显示全部楼层
哈哈,当时是想出了方法,但是由于没有软件可以批量调整tc,所以一直卡着没能实行,只到某人和猎人同学提到构想,他才写了这个PHP程序出来,可喜可贺可喜可贺~
发表于 2008-9-12 22:42 | 显示全部楼层
我感觉V2也不是很难,无非是计算每一祯的播放时间点。
用C++写个小程序,循环一下就可以生成了,还可以自己指定祯率为24000/1001,(V1的TC没有这么精确)
PHP也很简单,还不用编译。
如果没有字幕的话,其实这些事情都会变得很简单。
我压片从来没涉及到过字幕的问题,说点风凉话请不要介意
 楼主| 发表于 2008-9-13 00:18 | 显示全部楼层
编程小白来求非php可用工具
发表于 2008-9-13 09:59 | 显示全部楼层
原帖由 bomber1984 于 2008-9-13 00:18 发表
编程小白来求非php可用工具

PHP似乎可以通过PHP.exe在本地运行的……
不过没有GUI就是了,只能在命令行下。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2025-5-6 01:10 , Processed in 0.053337 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表