作者rlstray (Shiraishi⊿)
看板AVEncode
标题[请问] ffmpeg的yadif或bwdif
时间Tue Nov 10 10:55:15 2020
想请问一下,
在处理交错影片时注意到的,如果用yadif或bwdif时命令没有写上mode=0
像是ffmpeg -i input.mp4 -vf "bwdif" output.mp4
处理完的影片会从30fps变成60fps
这跟用minterpolate来补帧到60帧的意思是一样的吗?
ffmpeg -i input.mp4 -vf "minterpolate=fps=60" output.mp4
还是这就是假的fps,影片本身完全不会因此而变得滑顺呢?
本人木眼没办法看出到底有什麽差别...
想说还是上来请教看看有没有人有经验好了,谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.71.212.235 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AVEncode/M.1604976917.A.F44.html
1F:推 falcon: 一个图场相当於只有一半画素的影格,1图场对1影格之间转换 11/10 20:48
2F:→ falcon: 只是插补或去掉像素,流畅度应该不变的 11/10 20:48
3F:→ falcon: 将两个图场合成一个影格会使流畅度减半,但能得到更好品质 11/10 20:51
4F:→ falcon: 你原本的影片严格来说不是30影格/秒而是60图场/秒才对 11/10 20:59
5F:→ falcon: 所以实际上相当於60fps但每个影格只有一半画素 11/10 21:01
6F:→ falcon: 30fps是将两个图场当一个影格合计之後的结果 11/10 21:03
7F:→ falcon: 但它实际上并不是每秒30影格 11/10 21:08
8F:→ falcon: 交错式扫描的影片不是由连续影格组成而是连续图场组成 11/10 21:11
9F:→ andrew43: 原po你的原影片frame rate是30i还是60i? 11/10 21:25
10F:→ rlstray: 抱歉暂时只能用手机翻拍... 11/11 09:37
12F:→ rlstray: 上面这个是原始影片 11/11 09:39
14F:→ rlstray: 这是用bwdif处理完以後的影片 11/11 09:42
15F:→ rlstray: 原始影片播放时"看起来"不是交错影片,所以用bwdif只是 11/11 09:43
16F:→ rlstray: 单纯想处理看看会如何 11/11 09:43
18F:→ rlstray: 第三张这个是播放时发现是交错影片的原始档案...但好像 11/11 09:46
19F:→ rlstray: 从frame rate mode跟scan type上面没办法一眼看出来?不 11/11 09:46
20F:→ rlstray: 知道有没有其他方式能够比较快速辨认是否是交错影片呢? 11/11 09:46
21F:→ rlstray: 所以如果本身并非交错影片的话,用yadif/bwdif的话不但 11/11 09:54
22F:→ rlstray: 没有意义,反而会降低影片本身的流畅度吗? 11/11 09:54
23F:→ rlstray: 抱歉问题越来越多...我等等先去试着搞清楚到底图场跟影 11/11 09:56
24F:→ rlstray: 格跟fps跟i到底什麽是什麽 11/11 09:56
25F:推 tntchn: 交错影片在左右晃动时会有一条一条的横线 11/11 10:35
26F:推 andrew43: 逐格看可以看出内容是不是交错式 11/11 10:35
27F:→ rlstray: 嗯嗯,现在都是播放的时候看到一条一条才知道是交错影片 11/11 11:30
28F:→ rlstray: ,但原来不是整段影片都会一条一条啊@@ 碰到的是只有几 11/11 11:30
29F:→ rlstray: 个场景会有这样的情况 11/11 11:30
31F:→ falcon: frame = 影格 或 画格 也就是对岸所说的 帧 11/11 12:26
32F:→ falcon: field = 图场 只有一半像素(单/基数行)的画面 11/11 12:30
33F:→ falcon: 两个图场可以换算成一个影格 例如60i换算成30fps 11/11 12:31
34F:→ falcon: 数位相机是60fps拍摄→60i储存 每个图场都是不同时间点 11/11 12:34
35F:→ falcon: 所以这种类型的60i影片反交错→30fps流场度会减半 11/11 12:35
36F:→ falcon: 所以实际上怎麽处里是要看片源类型 11/11 12:38
37F:→ falcon: 而如果只有某几画格交错可能就是TeleCine 11/11 12:49
38F:→ falcon: 此时你就必须用Field Match(图场匹配)的方式来消除交错 11/11 12:50
39F:→ falcon: 对於NTSC60i用 -vf "fps=30000/1001,fieldmatch,decimate" 11/11 13:18
40F:→ falcon: 如果是混合类型(例:TC+原生交错)或其他各种情况... 11/11 13:21
41F:→ falcon: -vf "fps=30000/1001,fieldmatch,bwdif=deint=1,decimat" 11/11 13:22
42F:→ falcon: 应该都可以用上述方式处里 11/11 13:22
43F:→ falcon: 如果你不确定你的影片是什麽类型就试看看这个 11/11 13:27
44F:→ falcon: 60i到30fps会使流畅度减半是对於数位相机拍的片源 11/11 13:47
45F:→ falcon: 至於TC的60i还原成原生fps是30没错 11/11 13:49
46F:→ kobe8112: 台湾也有在用帧吧,我印象中很久很久以前就看过了说 11/11 14:05
47F:推 falcon: 就我小时候的记忆玩游戏只听过掉格没听过掉帧的 11/11 14:10
48F:→ falcon: 帧应该是很早传入外来用语 11/11 14:12
49F:→ kobe8112: 我觉得不是,我也不是从游戏相关看到的,是摄影相关领域 11/11 14:32
51F:→ kobe8112: 查了一下,的确有网友讨论过,我应该没弄错, 11/11 14:37
53F:→ falcon: 看来意义上是相通的,不过我记得以前台湾的习惯不是用这字 11/11 14:44
54F:→ kobe8112: 意义从来没有不相通过啊,影片的本质本来就是会动的画, 11/11 14:51
55F:→ kobe8112: 资讯不流通、未有领域权威/官方组织统一翻译的情况下, 11/11 14:53
56F:→ kobe8112: 本来就会有不同词汇的存在,早期各领域常见的现象 11/11 14:54
57F:→ falcon: 更正ntsc 60i 3:2 pulldown 还原原生是24p才对 11/11 15:49
58F:→ falcon: 扣掉图场匹配後产生的重复影格 11/11 15:54
59F:→ falcon: 如果你确定是此类型可直接用 -vf "pullup,fps=24000/1001" 11/11 16:11
60F:→ falcon: 另外 fieldmatch不支援vfr输入所以前面要用fps=30000/1001 11/11 16:18
61F:→ falcon: 将输入固定为cfr 11/11 16:18
62F:→ falcon: 如果确定输入是cfr则可省略 11/11 16:20
63F:→ ksng1092: 我在PSP时代研究影片转档的时候,台湾的讨论区大多称影 11/11 22:59
64F:→ ksng1092: 格或直接叫frame,帧的出现率只能说很少很少 11/11 23:00
65F:→ ksng1092: 另外原PO你说播放时看起来不是交错,现在很多播放设备都 11/11 23:01
66F:→ ksng1092: 会自动帮你去交错XD 11/11 23:02
67F:→ kobe8112: PSP...嗯...跟GB不同时代了XD 11/11 23:50
68F:→ rlstray: 叫帧只是因为在查资料的时候一直出现补帧这个词,所以顺 11/12 09:31
69F:→ rlstray: 手打了而已,不用讨论这个啦XD 11/12 09:31
70F:→ rlstray: 现在自己的判断方式是win10原生播放器&其他播放器都没有 11/12 09:34
71F:→ rlstray: 横条→应该不是交错;win10没有但其他播放器有横条→交 11/12 09:34
72F:→ rlstray: 错影片 11/12 09:34
73F:→ rlstray: 不过就算遇到横条也都只是少部分交错而已,应该就是fal 11/12 09:36
74F:→ rlstray: con大说的TeleCine 11/12 09:36
75F:→ rlstray: 昨天想说不然来试试看minterpolate好了,结果两小时的影 11/12 09:39
76F:→ rlstray: 片跑了20个小时只跑了1/4的进度XD 上面提到的参数可能 11/12 09:39
77F:→ rlstray: 要等这个跑完才能够试试看了.... 11/12 09:39
78F:→ falcon: 提醒一下 静态片段就算是交错式扫描也不会出现梳状线 11/12 15:37
79F:→ falcon: 你必须找一个连续动态的片段来检查梳子状线出现频率 11/12 15:37
80F:→ falcon: 频率2/5就是TC 3:2 pulldown 11/12 15:41