作者tinlans ( )
看板AVEncode
标题Re: [请问] avisynth 用法
时间Sun Jan 3 07:12:41 2010
※ 引述《maxtrf750901 (000)》之铭言:
: 将电视卡录下的 MPEG-2
: 作剪辑并要转档(Megui)
: ***********************************************************************
: LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\VSFilter.dll")
: DirectShowSource("E:\vol.1.mpg",fps=29.97,convertfps=true)
: ConvertToYV12()
: Trim(2162,2500)+Trim(41792,42077)+Trim(58847,59132) //影片要的片段
: lanczosresize(720,480)
: Amplifydb(3)
: ResampleAudio(48000)
: ***********************************************************************
: 稍微做了一个测试 有几个问题
: 1.转出来後影片会一横一横的 是否交错的问题?
: 若要整片都交错处理 该如何加入语法?
一般 NTSC 影片原始就是 29.97 fps,
所以 MeGUI 附的 AVS Script Creator 应该会建议你用 yadif,
根据侦测出来的 Field Order 是 top 或 bottom,
你需要给 yadif 不同的参数,
order=1 是 top,
order=0 是 bottom:
Load_Stdcall_Plugin("C:\Program Files\megui\tools\yadif\yadif.dll")
Yadif(order=1)
IT 是非常旧的 de-interlace filter,
高速来回移动的物体常常会变成固定的几条横线而物体本身变得接近透明,
七八年前以 XviD 为主流的年代 IT 很常被使用,
大都是拿来对经过 3:2 pull down 处理过的动画做 IVTC,
因为大部分动画是一秒画 24 张,
但为了配合 NTSC 电视的规格把它补成 29.97 张,
IVTC 的用途主要就是把它转回去,
当年只是做 de-interlace 的话 decomb 效果比 IT 好很多,
现在 yadif 算是主流,
IVTC 的话在现代用 TIVTC 其实效果就不差了,
有的影片是那种 progressive + interlaced 混合的,
会有人用 TIVTC + TDeint 去处理,
其实这个 TIVTC 参数有下对也能处理的不错,
不然真的 TIVTC + TDeint 开下去会慢到死。
: 2.转出来(我都是用 Media Player Classic(x64版本)看影片)
: 拉动下面时间轴 声音正常 但画面有时会卡住
: 要再拉一次或2次才会再跳 没说很顺 这是因为有剪辑的关系吗?
: 3.录起来的影片原本解析度就是 720*480
: 但是经过转档後 我也是用 720*480
: 但2个影片用全萤幕後 转档後的影片感觉上下加了黑边 有点扁到
: 而原本的影片是直接放大全萤幕 (我的萤幕应该是4:3)
: 这是转档後就直接固定了吗?
4:3 的影片标准解析度应该是 640x480,
录成 720x480 是为了符合 NTSC 的规格,
播放器在播放的时候还是会把它 resize 成 640x480,
我建议你先仔细观察电视卡录出来的画面左右是否有留一点边,
Leadtek 的 WinFast PVR2 录出来的通常左右会各留 8 像素的黑边,
你可以直接切掉它变成 704x480 再 resize 成 640x480,
画面跟内容物的比例就能完全不失真。
早期 DVD 也是会帮你多留左右各 8 像素的黑边,
後来乾脆直接多取一些像素塞进去,
这左右 8 个像素在真正的 TV 上也是不会放出来的,
所以可以放心切掉;
NTSC 的 PAR 是 1 : 1.1 (其实应该是 72/79 这种比例,但现阶段可先忽略),
横轴的取样间隔较短所以会取到比较多的点 (1.1 倍),
因此原本应该是宽 640 的画面会被取样成 704,
704 又因为要符合 NTSC 的 720 所以会补 16 像素的黑边 (现代可能是直接多取点),
你要把这个动作反向操作回去,
就是要先把 720x480 切成 704x480,
再把它 resize 成 640x480:
Crop(8,0,704,480)
Lanczos4Resize(640,480)
最後封装的容器如果支援 DAR 参数设定的话,
就把它设成 4:3,
不过播放器看到 640x480 应该是都会自动判定成 4:3 才对。
如果你不先切,
纵使你在 4:3 的萤幕上播放出来画面还是满的,
你还是可能会察觉到物体有点变形,
不管你原始录下的影片有没有黑边 (电视录影不是拍摄无法多取样,照理说该有黑边),
画面都会有点小小的变形,
如果你对影片里的人或物相当熟悉 (平日看实物看得很惯),
这种差异要察觉其实没有想像中的难,
704 + (16 点黑边或额外取的像素) --> 640
跟 704 --> 640
向中间挤压的程度还是略有不同的,
所以直接压成 720x480 或从 720x480 -> 640x480 其实都是错的,
但还是看过不少人这样压。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.160.115.84
※ 编辑: tinlans 来自: 118.160.115.84 (01/03 07:18)
1F:推 tonyhsie:正解的确是704->640 而不是720->640或720砍黑边->640 01/03 09:52
2F:→ tonyhsie:重点是720左右共砍16点 砍的是黑边还是实际的像素 看情形 01/03 09:53
3F:→ tonyhsie:另一种作法是 720x480 -> 640x352 这样比例也是对的 01/03 09:54
4F:→ starsky1978:左右各有 8,肯定要裁成 704x480 再 Resize。 01/03 10:10
5F:→ starsky1978:没的话就直接 Resize 成 4:3 比例。左右各 8 点,对画 01/03 10:11
6F:→ starsky1978:面比例影响不大。电脑播放 DVD 左右的黑边还是保留。 01/03 10:13
7F:→ starsky1978:第三行的 640x352 的画面比例变形很严重。 01/03 10:16
8F:→ starsky1978:DVD 影片要在电视播放,不是左右加入各 8 的黑边就能 01/03 10:23
9F:→ starsky1978:防止画面被截掉。 01/03 10:25
10F:推 tonyhsie:720x480->640x352是16:9的影片用的 不是4:3用 01/03 12:55
11F:→ tonyhsie:另外裁704并不是因为左右各有8 是因为AR比是1:1.1的关系 01/03 12:56
12F:→ tonyhsie:笔误 是PAR (Pixel Aspect Ratio) 不是AR 01/03 12:57
13F:→ tinlans:现在 720 左右没黑边主要是避免边缘处理的问题故意多取的 01/03 13:41
14F:→ tinlans:,在真正的 TV 上也显示不出来,砍了其实没损失,那部份本 01/03 13:41
15F:→ tinlans:来就不属於「作品」的一部份。 01/03 13:42
16F:→ tinlans:16:9 = 1.777...,比较少误差的做法是弄成 704x396, 01/03 13:44
17F:→ tinlans:不过有些状况下会考虑 encoder 需要 16 倍数的高,会再补 01/03 13:46
18F:→ tinlans:上下各 2 像素到 400,但不是一定要,看你 encoder 选的演 01/03 13:46
19F:→ tinlans:算法有没有需要是 16 的倍数而定。 01/03 13:47
20F:→ tinlans:如果真的要是 16 倍数,也是有人 resize 成 768x432。 01/03 13:59
21F:推 starsky1978:直接压成 720x480,看 DAR 要设 4:3 或 16:9 即可。 01/03 15:21
22F:推 yohko:我是完全无视多出来的黑边,直接re成720*480 01/03 15:34
23F:→ yohko:然後在设SAR为16:9 or 4:3 01/03 15:34
24F:→ yohko:不过最近都是处理BD....直接RE成1920*1080就搞定了 XDXD 01/03 15:34
25F:推 starsky1978:640x480(4:3)画面做成 DVD,你把它 Crop 成 704x480 01/03 15:50
26F:→ starsky1978:再 Resize 成 640x480,画面会跟原本不一样。 01/03 15:51
27F:→ starsky1978:重复做个几次,人物会变胖。 01/03 15:52
28F:→ starsky1978:如果是 Resize 成 704x480 再补成 720x480 另当别论 01/03 16:00
29F:推 tonyhsie:有点倒果为因 切704正是为求正确比例 也不用重覆作 01/03 18:17
31F:→ tonyhsie:704的原理就是这篇提到的PAR 1:1.1 or 72/79的关系 01/03 18:24
32F:→ tinlans:其实大部分转档的人手边都有原始 DVD 了所以不用担心转回 01/04 03:50
33F:→ tinlans:DVD 的问题吧,如果真的要就 resize 回 704 再补黑边。 01/04 03:50
34F:→ tinlans:要翻当年的讨论串有两件事要小心,第一就是後来有位为了保 01/04 03:59
35F:→ tinlans:留画面边缘而提出的另一种补黑边 -> resize -> crop 的做 01/04 04:01
36F:→ tinlans:法是错的,还是会砍到边而且会变形;再来就是为了精确追求 01/04 04:01
37F:→ tinlans:72/79 弄出长或宽是奇数点的状况,这样必须转到 RGB32 的 01/04 04:02
38F:→ tinlans:色空间下操作才行,但也要留意色空间转换对画面其实很伤。 01/04 04:03
39F:→ tinlans:当年我每样都拿来玩,玩到最後还是先切 704 再 resize 成 01/04 04:04
40F:→ tinlans:640 会是最简单失真最少的。 01/04 04:04
41F:→ tinlans:不过说到 BD,现在也是有在吵 1440x1072 跟 1080 的,4:3 01/04 04:21
42F:→ starsky1978:tonyhsie 你那连结我以前有看过。主要还是要自己实验 01/04 08:35
43F:→ starsky1978:电脑播放 DVD,不会裁成 704x480 再 Resize。 01/04 08:38
44F:→ starsky1978:LCD TV + DVD-PLAYER 或 媒体播放机,四边都裁。 01/04 08:41
45F:→ starsky1978:所有很多 DVD 有些都有做安全区域。 01/04 08:42
46F:→ starsky1978:先算出实际画面的比例,Crop 再 Resize 成正确比例。 01/04 08:51
47F:→ starsky1978:先 Resize 成正确比例,再 Crop 黑边。所留下画面比例 01/04 08:53
48F:→ starsky1978:正确,这样也OK。AviSynth 语法先後的问题调换,常常 01/04 08:55
49F:→ starsky1978:结果一样。这种问题我自己有时候觉得很疑问。 01/04 08:57
50F:→ starsky1978:我是用 VirtualDub 做 150% 预览 avs,按 F2 重新载入 01/04 09:02
51F:→ starsky1978:这样不同语法的变化,看得很清楚。应该不是残留在 RAM 01/04 09:04
52F:→ starsky1978:的画面。有心得欢迎多多讨论。 01/04 09:05
53F:→ starsky1978:DVD 没有依照 PAR 10:11 来制作,也是要裁成 704x480? 01/04 09:17
54F:→ starsky1978:现在的 LCD-TV 有没有 PAR 的问题? 01/04 09:22
55F:推 yohko:BD4:3相对1080P少很多.....就我目前接触到的,几乎都是1080 01/04 14:11
56F:→ silky7:电脑上的软体Player不会先裁成704x480再resize 01/04 23:33
57F:→ silky7:但是这样的作法是错的 只是一般人不会注意 01/04 23:33
58F:→ silky7:如果你是看很熟悉的人物画面 你就会注意到人脸变长了 01/04 23:33
59F:→ silky7:对於人脸很敏感的影片 例如偶像明星的影片 脸很重要 01/04 23:34
60F:→ silky7:这一点点的变形就会带给人的感受很大的差异 01/04 23:34
61F:→ silky7:所以我都是载入ffdshow的filter 对播放的影片作裁切 01/04 23:34
62F:→ silky7:和放大的处理 另外编辑avs有一个很好用的软体AvsP 01/04 23:34
63F:→ silky7:可以同时载入多个avs 切换分页就可以比对不同script 01/04 23:34
64F:→ silky7:之间的差异 推荐给大家用用看 01/04 23:35
65F:推 tonyhsie:WMP, PowerDVD, WinDVD 印象中都不会裁成704再播...但它 01/06 18:15
66F:→ tonyhsie:们是错的....事实上Doom9也有文章讨论10/11 72/79问题 01/06 18:16
67F:→ tonyhsie:不过年代已久 目前我找不到那篇详细的原文讲解了... 01/06 18:17
68F:推 tonyhsie:btw, silky7是PCDVD的silky大吗? 01/06 18:18
69F:→ silky7:不是喔.... PCDVD好像没有silky?..... 01/07 00:39