2007-12-12 23:26:00

HTPC

前一陣子趁 Costco 特價時, 買了一台 Vizio VU42LF 液晶電視, 跟著也去組了一台 HTPC, 這樣就可以在電視上看各種格式的影音檔了.

電腦的話, 主要的硬體配備跟這篇 "[分享] 打造自己的HTPC,迎接1080P的時代-Part I 硬體零組件介紹" 的差不多. 看了 "[分享] 打造自己的HTPC,迎接1080P的時代-Part IV iMEDIAN媒體中心和iCASTER套件介紹及使用心得", 本來想說附的 iMedian 應該就夠用了, 沒想到試了半天, 試不出怎麼播放我放在桌機的檔案, 只好再找別的方法.

逛了一下, 發現這篇 " 解決HTPC最後的問題_使用者介面_用一支遙控器遙控所有的影音功能 _Meedios" 跟我想達成的目的差不多, 花了一些時間, 把 Meedios 架起來, 再作一些設定, 效果滿令我滿意的.

這是機殼附的遙控器. 按鍵很多, 還滿好用的. 搭配附的 iMon 控制軟體, 可以指定一個按鍵對不同的程式送出不同的按鍵組合, 非常方便. 雖然說程式有附對不同程式的設定檔, 不過依我的經驗來說, 還是得自己再修改過才會正確. 可能是軟體新舊版的按鍵有變吧.

機殼附送的遙控器

一進入 Meedios 的畫面. 遙控器上下左右就可以控制了.

進入 Meedios 的畫面

檔案選擇畫面. 一樣也是上下左右就可以控制.

檔案選單畫面

然後就可以快快樂樂地看影片了.

快快樂樂看影片

影片不見得會乖乖地從頭看完, 所以需要前進後退. 電腦上的播放軟體似乎都沒有快進快退的功能, 不過都有直接跳一段時間的功能. 我在這遙控器上總共設了三種時間間隔: 10 分鐘, 30 秒, 5 秒. 應該可以應付大多數的需要了.

播放中也可以快轉

請注意畫面左上, "30秒快進" 的字樣.

播放器用的是韓國人寫的 KMPlayer. 可以設定的東西部份滿多的, 尤其是按鍵操控的部份, 大概所有的功能都可以設定按鍵組合. 再配合 iMon 控制軟體, 常用的功能都可以對到遙控器上.

使用到目前為止, 播放影音檔和 DVD 都沒什麼問題, 用起來都還滿順暢的. 影片還是要躺在沙發上用電視看才愉快啊.

由 plasma 於 11:26 PM 所發表 | 迴響 (7)

2007-06-18 02:31:13

錄電視節目 (Step by Step 版)

這篇是之前答應別人要寫詳細的操作方法. 以 H900 錄影加轉檔好一陣子, 流程大致都固定了, 可以把它寫下來.

除了 H900 之外, 轉檔需要的軟體有:

其中 VirtualDub 用的是 1.7.2 experimental version. 我沒用過 1.6.18 stable version, 不知道裡面有沒有 audio view. 這個在校正影音同步時, 有很大的幫助.

asharp 與 decomb 請將 dll 複製到 avisynth 的 plugins 目錄.

首先, 先準備好 avs 檔:

DirectShowSource("e:\capture\米奇妙妙屋_CH010_20070509_1020.mpg", fps=29.97)#, convertfps=true)
# INSERT TRIM HERE

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Decomb.dll")
Telecide()

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\asharp.dll")
ConvertToYV12()
asharp(1.5,3)

DirectShowSource 裡用的檔名, 請改成實際的檔名. 其它的路徑, 在你的電腦上可能不一樣, 也請修改成正確的路徑. 然後開啟 VirtualDub, 把寫好的 avs 拖進去. 沒問題的話, 應該就會看到畫面出現.

