瀏覽單個文章
Shade
Senior Member
 
Shade的大頭照
 

加入日期: Oct 2002
您的住址: El's room
文章: 1,046
補充

===========================
請講解工具使用,舉一個實例。

-----------------------------------

工具有很多,例如 DVD2AVI 的 Video -> Clip & Resize,
選好左邊和右邊要切多少點,兩邊切的點數不一樣沒關係,
總之左右加起來為 16 點(->704)或 18 點(->702)即可。
DVD 的畫面通常左右都會留下黑邊,畫面不一定在正中間,哪一邊黑邊留得多就哪邊削多一點。
然後存為 .d2v。
DVD2AVI 不能切為 ->702,如果要切為 702,可以用其他軟體來處理。
例如 Avisynth 的 Crop 也是切邊的,AviUtl 裡面也有切邊的工具,
TMPGEnc, VirtualDub 都有,看你是要照以前的習慣切為 704,
或是按照那個網頁說的切為 702 都可以。
切邊以後,再進行 Resize -> 4:3 or 16:9 的比例,這樣就會正確了。
只是要注意水平最好要能被 32 整除,垂直最好要能被 16 整除,
如果上下有多餘的黑邊再把黑邊削掉即可,

例如:

NTSC 16:9(anamorphic) 原始解析度 720x480
DVD2AVI Clip 削邊為 704x480 存成 .d2v。
或是 MPEG2DEC.DLL 利用 Avisynth 的 Crop
# Crop(clip, int left, int top, int width, int height)
Crop(8,0,704,480)

附帶一提,Avisynth 說明檔中也有下面這個範例,大家可以找出來看看:
Crop crops excess pixels off of each frame. If your source video has 720x480 resolution,
and you want to reduce it to 352x240 for VideoCD, here's the correct way to do it:
# Convert CCIR601 to VCD, preserving the correct aspect ratio
ReduceBy2
Crop(4,0,352,240)

如果你要從 CCIR601 720x480 resize 到 VCD 352x240,**兩邊等倍縮小** 1/2(ReduceBy2),
然後左右各切 4 個點,360x240 -> 352x240,或是先左右各切 8 個點,再 704x480 -> 352x240,
這才是正確作法,直接從 720x480 -> 352x240 是**錯誤的**。
原因上面已經講過,不再贅述。同樣的,PAL 720x576 -> 360x288 -> 352x288,
或 720x576 -> 704x576 -> 352x288,這樣才是正確的。
一定要**兩邊等倍縮小**,為什麼?DVD 和 VCD 的 PAR 相同,原本 10:11,要兩邊等倍縮小,
同除 2,10/2 : 11/2 = 10:11,PAR 才會仍然保持為 10:11。

不止 DVD/VCD 如此,DV 也是一樣。

言歸正傳,如果要用 Avisynth 切邊為 702
Crop(9,0,702,480)

注意此時左右兩邊各切 9,這是一個大問題。
前面曾經提過 702.91 最接近的數字 703 這個數字數位處理不好處理,
所以改用 704,和這個道理很像。
因為 YUY2/YV12 格式的水平,色彩(Chroma)資訊是每兩個 sample 取樣一個,
所以切的時候,一定要以偶數為單位切割(亮度 Y 切 8,色度 C 就要切 8/2 = 4,
Y 如果切 9,那麼 C 要怎麼切?),所以如果要切 9,就不能以 YUY2/YV12 模式處理,
要轉為 RGB 模式才可以。

如果你是用 TMPGEnc, AviUtl, VirtualDub 切割,因為這些軟體以 RGB 模式處理,
所以沒有以上的限制。

假設我們是切為 704x480,resize 為 16:9 後是 704x396,396 不是 16 的整數倍,
上下填黑,補成 400 再壓縮。例如 Avisynth 上下填 2 個 pixel:
# AddBorders(clip, int left, int top, int right, int bottom)
AddBorders(0,2,2,0)

或是用 VirtualDub 的 resize filter:
Expand frame and letterbox image
Frame width : 704
Frame height : 400
Fill color : 選黑色

AviUtl 有另外的 plug-in 可以做填黑,處理的優先順位要調到 resize 之後,
相信會用的人自然知道,不用小弟多言。

TMPGEnc ..等,也是一樣的作法,做完以後再壓縮就可以了。

至於幾個正確的解析度,前面已經有算好了,直接拿來用就可以了。
如果不要用 702,想用 704,將前面那些算好的數字 702 改為 704 即可。
想用其他解析度可以用 Gordian Knot 幫忙算。

我剛剛才發現,新出的 Gordian Knot 0.27 版已經改為使用那個網頁上的計算方法,
以 702 為正確的切邊數字。現在 NTSC 用 704 會顯示是錯誤的 Aspect Ratio,
和 PAL 一樣,要用 702 才會得到正確的結果... 真麻煩啊,NTSC 我還是想用 704 耶...

希望這樣補充可以幫得上忙。
舊 2003-01-05, 07:39 AM #70
回應時引用此文章
Shade離線中