2008/04/29

快速產生 PS3 用的 Blu-ray 帶字幕影片

1 srt 字幕先儲存成 UTF-8 的格式

1.1 使用 UltraEdit 打開 srt 字幕檔(Notepad 存檔後換行似乎有問題)
1.2 使用另存新檔,編碼改用 UTF-8
Image Hosted by ImageShack.us

2 將影片以及字幕檔加入 tsMuxeR

2.1 mkv 影片加入

2.1.1 如果原本的影片 level 不是 4.1,請勾選 Change level: 4.1
2.1.2 如果原本的影片不是 fps 23.976,請勾選 Change fps: 24000/1001
Image Hosted by ImageShack.us

2.1.3 如果有多國語言,不要忘記設定聲音的語言,避免撥放時給自己造成混亂(我猜應該只有卡通會需要國語配音吧)
Image Hosted by ImageShack.us

2.2 srt 字幕加入,tsMuxeR 只支援 UTF-8 的編碼格式
2.2.1 變更字幕語言
Image Hosted by ImageShack.us

2.2.2 改變字幕大小,我知道標楷體比較漂亮,可惜目前不能支援中文名稱的字體,字體部分,視訊串流為 720p 選用 60,1080 i/p 選用 72
Image Hosted by ImageShack.us

3 設定 Blu-ray 段落以及檔案裁切

3.1 每五分鐘一個段落
Image Hosted by ImageShack.us

3.2 每 1G 裁切,也可以設定成 2G 甚至 4G,不過 4G 風險比較高,如果程式的計算公式有偏差的話,容易切出超過 4G 的內容,這樣就不能放到 FAT32 裡面,也就無法用 USB 外接硬碟餵給 PS3 了。另外在播放到切割點的地方,也許會有銜接上的問題(我不確定 PS3 有作好緩衝處理),所以為了避免銜接點的 Lag,以及切超過 4G 的問題,或許 3.8G 也是個不錯的選擇,誤差應該不會超過 200MB 吧!
Image Hosted by ImageShack.us

4 輸出到 Blu-ray disk,也可以把目標設定在 USB 外接盒,可以省下後面複製的動作。PS3 對 Blu-ray disk 只接受 /avchd 這個名稱,所以一次只能容納一部電影。
Image Hosted by ImageShack.us

4.1 大概耗費 5 分鐘的時間就完成了
Image Hosted by ImageShack.us

5 使用 AVCHD Me 更改檔案名稱,以符合規範
5.1 將 AVCDH Me.exe 複製到剛剛產生的 avchd 資料夾,執行
Image Hosted by ImageShack.us
Image Hosted by ImageShack.us

基本上這個程序是 OK 的,影片能播放的就恭喜了,不能撥放的話,歡迎討論,共同研究穩定又快速的方法。如果遇到比較頑強的片子,看不到字幕或者有同步問題,也可以先單獨將字幕 Demux 成 SUP 再加入。不必再為了崁入中文字幕重新編碼,耗費十多個小時,即使字幕感覺不對,也可以再找新的字幕再重新加入,因為原始影片串流並沒有被破壞,實在太棒了。

下載 AVCHD Me

2008/04/30 追加
這個方法經過實際測試,字幕可以選,但是看不到,我猜想,應該是在字幕處理的時候,預設值採用 1920x1080 的關係,但是找不到直接改成 1280x720 的方法。所以只好用 GUI 來產生 meta 檔案的內容,手動存成 temp.meta 這個檔案。然後再到 DOS command 裡面,執行 tsMuxeR.exe 可以考慮把他複製到 $PATH 找得到的地方。
Image Hosted by ImageShack.us

執行語法:
tsmuxer temp.meta avchd
其中 temp.meta 就是剛剛儲存的 meta 檔,avchd 是我們要存放 Blu-ray disk 的地方。經過大約五分鐘之後,檔案就完成了。
Image Hosted by ImageShack.us

另外檔案切割的部分,在切割點會有稍微停頓,跟 Divx 字幕第一次切換的感覺一樣,PS3 果然沒有作好緩衝處理,我不相信硬碟的速度會跟不上撥放的速度,串流先放到緩衝,再從緩衝裡面弄出來放,真的有這麼難嗎?這一點 $ony 可要好好加油啦!