然後拉動 Position slider, 找出影片的開始與結束. 這裡的重點是:

  1. 只要去掉最前面和最後面不要的部份. 中間的廣告不需要切掉.
  2. 節目開始與結束的前後都需要多留一點. 大概留個 5 至 10 秒即可.

只去掉最前面和最後面不要的部份, 是為了減少轉檔耗用的時間. 但是節目中間廣告留著, 是為了之後作影音同步方便. 我有一次錄綜藝節目, 要開始轉檔時, 把中間的廣告都去掉才轉, 結果之後作影音同步, 發現每一段節目的 delay time 都不一樣... 那一次真是修到翻掉.

節目開始與結束都留一點, 是為了進行影音同步時, 有聲音素材可以剪進去. 這些無用的片段在作影音同步時也會用得到.

找出待轉檔片段開始與結尾的 Frame 之後, 把它寫進 avs. 把 # INSERT TRIM HERE 改成 Trim(開始,結尾), 例如 Trim(7174,49621), 然後存檔. 在 VirtualDub 按 F2, 重讀剛剛改好的 avs. 這時應該只會出現待轉檔的片段.

之後就可以開始影像轉檔. 在 VirtualDub 裡, Audio 選單下選擇 Source Audio 和 Direct Stream Copy; Video 選單下選擇 Fast Recompress, Compression 選擇 Xvid, 然後按 Configure, 選 Advanced Simple @ L5 (AS@L5), Target bitrate (kbps) 隨你喜好設定. 我通常是用 1800 或 2000. 其它選用預設值即可. 然後按 F7 開始轉.

轉好之後, 影像轉檔的部份就完成了. 接下來是進行影音同步.

在轉檔的過程, 聲音大概都不會跟影像同步. 不是會變快, 就是會變慢. 以我的情形, 聲音比影像慢的情況佔大多數, 不過有時也會有聲音比影像快的情況.

在作影音同步時, 我都會再開一個 VirtualDub 起來作. 一個專作影像轉檔, 一個轉作聲音轉檔, 這樣設定就不用切來切去的.

把剛剛轉好的檔案拖進 VirtualDub, 開啟 View 選單下的 Audio display. 然後在左右影像框 (Input display 和 Output display) 上按右鍵, 選擇適當的尺寸, 讓 Audio display 能夠完整顯示出來. 我這裡要設成 66% 才行.

因為影像檔已經轉好了, 而 Xvid 裡會有 key frame. key frame 通常都會選在畫面場景變動最大的地方, 例如廣告與節目的開始. 在 VirtualDub 裡, 用 shift 加上左右鍵, 可以很快速地跳到上一個下一個 key frame. 節目開始之前絕大部份是廣告, 而廣告和進節目之間, 大部份的地方會有靜音, 所以可以利用這一點來進行影音同步. 如果在節目開始沒有靜音, 那就想辦法另外找一個可以用來進行校正的地方. 反正廣告很多的.

找出節目一開始的影像位置, 這絕大部份都會在 key frame 上, 記下時間, 假設是 17.084. 然後按左右鍵, 找對應的聲音點. 如果廣告有聲而進節目無聲, 那就是找沒聲音的點; 反之則找有聲音的點. 把聲音點記下來, 假設是 17.351. 拿影像的時間減去聲音的時間, 得到 -0.265. 在 VirtualDub 裡按 Ctrl-I, 在 Delay audio track by 的地方, 輸入 -265 (請注意單位是 ms), 然後按 ok. 然後可以按 Ctrl 左右看 key frame 與聲音有沒有對上, 並且實際撥放一下聽聽看有沒有對上. 沒有就重覆以上的方法再作修正.

影音對上之後, 接下來就是把不要的部份切掉了. 因為 key frame 會在場景變動最大的位置, 而節目與廣告的場景變動也會最大, 所以直接以 Ctrl 左右就可以找出廣告的開始與結束. 在不要的片段的開始點按 Home, 結束點按 End, 就可以標示出這一段不要的片段. 然後按 Delete, 就可以把它刪除掉. 用這個方法, 把不要的廣告部份全剪掉.

