NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 5989|回复: 8

求助声优访谈部分的压制方法

[复制链接]
发表于 2010-3-23 21:43 | 显示全部楼层 |阅读模式
Frame Rate: 29.970030 fps
Video Type: NTSC
Frame Type: Interlaced

目前有段声优访谈的片子想做下,
1片头是电脑CG动画,无交错
2是声优访谈,30i 全交错
3是动画片段,3:2的
大概结构是1+2+3+2+3+2+3......,求下压制方法
就这样CG+真人+动画的循环出现,请问制作方法

CG部分无交错,不需处理
动画部分
LoadPlugin("D:\Program Files\megui\tools\avisynth_plugin\TIVTC.dll")
tfm(order=1).tdecimate()
真人部分应该怎么处理呢?telecide?如下参数加order=1会出错
LoadPlugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\decomb.dll")
telecide(order=1,guide=1,post=2,vthresh=34).decimate(cycle=5)
然后还要用什么参数把这些穿起来?trim?

表达能力不强,请能看得懂的大大们帮忙写个AVS指教下
发表于 2010-3-23 22:20 | 显示全部楼层
本帖最后由 264768502 于 2010-3-23 22:23 编辑

30i的真人就不用做场匹配了,直接挂个deinterlace的滤镜了事吧,比如tdeint,nnedi2之类的
然后assumefps统一一下帧率,压完成品再写个timecode和视频一起封装

如果循环非常频繁的话...可以直接通篇deinterlace,或者索性保留原样,用x264的interlace方式压
 楼主| 发表于 2010-3-24 11:34 | 显示全部楼层
循环不频繁,也就5次吧
单独提取出访谈部分,用
LoadPlugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\TDeint.dll")
mpeg2source("G:\MUSUMETTO_VOL1_SELL\VIDEO_TS\1111.d2v")
TDeint(mode=1)
效果能接受,成品是59.94

单独提取出动画部分,直接用
LoadPlugin("D:\Program Files\megui\tools\avisynth_plugin\TIVTC.dll")
tfm(order=1).tdecimate()
成品23.97

单独提取出CG部分,不处理
成品29.97

然后怎么用AssumeFPS()统一帧速率
怎么用trim()分段处理呢
假设0-3000帧为CG动画部分
    3001-6000为访谈部分
    6001-9000为动画部分,剩下的忽略
麻烦帮忙写个AVS的例子参考下
发表于 2010-3-24 11:53 | 显示全部楼层
LoadPlugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\TDeint.dll")
LoadPlugin("D:\Program Files\megui\tools\avisynth_plugin\TIVTC.dll")
video=mpeg2source("G:\MUSUMETTO_VOL1_SELL\VIDEO_TS\1111.d2v")
v1=video.trim(0,3000)
v2=video.trim(3001,6000).TDeint(mode=1).AssumeFPS(30000,1001)
v3=video.trim(6001,9000).tfm(order=1).tdecimate().AssumeFPS(30000,1001)
return v1+v2+v3
 楼主| 发表于 2010-3-24 15:03 | 显示全部楼层
LoadPlugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\mpeg2dec3.dll")  #提供mpeg2source
LoadPlugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\TDeint.dll")  #提供TDeint(mode=1)
LoadPlugin("D:\Program Files\megui\tools\avisynth_plugin\TIVTC.dll")  #提供tfm(order=1)
video=mpeg2source("G:\MUSUMETTO_VOL1_SELL\VIDEO_TS\sp1.d2v")  #读取D2V文件
v1=video.trim(0,447)
v2=video.trim(448,754).TDeint(mode=1).AssumeFPS(30000,1001)
v3=video.trim(755,1170).tfm(order=1).tdecimate(mode=1, hybrid=1).AssumeFPS(30000,1001)
return v1+v2+v3

