關於 DVD 字幕的問題

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

關於 DVD 字幕的問題

文章Cruz » 週日 3月 22, 2009 10:59 pm

不曉得有沒有人碰過這個問題
有些 DVD 以及 dvd rip 字幕 (*.idx + *.sub)
在 mplayer 無法顯示
只能在 windows 的播放器顯現出來
這是什麼原因?我碰到這種狀況時
要不就乾脆捨棄,如果該片很想看
就到 windows 端,使用 sub resync 之類工具
OCR 變成 SRT or SSA

我是說 "有些" 不是全部喔
所以應該不是漏掉什麼東西沒安裝吧
Cruz
 

文章Cruz » 週日 3月 22, 2009 11:04 pm

補述一點,在我碰過的範圍內
最初的幾次曾經試過
以 avidemux 的 OCR 工具轉換
但結果都是 avidemux 也無法看懂該字幕
所以後來乾脆連試也不試 avidemux 了
Cruz
 

文章claudwu » 週一 3月 23, 2009 3:41 am

你這狀況我沒遇過
我遇到比較多的狀況是
1. 抓下來的字幕影像.sub是壓縮成rar的, 要解壓縮
2. 如果是srt或是ssa, utf16會有問題, 要iconv轉成utf8

因該沒回到到...就參考一下吧!
claudwu
懵懂的國中生
懵懂的國中生
 
文章: 156
註冊時間: 週二 3月 29, 2005 5:33 pm

文章Cruz » 週一 3月 23, 2009 4:59 am

utf16 字幕我也是轉 utf8
…應該是說,我把所有字幕都轉 utf8
因為我把 smplayer 的 subtitle 項設為 utf8
設 auto 好像沒用,結果也不會自動判斷
(或者它總是判斷錯?)

如果 mplayer 也能像 windows 的播放器
加上 codecs pack 就能自動判斷語系
那就方便多了

文字檔類型的字幕我發現有個問題
那就是編輯過以後 (幾乎都用 kwrite)
即使 kwrite 設定 EOF = DOS/Win
結果拿到 windows 一樣變成不能用
非得小作家或記事本打開再存一次
這一點,有時要分享給 win user
只好有勞 vbox 跑 XP 多做一道處理
Cruz
 

文章darkranger » 週一 3月 23, 2009 8:09 am

請在文字介面操作 mplayer
並留意它的輸出訊息
darkranger
懵懂的國中生
懵懂的國中生
 
文章: 180
註冊時間: 週一 11月 13, 2006 7:14 pm

文章mason » 週一 3月 23, 2009 8:59 am

Cruz 寫:utf16 字幕我也是轉 utf8
…應該是說,我把所有字幕都轉 utf8
因為我把 smplayer 的 subtitle 項設為 utf8
設 auto 好像沒用,結果也不會自動判斷
(或者它總是判斷錯?)

~/.mplayer/config 裡面有沒有加上以下兩行?
代碼: 選擇全部
subcp=utf8
unicode=yes


Cruz 寫:如果 mplayer 也能像 windows 的播放器
加上 codecs pack 就能自動判斷語系
那就方便多了

這跟 codecs pack 無關。
codecs packe 只是一大包的影音編碼解碼
跟語系完全沒有關係。

Cruz 寫:文字檔類型的字幕我發現有個問題
那就是編輯過以後 (幾乎都用 kwrite)
即使 kwrite 設定 EOF = DOS/Win
結果拿到 windows 一樣變成不能用
非得小作家或記事本打開再存一次
這一點,有時要分享給 win user
只好有勞 vbox 跑 XP 多做一道處理

一樣是 UTF8 嗎?
記得要加上 BOM
不然 windows 的播放軟體和notepad 都不會認得。
windows 對於 UTF-8 的要求就是一定要 BOM
subresync 也是一樣,沒有 BOM 的 UTF8 文字字幕一律丟亂碼出來。
(mkv包的字幕除外,因為 mkv 的字幕一律是 UTF8,所以沒有判斷charset encoding的問題)
skype:dantemason
http://blog.sikazozo.org
頭像
mason
快樂的大學生
快樂的大學生
 
