『漫游』酷论坛>『影音数码技术学习交流』>[请教]关于VFR与CFR的问 ..

264768502@2008-06-06 07:40

那个数字可以无视掉...基本上只要总时间一样就可
引用

syun0902@2008-06-06 08:27

可我看字幕组出的片子都是很“严谨”的啊~
引用

264768502@2008-06-06 08:49

我记得这里有讨论过的..关于这个数字(应该就是近2个礼拜的事情)
忘了是怎么弄的了.....
引用

绿叶之砚@2008-06-06 09:10

关于TC,如果知道详细情况可以考虑自己生成,这样就绝对正确了嗯
引用

syun0902@2008-06-06 09:10

引用
最初由 264768502 发布
我记得这里有讨论过的..关于这个数字(应该就是近2个礼拜的事情)
忘了是怎么弄的了.....


近两个礼拜好像就只有我在这里问这个,上一帖就是问MEGUI压VFR。
呵呵~~不过没结果,刨根问底~~
引用

SAPikachu@2008-06-06 09:53

vfr文件mpc显示的帧率貌似是没意义的吧。。。
引用

roozhou@2008-06-06 10:01

vfr的mkv属性里的帧率是没用的,就像timecode_v1里的assume一样
引用

syun0902@2008-06-06 12:19

引用
最初由 绿叶之砚 发布
关于TC,如果知道详细情况可以考虑自己生成,这样就绝对正确了嗯


可惜我不知道怎么知道详细情况~~
复杂吗?
引用

realsweet@2008-06-06 12:30

引用
最初由 syun0902 发布


可惜我不知道怎么知道详细情况~~
复杂吗?

简单
上taobao
找"专业代写"
要专业,写的不专业不给钱....:D
引用

MeteorRain@2008-06-06 13:06

引用
最初由 syun0902 发布
因为一开始我还没搞清到底什么样才叫CFR的AVI,于是就按SHIJICO教程所说的搞个120FPS的,然后再得到CFR AVI。

但是通过这样我才发现由120FPS转CFR同时得到的TC才能够在最后封装MKV时将FPS还原得和原片一样。
不知道你有没有发现这个。
用个简单的例子就是VFR的MKV可以拆出264的RAW+TC,但是这个拆出来的264的RAW+TC却不能完美还原成原来的VFR MKV。
在播放器的属性里会发现FPS由些许变动。就像原来的29.97变成了30.30(不过因数字不太大,所以30.30的片子和原来的片子比较影音还是同步的。)
CFR的AVI就是不再需要timecode,并且多的帧都已经砍掉,少的帧都已经copy的。
VFR的AVI就是如果不加timecode就会导致不同步,必须要加上timecode塞进mkv的。
我们全程都在vfr下操作,转成cfr作甚

至于29.97和30.30,只是显示上的区别。你只要定位到同一帧,看他们的精确时间是否相同(比如两者都是30.00625秒),那就说明正确了。显示上的fps,对于timecodev1是直接取assumefps的,对于v2是拿总时间除去帧数得到的结果。
如果你tcv1里是
assumefps 29.970
xxx,xxx,59.940
那么最后是显示29.970fps的
但是如果你把这个tc从v1转成v2再进去,那可能往30上面飘了。但是结果没区别。
引用

雷鸣@2008-06-06 14:13

那么用timecode转换器把v2转换到v1,再封装,就可以了吧
如果用的是我的那个转换器,默认是23.976
开源的,所以要多少fps自己改代码即可(不会难,调两个数字就是了)
引用

roozhou@2008-06-06 14:19

引用
最初由 雷鸣 发布
那么用timecode转换器把v2转换到v1,再封装,就可以了吧
如果用的是我的那个转换器,默认是23.976
开源的,所以要多少fps自己改代码即可(不会难,调两个数字就是了)


人家没编译器怎么办
引用

syun0902@2008-06-06 15:13

引用
最初由 雷鸣 发布
那么用timecode转换器把v2转换到v1,再封装,就可以了吧
如果用的是我的那个转换器,默认是23.976
开源的,所以要多少fps自己改代码即可(不会难,调两个数字就是了)



下载了TCV2TOV1_02,你说改FPS的代码是指tcv2tov1.c这个文件里的“fprintf(fp, "assume 23.976\n");”这句话吧?把23.976改成29.976,对吗?
可是下面还有一句“while(result != NULL){
if (fabs(result->framerate - 23.976) > 0.002)”

呵呵,编译这东西我不懂~而且是否非要编译器来改呢?我只有记事本!

引用
至于29.97和30.30,只是显示上的区别。你只要定位到同一帧,看他们的精确时间是否相同(比如两者都是30.00625秒),那就说明正确了。显示上的fps,对于timecodev1是直接取assumefps的,对于v2是拿总时间除去帧数得到的结果。
如果你tcv1里是
assumefps 29.970
xxx,xxx,59.940
那么最后是显示29.970fps的
但是如果你把这个tc从v1转成v2再进去,那可能往30上面飘了。但是结果没区别。


话说我虽然知道V1长什么样子了,但是实际操作中我真的是从来都没有自己去提取过V1的TC。所以也不存在我去把V1转成V2。难道是提取的软件自身有这个过程?
引用

roozhou@2008-06-06 15:53

记事本可能不太好,16进制编辑器就足够了(比如UE)。
打开exe,查找字符串"assume 23.976",把23.976改成你想要的值(字符串长度不能变)。

不过有个叫tcConv的东西(和tc2cfr,cfr2tc一起的),可以随意在v1和v2间转换,而且可以设定assume的值,还带个GUI,也是开源的,应该比雷鸣的那个更好用吧。
引用

雷鸣@2008-06-06 17:04

引用
最初由 syun0902 发布



下载了TCV2TOV1_02,你说改FPS的代码是指tcv2tov1.c这个文件里的“fprintf(fp, "assume 23.976\n");”这句话吧?把23.976改成29.976,对吗?
可是下面还有一句“while(result != NULL){
if (fabs(result->framerate - 23.976) > 0.002)”

呵呵,编译这东西我不懂~而且是否非要编译器来改呢?我只有记事本!


是还有一句啊,所以我说,改两个数字
改的话,不用编译器。但是要生成exe,必须要编译器

引用
最初由 roozhou 发布
记事本可能不太好,16进制编辑器就足够了(比如UE)。
打开exe,查找字符串"assume 23.976",把23.976改成你想要的值(字符串长度不能变)。

不过有个叫tcConv的东西(和tc2cfr,cfr2tc一起的),可以随意在v1和v2间转换,而且可以设定assume的值,还带个GUI,也是开源的,应该比雷鸣的那个更好用吧。

aci_tc_package里面的吧。不过我最初开始写这个的时候,好像没见到(遇到?)这个东西。不然我也不会蛋疼去做重复工作……
引用

«123»共3页

| TOP