Android VLC 中文字幕無法顯示/亂碼,display Chinese subtitle incorrectly

測試環境 Android 6.01, VLC player 3.05

字幕會變成方塊/亂碼,無法正常顯示,原因為VLC找不到字型或編碼有錯

這可能非最佳解法,對Android沒那麼熟


首先要先確認字幕檔編碼和VLC設定一樣 (自動偵測錯誤時,改utf-8通常能解決)
如果編碼沒錯,下一步是修正缺少的字型

下載google提供的NotoSansCJK-Regular.ttc字型
https://github.com/googlei18n/noto-cjk/blob/master/NotoSansCJK-Regular.ttc

https://www.google.com/get/noto/help/cjk/


把 NotoSansCJK-Regular.ttc 複製到 /system/fonts/就可以了 (需要root或adb)
如果要讓其他app使用這個字型,應該還要修改/system/etc/fonts.xml
詳細改法,有興趣的人可以google看看,我沒有處理




這個修正法背後的原理,VLC寫死使用的字型
實際上,不是每隻手機都有預裝這字型 (google的原生系統有,其他家沒放?)
http://git.videolan.org/gitweb.cgi/vlc.git/?p=vlc.git;a=blobdiff;f=modules/codec/libass.c;h=8004feb138ecad850106f015cb12fe38c0611e94;hp=8a73497422aa17c8d3f032e795a37cc67b2cd131;hb=8a15910d9f8e7d860f29d0e9803c756970d8cf74;hpb=4b898d321d77436204b573d066c61261d037f275


正確的方法,應該Android VLC要提供設定字幕字型 (desktop版就有這設定)
MX Player字幕顯示就沒有問題,個人感覺效能上MX Player也比VLC好
VLC強在整體功能比較多 (也比較肥大)

留言

這個網誌中的熱門文章

OBS 抓不到畫面, 視窗, 遊戲擷取, 黑或白畫面, 當掉 ,卡住, black/white screen, window game capture, crash, freeze

優化實況(一) OBS設定 streaming settings

OBS plugin obs-text 顯示播放中音樂, display playing music