文章: 547
註冊時間: 週二 9月 10, 2002 3:40 pm
來自: SIDE 3

文章Cruz » 週一 3月 23, 2009 10:09 pm

匠兄真是學問淵博,佩服!

我查了一下 BOM 是
Windows XP Notepad adds a UTF-8 byte-order-mark (BOM) (EF BB BF) to the start of UTF-8 files


但我怎樣才能在文字檔前面增加這三個字元?

我記得十多年前學 DOS 的經驗中,可以
比如按住 Alt 然後打上 9 5 這樣就會跑出
ASCII 編號第 95 號的字元 (好像是小 A)

在 unix-like 有沒有類似的輸入方式呢?
Cruz
 

文章mason » 週一 3月 23, 2009 10:48 pm

用vi編輯
輸入
:setlocal bomb

存檔。

之後你可以用 vi -b <檔名> 來看,如果檔案最開頭有 <feff>
那就是BOM了
skype:dantemason
http://blog.sikazozo.org
頭像
mason
快樂的大學生
快樂的大學生
 
文章: 547
註冊時間: 週二 9月 10, 2002 3:40 pm
來自: SIDE 3

文章claudwu » 週二 3月 24, 2009 5:01 am

代碼: 選擇全部
subcp=utf8
unicode=yes

這樣是不是只有當字幕檔是utf8時能夠正確播放?
我對subcp的解讀是, 設定字幕檔案的編碼
所以如果subcp設定跟字幕檔編碼不同, 就會是亂碼

因為抓下來的字幕也常常會是big5或gb編碼的
現在我都先看此檔案編碼是什麼, 然後改設定在看
或是先自行iconv轉碼

似乎沒有能夠自動偵測編碼然後選擇正確的subcp的方式?
claudwu
懵懂的國中生
懵懂的國中生
 
文章: 156
註冊時間: 週二 3月 29, 2005 5:33 pm

文章mason » 週二 3月 24, 2009 10:09 am

claudwu 寫:這樣是不是只有當字幕檔是utf8時能夠正確播放?
我對subcp的解讀是, 設定字幕檔案的編碼
所以如果subcp設定跟字幕檔編碼不同, 就會是亂碼

因為抓下來的字幕也常常會是big5或gb編碼的
現在我都先看此檔案編碼是什麼, 然後改設定在看
或是先自行iconv轉碼

似乎沒有能夠自動偵測編碼然後選擇正確的subcp的方式?


試試這個 Jserv 寫的程式:
http://blog.linux.org.tw/~jserv/archives/001672.html
編譯之後,再到 src 的目錄裡面 make
可以得到一支 test-chardetect

試試看如果沒問題的話,
把 charset-detector/chardetect.so 複製到 /usr/lib
接著 ldconfig
再去修改 charset-detector/test/test-chardetect.c 裡面的
#define LIB_PREFIX "/usr/lib/"
然後在 charset-detector/test/ 裡面 make clean;make
把 test-chardetect 複製到 /usr/bin
以後就可以直接使用這支方便的程式了。
skype:dantemason
http://blog.sikazozo.org
頭像
mason
快樂的大學生
快樂的大學生
 
文章: 547
註冊時間: 週二 9月 10, 2002 3:40 pm
來自: SIDE 3

文章FourDollars » 週二 3月 24, 2009 11:52 am

Cruz 寫:匠兄真是學問淵博,佩服!

我查了一下 BOM 是
Windows XP Notepad adds a UTF-8 byte-order-mark (BOM) (EF BB BF) to the start of UTF-8 files


但我怎樣才能在文字檔前面增加這三個字元?

我記得十多年前學 DOS 的經驗中,可以
比如按住 Alt 然後打上 9 5 這樣就會跑出
ASCII 編號第 95 號的字元 (好像是小 A)

在 unix-like 有沒有類似的輸入方式呢?

echo -n -e "\xEF\xBB\xBF" | cat - input.txt > output.txt
FourDollars
懵懂的國中生
懵懂的國中生
 
文章: 188
註冊時間: 週五 8月 01, 2003 12:47 am


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客