v2=video.trim(448,754).TDeint(mode=1).AssumeFPS(30000,1001)
此部分压完后,播放时好慢好慢,与背景音乐完全配不上
是因为分段处理,导致的吗?
发表于 2010-3-24 20:09 | 显示全部楼层
新建一个文本,里面这样写
  1. # timecode format v1
  2. Assume 29.97
  3. 0,447,29.97
  4. 448,1061,59.94
  5. 1062,1394,23.976
复制代码
然后用mmg封装的时候,选中视频,在timecode那一栏选上刚才建的文本
 楼主| 发表于 2010-3-25 20:59 | 显示全部楼层
avs:
LoadPlugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\mpeg2dec3.dll")  #提供mpeg2source
Load_Stdcall_Plugin("D:\Program Files\megui\tools\yadif\yadif.dll")  #提供Yadif(order=1)
LoadPlugin("D:\Program Files\megui\tools\AviSynth 2.5\plugins\Decomb.dll") #提供Telecide(order=1,guide=1).Decimate(mode=3)
LoadPlugin("D:\Program Files\megui\tools\avisynth_plugin\TIVTC.dll")
video=mpeg2source("G:\MUSUMETTO_VOL1_SELL\VIDEO_TS\sp1.d2v")  #读取D2V文件
################分段处理,yadi处理真人部分,Decomb处理动画部分
v1=video.trim(0,447).crop( 10, 0, -6, -4).LanczosResize(640,480)
v2=video.trim(448,754).Yadif(order=1).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v3=video.trim(755,1170).Telecide(guide=1).Decimate(mode=3).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v4=video.trim(1171,4830).Yadif(order=1).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v5=video.trim(4831,5342).Telecide(guide=1).Decimate(mode=3).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v6=video.trim(5343,6096).Yadif(order=1).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v7=video.trim(6097,6560).Telecide(guide=1).Decimate(mode=3).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v8=video.trim(6561,11135).Yadif(order=1).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v9=video.trim(11136,12104).tfm(order=1).tdecimate().AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v10=video.trim(12105,13233).Yadif(order=1).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v11=video.trim(13234,13687).Telecide(guide=1).Decimate(mode=3).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v12=video.trim(13688,17336).Yadif(order=1).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v13=video.trim(17337,17778).Telecide(guide=1).Decimate(mode=3).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v14=video.trim(17779,18770).Yadif(order=1).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
v15=video.trim(18771,19435).Telecide(guide=1).Decimate(mode=3).AssumeFPS(30000,1001).crop( 10, 0, -6, -4).LanczosResize(640,480)
return v1+v2+v3+v4+v5+v6+v7+v8+v9+v10+v11+v12+v13+v14+v15#分段合并

timecode:
# timecode format v1
assume 29.970
0,449,29.970
450,754,29.970
755,1087,23.976
1088,4747,29.970
4748,5156,23.976
5157,5910,29.970
5911,6280,23.976
6281,10856,29.970
10857,11633,23.976
11634,12760,29.970
12761,13126,23.976
13127,16772,29.970
16773,17125,23.976
17126,18118,29.970
18119,18648,23.976
MMG封装,全程观看,一切正常,感谢下小草,还有个问题
上面写的AVS每段都要在后面加上.crop( 10, 0, -6, -4).LanczosResize(640,480),预览才有切边的效果
而在分段合并后添加
crop( 10, 0, -6, -4)
LanczosResize(640,480)
则无效果是为什么呢?求指教下
发表于 2010-3-25 23:08 | 显示全部楼层
#分段
v1 = ...
...
v15=...
#合并
v1+v2+v3+v4+v5+v6+v7+v8+v9+v10+v11+v12+v13+v14+v15
crop( 10, 0, -6, -4)
LanczosResize(640,480)
#结束
这样就可以了。
 楼主| 发表于 2010-3-26 10:53 | 显示全部楼层
啊,原来如此,去掉return 就可以了,
依然有合并的效果
谢谢管理员
你们睡的好晚啊~
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

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

GMT+8, 2025-5-6 01:58 , Processed in 0.335754 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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