不要的部份剪掉後, 接下來就是轉聲音了. 在 VirtualDub 裡, Video 選單選 Direct Stream Copy; Audio 選單選 Full processing mode, 選 Compression, 選 Lame MP3, 然後選你想要的流量. 選好之後按 OK, 跳回 VirtualDub 主畫面, 然後按 F7, 存檔. 因為這次只有對聲音的部份轉檔, 所以應該只要幾分鐘就完成了.

現在你應該就有一個轉好影像與聲音, 而且影音也同步的 avi 檔了. 把它好好收起來吧.

當然囉, 如果從 H900 錄下來的檔案只是要看一次就丟掉, 那以上的動作是完全沒有必要的. XD 這是為了要收藏, 要減少佔用的硬碟空間才需要作的事.

PS: 這篇會這麼快完成, 是因為我今天又喝咖啡了... 完全就是一個睡不著的情況... orz

由 plasma 於 02:31 AM 所發表 | 迴響 (0)

2007-05-11 00:25:33

錄電視節目

前陣子買了一塊康博啟視錄 H900 的硬體壓縮電視卡, 打算每天把適合小球看的節目錄下來. 這也是為什麼之前去借了 Xbox 回來.

現在沒有很少拆電腦, 要把界面卡裝進電腦還真是有點生疏, 不過也是把它裝好了. H900 有定時開機的功能, 所以電源線要拉到界面卡上去. 這倒是花了一番功夫才搞定.

測試一下, 定時開機的功能正常, 定時錄影的功能也正常, 於是就把節目輸入進去, 每天晚上回來就可以看了.

這樣過了幾天, 嗯... 半個鐘頭的節目要佔去 1.5G 的大小, 我只在電腦上清出 20G 的空間, 不夠這樣消耗, 得想個辦法.

之前有用 VirtualDubMod 加上 Xvid 來轉檔, 所以這次也這樣作. 試了幾次, 熟悉一下 VirtualDubMod 的使用方法, 找出怎麼把不要的影片切掉, 只留下要的節目. 這樣壓完的結果, 大概要花上 1 個鐘頭, 得到 4xxM 的 avi 檔. 還不錯, 這樣硬碟空間的消耗速度就慢多了.

不過來源是第四台的電視, 畫面品質實在不怎麼, 於是在朋友的建議下, 開始使用 Avisynth. 這是一個對影片進行後製的程式, 所有功能都是透過 script 呼叫影像處理的功能來達成, 而且有許多 plugin 可以使用. 剛開始不太習慣, 不過基本上, 只要拿別人寫的範例稍加修修改改就可以用了. 雖然有點麻煩, 不過調好的 script 可以一用再用, 而且寫好的 script 可以直接拉進 VirtualDubMod, 就不用再在 GUI 上每次都要選後製效果.

Avisynth 一研究下去又不得了了. 因為這是作後製的, 網路上有許多文章在教怎麼使用它轉出漂亮的影像檔. 雖然範例很多, 但是自己實際用下去的效果好像沒那麼好, 想要自己調, 影像牽涉的知識又很多, 於是... 就這麼一頭栽進去, 每天都在搜尋, 每天都在找文件. 很辛苦的是這段期間小球又一直在發高燒, 幾個大人被他操翻過去, 晚上等他睡了, 還要研究這個, 真的滿累的.

總而言之, 不知道為什麼, 我想作 IVTC 或是 deinterlace, 讓影像更清楚, 但是好像都沒什麼幫助, 不知道是因為方法不對, 還是根本就不是正常的 TC 或 interlace? 反正最後在電視上播放的效果還不錯, 看不太出來有拉絲的情況, 就不理它了.

