[請問] ffmpeg的yadif或bwdif

看板AVEncode (影音編碼技術)作者 (Shiraishi⊿)時間3年前 (2020/11/10 10:55), 編輯推噓4(4076)
留言80則, 6人參與, 3年前最新討論串1/1
想請問一下, 在處理交錯影片時注意到的,如果用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://www.ptt.cc/bbs/AVEncode/M.1604976917.A.F44.html

11/10 20:48, 3年前 , 1F
一個圖場相當於只有一半畫素的影格,1圖場對1影格之間轉換
11/10 20:48, 1F

11/10 20:48, 3年前 , 2F
只是插補或去掉像素,流暢度應該不變的
11/10 20:48, 2F

11/10 20:51, 3年前 , 3F
將兩個圖場合成一個影格會使流暢度減半,但能得到更好品質
11/10 20:51, 3F

11/10 20:59, 3年前 , 4F
你原本的影片嚴格來說不是30影格/秒而是60圖場/秒才對
11/10 20:59, 4F

11/10 21:01, 3年前 , 5F
所以實際上相當於60fps但每個影格只有一半畫素
11/10 21:01, 5F

11/10 21:03, 3年前 , 6F
30fps是將兩個圖場當一個影格合計之後的結果
11/10 21:03, 6F

11/10 21:08, 3年前 , 7F
但它實際上並不是每秒30影格
11/10 21:08, 7F

11/10 21:11, 3年前 , 8F
交錯式掃描的影片不是由連續影格組成而是連續圖場組成
11/10 21:11, 8F

11/10 21:25, 3年前 , 9F
原po你的原影片frame rate是30i還是60i?
11/10 21:25, 9F

11/11 09:37, 3年前 , 10F
抱歉暫時只能用手機翻拍...
11/11 09:37, 10F

11/11 09:39, 3年前 , 11F

11/11 09:39, 3年前 , 12F
上面這個是原始影片
11/11 09:39, 12F

11/11 09:41, 3年前 , 13F

11/11 09:42, 3年前 , 14F
這是用bwdif處理完以後的影片
11/11 09:42, 14F

11/11 09:43, 3年前 , 15F
原始影片播放時"看起來"不是交錯影片,所以用bwdif只是
11/11 09:43, 15F

11/11 09:43, 3年前 , 16F
單純想處理看看會如何
11/11 09:43, 16F

11/11 09:43, 3年前 , 17F

11/11 09:46, 3年前 , 18F
第三張這個是播放時發現是交錯影片的原始檔案...但好像
11/11 09:46, 18F

11/11 09:46, 3年前 , 19F
從frame rate mode跟scan type上面沒辦法一眼看出來?不
11/11 09:46, 19F

11/11 09:46, 3年前 , 20F
知道有沒有其他方式能夠比較快速辨認是否是交錯影片呢?
11/11 09:46, 20F

11/11 09:54, 3年前 , 21F
所以如果本身並非交錯影片的話,用yadif/bwdif的話不但
11/11 09:54, 21F

11/11 09:54, 3年前 , 22F
沒有意義,反而會降低影片本身的流暢度嗎?
11/11 09:54, 22F

11/11 09:56, 3年前 , 23F
抱歉問題越來越多...我等等先去試著搞清楚到底圖場跟影
11/11 09:56, 23F

11/11 09:56, 3年前 , 24F
格跟fps跟i到底什麼是什麼
11/11 09:56, 24F

11/11 10:35, 3年前 , 25F
交錯影片在左右晃動時會有一條一條的橫線
11/11 10:35, 25F

11/11 10:35, 3年前 , 26F
逐格看可以看出內容是不是交錯式
11/11 10:35, 26F

11/11 11:30, 3年前 , 27F
嗯嗯,現在都是播放的時候看到一條一條才知道是交錯影片
11/11 11:30, 27F

11/11 11:30, 3年前 , 28F
,但原來不是整段影片都會一條一條啊@@ 碰到的是只有幾
11/11 11:30, 28F

11/11 11:30, 3年前 , 29F
個場景會有這樣的情況
11/11 11:30, 29F

11/11 12:21, 3年前 , 30F

11/11 12:26, 3年前 , 31F
frame = 影格 或 畫格 也就是對岸所說的 幀
11/11 12:26, 31F

11/11 12:30, 3年前 , 32F
field = 圖場 只有一半像素(單/基數行)的畫面
11/11 12:30, 32F

11/11 12:31, 3年前 , 33F
兩個圖場可以換算成一個影格 例如60i換算成30fps
11/11 12:31, 33F

11/11 12:34, 3年前 , 34F
數位相機是60fps拍攝→60i儲存 每個圖場都是不同時間點
11/11 12:34, 34F

11/11 12:35, 3年前 , 35F
所以這種類型的60i影片反交錯→30fps流場度會減半
11/11 12:35, 35F

11/11 12:38, 3年前 , 36F
所以實際上怎麼處裡是要看片源類型
11/11 12:38, 36F

11/11 12:49, 3年前 , 37F
而如果只有某幾畫格交錯可能就是TeleCine
11/11 12:49, 37F

11/11 12:50, 3年前 , 38F
此時你就必須用Field Match(圖場匹配)的方式來消除交錯
11/11 12:50, 38F

11/11 13:18, 3年前 , 39F
對於NTSC60i用 -vf "fps=30000/1001,fieldmatch,decimate"
11/11 13:18, 39F

11/11 13:21, 3年前 , 40F
如果是混合類型(例:TC+原生交錯)或其他各種情況...
11/11 13:21, 40F