2008/05/01 追加
還是看不到字幕,字幕選項修改一個地方,bottom offset 改 60 就可以看到了,不過字幕有點高,字體 60 也不算小,可以再多嘗試其他設定,找出你最滿意的,調整的時候可以在切割項目裡面先勾選 Enable Cutting,時間設定在 5 到 10 分鐘,相信沒有人電影片頭就放了五分鐘還不出現字幕,這樣可以減少尋找最滿意設定的時間,目前就差字體還是沒有成功作出標楷體!感謝今天勞動節放假一天!

2008/05/09 追加
這次拿長江七號國粵語雙語版本測試,發現 1.8.4 直接帶 srt 的許多問題已經解決,可以接受 ANSI 編碼的文件,也就是不需要再轉成 UTF-8 的格式。字幕放在影片後面的話,會自動將影片的長寬帶入字幕的長寬參數,這樣就不需要在手動調整了。但是字幕垂直偏移的問題依然沒有解決,還是要改 bottom offset。終於可以輕鬆享受 720P 的影片了,LCD TV 買了也有三年了,終於可以好好發揮他最好的效果了。

2008/05/11 追加
順帶一提, 非標準 720p, 像是長江七號是 1280 x 5?? 影像會在最上面的 5xx 行, 之後的會變成綠色, 我想恐怕得要經過一番手續將影像書變成 720p 標準才行, 至於 1080p 恐怕也會有相同的問題, 這個概念我會再找時間測試的, 因為綠色部分會連同字幕一併蓋掉, 很麻煩的.

8 則留言:

匿名 提到...

太利害了,希望等我抓的mkv檔案經由轉檔也能在我的USB HD上給PS3吃,感謝Aim Wang! 台中人

匿名 提到...

抓完了,結果我抓的是1920*800 非標準格式,電腦上正常;PS3上完全沒畫面‧‧‧但是時間軸還會跑,PS3上也沒任何錯誤訊息,怎麼辦?

Take notes and share 提到...

1920*800 我沒有用過,我的螢幕是1366*768,所以我都測 720p,只是非標準的解析度下,會有綠色螢幕的問題,理論上 1080i/p 也該會有相同的問題,至於沒有畫面,倒是沒有遇到過(或者等 SONY 修正這個問題),總之,目前 PS3 只是一個堪用的 HD 影片播放機。
至於要重新編碼影片的話,我最近會整理製作內坎字幕的方式,只是重新編碼會花掉比較長的時間,所以要給 PS3 吃的,如果已經是標準解析,就用 tsmuxer 就好,如果不是標準解析,就乾脆作成內坎字幕。各有優缺,作 avchd 一顆硬碟只能放一部電影,但是轉換速度快。作內坎字幕的 m2ts 轉換時間長,但是硬碟容量夠,愛放幾部就放幾部。

匿名 提到...

恩,大致了解;另外,聽說只要改不同資料夾名稱,比如AVCHD_001,AVCHD_002,PS3雖然不會認這兩個資料夾,但依舊能撥放AVCHD的影片,只要再用電腦將AVCHD_001改回AVCHD,並執行AVCHD.Me,似乎也能在USB硬碟上並存。希望tsMuxer能把PS3發揮極限啊

y i u (^o^) 提到...

求救呀, 試了很久也不能嵌入字幕, 有什麼原因呢???

Take notes and share 提到...

這個工具主要是用來產生 AVCHD 的格式, 影片跟字幕是分離的, 並不是內嵌. 目前 ps3 對影片的格式要求仍然很嚴格, 最保險的做法是用 Ripbot 來做, 只是很花時間.

y i u (^o^) 提到...

我其實想用ps3 media server直接播放片子,但1080加字幕的話,應該轉碼太多,pc實在吃不消,播片很lag.

故想將*.mkv+*.srt轉換好才給ps3 meida server播,那我應該轉換什麼格式,用什麼字體才可做到我想要的呢?

再請大大指點.

Take notes and share 提到...

http://www.smlabs.net/tsmuxer_en.html
要快速產生, 仍然使用 tsmuxer, 目前版本為 1.10.6 當然還是有部分解析度會有問題, 水平解析度低於 576 的影片會導致失敗. 請參考 http://aimwang.blogspot.com/2009/04/tsmuxer-199-ps3.html
方法根本篇一樣.製作完成的影片, 一定要經過 avchdme 更改檔名的步驟, 資料夾必須命名為根目錄的 avchd, 然後使用隨身碟給 PS3 撥放, 而不是透過 PS3 Media Server. 因為做出來的影片已經是 PS3 能夠讀取的了, 看影片就不需要一直開著 pc 了.