試了很多種方法, 有花 1.5hr 壓出檔案的, 也有花 2hr 壓出檔案的, 也有跑了 8hr 才能拿到檔案的. 比來比去, 好像都跟 1.5hr 壓出檔案的效果差不多... 比較有用的反而是加了 asharp 作銳利化的效果, 畫面看起來清晰多了. 在畫面比較差的情況下, 效果設定太強的話, 會憑空生出不必要的影子, 所以我給的值會比建議值要低一些.

另外, 在 xvid 壓製方面, 我試了 1 pass 和 2 pass, 不過看不出有什麼差別, 所以最後就都用 1 pass 來跑.

以下是用來壓製米奇妙妙屋的 .avs 檔:

# Episode List: http://en.wikipedia.org/wiki/Mickey_Mouse_Clubhouse

DirectShowSource("e:\capture\米奇妙妙屋_CH010_20070509_1020.mpg", fps=29.97)#, convertfps=true)
Trim(7174,49621)

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Decomb.dll")
Telecide()

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\asharp.dll")
ConvertToYV12()
# asharp's suggestion for adaptive sharpening:
#asharp(2,4)
# my setting for ordinary catv capture
#asharp(1.5,3)
# asharp's suggestion for anime
asharp(2.5,4.5,0.25,hqbf=true)

因為米奇妙妙屋的畫面頗乾淨, 所以 asharp 用的是建議值. 畫面清楚很多.

後來又發現會有影音不同步的問題, 原來這是 VirtualDubMod 的問題.一開始沒發現, 可能是壓出來的結果並不明顯. 後來比較明顯的情況下就注意到了, 所以就得再多加一個步驟, 讓最後的結果能夠影音同步.

在 .avs 拖進 VirtualDubMod 之後, 把不必要的部份去掉. 之後按 Ctrl-E 把 VirtualDubMod 的 script editor 叫出來, 它會把 .avs 的內容顯示出來, 然後按 Ctrl-I 把我們已經去掉廣告的部份, 以 Trim() 的方式存下來, 也就是上面範例檔的 Trim(7174,49621). 為了之後的影音同步作準備, 我會調整 Trim() 裡的數值, 把每一段都要往前往後多加 500 個 frame. 這樣才有足夠的聲音素材來合. 之後按 F7 存檔並重讀.

為什麼要多這個步驟, 把 Trim() 寫進原來的 .avs 呢? 這是因為如果壓製之後的結果不好, 要再重新處理一次時, 就可以省略再去掉不必要的部份的步驟.

接下來要將 audio 獨立壓製出來. 裝好 Lame 之後, 再到 free codecs 下載 LAME ACM MP3 Codec, 這樣就可以直接在 VirtualDubMod 裡選擇以 Lame 來壓製 MP3, 然後另外存出來. 壓製影像時, 就不將聲音壓進去.

跑完上述的步驟, 大約是 1.5 至 2 hr 之後, 就會得到兩個檔案. 接下來要用 nandub 來合影像和聲音. 像米奇妙妙屋片頭有布魯托汪汪叫, 剛好很適合拿來對. 選單 Audio / Interleave (或是按 Ctrl-I 比較快) 裡有 Delay audio track by 的選項. 目前試來, 大概都要設 -400 ms 就可以對上. 調整完之後, 就是存成最終的 avi 檔了. 由於影像和聲音檔都已經壓好, 不需要再經過編碼處理, 所以 audio 和 video 就選 Direct stream copy 即可. 選好檔名存檔之後, 不用 1 分鐘就可以得到可以播放, 而且影音同步的 avi 檔.

目前每天固定錄米奇妙妙屋和 Dora. 剛回到家時, 處理一下米奇妙妙屋, 然後丟下去轉. 吃個飯, 休息一下, 差不多也轉完了, 連帶 Dora 也錄完了, 再接著處理 Dora. 這樣大概上床睡覺前可以把今天錄的東西都處理完.

今天這樣跑流程還滿順的, 所以也有點時間來寫這一篇, 稍微作個紀錄一下, 免得日後忘記了.

由 plasma 於 12:25 AM 所發表 | 迴響 (6)