11/11 13:22, 3年前 , 41F
-vf "fps=30000/1001,fieldmatch,bwdif=deint=1,decimat"
11/11 13:22, 41F

11/11 13:22, 3年前 , 42F
應該都可以用上述方式處裡
11/11 13:22, 42F

11/11 13:27, 3年前 , 43F
如果你不確定你的影片是什麼類型就試看看這個
11/11 13:27, 43F

11/11 13:47, 3年前 , 44F
60i到30fps會使流暢度減半是對於數位相機拍的片源
11/11 13:47, 44F

11/11 13:49, 3年前 , 45F
至於TC的60i還原成原生fps是30沒錯
11/11 13:49, 45F

11/11 14:05, 3年前 , 46F
台灣也有在用幀吧,我印象中很久很久以前就看過了說
11/11 14:05, 46F

11/11 14:10, 3年前 , 47F
就我小時候的記憶玩遊戲只聽過掉格沒聽過掉幀的
11/11 14:10, 47F

11/11 14:12, 3年前 , 48F
幀應該是很早傳入外來用語
11/11 14:12, 48F

11/11 14:32, 3年前 , 49F
我覺得不是,我也不是從遊戲相關看到的,是攝影相關領域
11/11 14:32, 49F

11/11 14:37, 3年前 , 50F

11/11 14:37, 3年前 , 51F
查了一下,的確有網友討論過,我應該沒弄錯,
11/11 14:37, 51F

11/11 14:39, 3年前 , 52F

11/11 14:44, 3年前 , 53F
看來意義上是相通的,不過我記得以前台灣的習慣不是用這字
11/11 14:44, 53F

11/11 14:51, 3年前 , 54F
意義從來沒有不相通過啊,影片的本質本來就是會動的畫,
11/11 14:51, 54F

11/11 14:53, 3年前 , 55F
資訊不流通、未有領域權威/官方組織統一翻譯的情況下,
11/11 14:53, 55F

11/11 14:54, 3年前 , 56F
本來就會有不同詞彙的存在,早期各領域常見的現象
11/11 14:54, 56F

11/11 15:49, 3年前 , 57F
更正ntsc 60i 3:2 pulldown 還原原生是24p才對
11/11 15:49, 57F

11/11 15:54, 3年前 , 58F
扣掉圖場匹配後產生的重複影格
11/11 15:54, 58F

11/11 16:11, 3年前 , 59F
如果你確定是此類型可直接用 -vf "pullup,fps=24000/1001"
11/11 16:11, 59F

11/11 16:18, 3年前 , 60F
另外 fieldmatch不支援vfr輸入所以前面要用fps=30000/1001
11/11 16:18, 60F

11/11 16:18, 3年前 , 61F
將輸入固定為cfr
11/11 16:18, 61F

11/11 16:20, 3年前 , 62F
如果確定輸入是cfr則可省略
11/11 16:20, 62F

11/11 22:59, 3年前 , 63F
我在PSP時代研究影片轉檔的時候,台灣的討論區大多稱影
11/11 22:59, 63F

11/11 23:00, 3年前 , 64F
格或直接叫frame,幀的出現率只能說很少很少
11/11 23:00, 64F

11/11 23:01, 3年前 , 65F
另外原PO你說播放時看起來不是交錯,現在很多播放設備都
11/11 23:01, 65F

11/11 23:02, 3年前 , 66F
會自動幫你去交錯XD
11/11 23:02, 66F

11/11 23:50, 3年前 , 67F
PSP...嗯...跟GB不同時代了XD
11/11 23:50, 67F

11/12 09:31, 3年前 , 68F
叫幀只是因為在查資料的時候一直出現補幀這個詞,所以順
11/12 09:31, 68F

11/12 09:31, 3年前 , 69F
手打了而已,不用討論這個啦XD
11/12 09:31, 69F

11/12 09:34, 3年前 , 70F
現在自己的判斷方式是win10原生播放器&其他播放器都沒有
11/12 09:34, 70F

11/12 09:34, 3年前 , 71F
橫條→應該不是交錯;win10沒有但其他播放器有橫條→交
11/12 09:34, 71F

11/12 09:34, 3年前 , 72F
錯影片
11/12 09:34, 72F

11/12 09:36, 3年前 , 73F
不過就算遇到橫條也都只是少部分交錯而已,應該就是fal
11/12 09:36, 73F

11/12 09:36, 3年前 , 74F
con大說的TeleCine
11/12 09:36, 74F

11/12 09:39, 3年前 , 75F
昨天想說不然來試試看minterpolate好了,結果兩小時的影
11/12 09:39, 75F

11/12 09:39, 3年前 , 76F
片跑了20個小時只跑了1/4的進度XD 上面提到的參數可能
11/12 09:39, 76F

11/12 09:39, 3年前 , 77F
要等這個跑完才能夠試試看了....
11/12 09:39, 77F

11/12 15:37, 3年前 , 78F
提醒一下 靜態片段就算是交錯式掃描也不會出現梳狀線
11/12 15:37, 78F

11/12 15:37, 3年前 , 79F
你必須找一個連續動態的片段來檢查梳子狀線出現頻率
11/12 15:37, 79F

11/12 15:41, 3年前 , 80F
頻率2/5就是TC 3:2 pulldown
11/12 15:41, 80F
文章代碼(AID): #1VgW4Lz4 (AVEncode)
文章代碼(AID): #1VgW4Lz4 (AVEncode)