2018年4月5日 星期四

IDX/SUB字幕 轉換為 SRT字幕

從DVD轉檔得了影片和字幕,影片沒問題,可以順利上傳,但字幕是IDX/SUB,無法上傳至Google Drive或YouTube,成為播放時的字幕。

解法1:
將影片與IDX/SUB字幕合併,如此播放時就會有字幕;但把影像合併,顯然需要相當時間,且合併後,會永遠保持在影片內,較無彈性。

解法2:
從網路上下載影片的SRT字幕,如果運氣好,版本和影片完全一致,無需修改,就可以順利使用。
如果版本有點差異,時間軸就會不完全吻合,此時就要調整SRT的時間軸。此時,Aegisub和SrtEdit可以幫上忙,如果是整體時間軸的前後移動。但,如果是每間隔一段時間軸,就要重新調整間距,那調整工作就會相當繁瑣。
如果下載的中文版是簡體字版,就會有用語差異的問題,這時候還需要簡繁轉換,及一些詞語轉換。這也會需要一點工時。

解法3:
將IDX/SUB轉換為SRT,這需要工具協助把圖形轉換為文字。

  1. SubRip 1.17.1可以將SUB的時間軸及每句字幕的圖檔轉換為BMP檔,形成成百上千的單句字幕圖檔。

    1. 選擇VOB檔案->打開文件目錄->選擇字幕語言版本->選擇字幕保存為BMP,加上時間及尺寸->開始->輸入暫存的檔案名稱->保存
    2. 預設選擇I-Author->Custom colors and contrast->調整顏色讓圖形文字更容易辨識->確定後會開始自動產生圖檔
    3. 輸出格式->設定輸出格式,選擇Text Format下的SubRip(*.srt)->另存檔案輸出 .srt 檔

  2. 再利用SubToSrt 3.13讀取SubRip產生的srt和bmp檔,就可以經由OCR自動辨識,就可以把圖形轉換為文字,過程中部分無法自動辨識的文字,會需要人工協助鍵入,但整體辨識率還算不錯,人工協助辨識的部分還可以成為字庫,提高之後的文字辨識率。


解法3成功的產出我要的字幕,很棒!

2018年2月24日 星期六

XAMPP 更新...

修正httpd.conf下列內容:

  1.  取消目錄瀏覽
  2. 將logs定時roration

取消目錄瀏覽,找到:
<Directory "D:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>

刪除其中的 Options 改成
<Directory "D:/xampp/htdocs">
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

將logs做rotation
ErrorLog "|D:/xampp/apache/bin/rotatelogs.exe D:/xampp/apache/logs/error-%Y%m%d.log 86400"
CustomLog "|D:/xampp/apache/bin/rotatelogs.exe D:/xampp/apache/logs/access-%Y%m%d.log 86400" combined

將 / 重導至 HTTPS
<If "%{HTTP_HOST} != 'www.sclai.tk'">
    Redirect "/" "https://www.sclai.tk/"
</If>

<If "%{HTTPS} != 'on'">
    Redirect "/" "https://www.sclai.tk/"
</If>

修正httpd-ssl.conf下列內容:

  1. 將logs定時rotation
  2. #ErrorLog "D:/xampp729/apache/logs/error.log"
    ErrorLog "|D:/xampp729/apache/bin/rotatelogs.exe D:/xampp729/apache/logs/error-%Y%m%d.log 86400"

    #TransferLog "D:/xampp729/apache/logs/access.log"
    TransferLog "|D:/xampp729/apache/bin/rotatelogs.exe D:/xampp729/apache/logs/access-%Y%m%d.log 86400"

    #CustomLog "D:/xampp729/apache/logs/ssl_request.log" \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    CustomLog "|D:/xampp729/apache/bin/rotatelogs.exe D:/xampp729/apache/logs/ssl_request-%Y%m%d.log 86400" \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

  3. 調整ServerName及ServerAdmin
  4. #ServerName www.example.com:443
    #ServerAdmin admin@example.com
    ServerName www.myname.com:443
    ServerAdmin nobody@gmail.com

  5. 配合sslforfree調整憑證檔案(全部憑證置放於conf/sslforfree/目錄下)
  6. #SSLCertificateFile "conf/ssl.crt/server.crt" SSLCertificateFile "conf/sslforfree/certificate.crt"

    #SSLCertificateKeyFile "conf/ssl.key/server.key" SSLCertificateKeyFile "conf/sslforfree/private.key" SSLCACertificateFile "conf/sslforfree/ca_bundle.crt"

修正php.ini的下列內容:

  1.  設定 PHP 的時區
  2. 開啟imap extension

設定PHP的時區
找到
[Date] ;date.timezone =

改成
[Date] date.timezone = "Asia/Taipei"

或者在 php 中加入:
date_default_timezone_set("Asia/Taipei");

就可以確保時區的正確性。

開啟imap extension
找到
;extension=imap

改成
extension=imap

2018年2月18日 星期日

Hard Links, Junctions, and Symbolic Links

在NTFS上有Hard link,Junction和Symbolic link三種,簡單來說:

  1. Hard Link就是檔案本身,僅適用在本機磁碟
  2. Junction是hard link的一種,專用於目錄
  3. Symbolic link本身就是一個檔案,指向鎖鏈結的檔案或目錄
詳細內容可參考:

可使用 mklink 來建立三種鏈結。

C:\>mklink /?
建立符號連結。

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      建立目錄符號連結。預設是檔案符號連結。
        /H      建立永久連結而不是符號連結。
        /J      建立目錄連接。
        Link    指定新符號連結名稱。
        Target  指定新連結參照的路徑 (相對或絕對)。

2018年2月17日 星期六

Apache logs rotation

XAMPP中apache的(\xampp\apache\logs]) access log和error log會隨時間增長,
可利用 (\xampp\apache\bin\) rotatelogs.exe 來 rotate log:

修改 (\xampp\apache\conf\) httpd.conf,運用 rotatelogs.exe 每 86400 秒產生一個檔案:
#ErrorLog "logs/error.log"
ErrorLog "|D:/xampp/apache/bin/rotatelogs.exe D:/xampp/apache/logs/error-%Y%m%d.log 86400"

#CustomLog "logs/access.log" combined
CustomLog "|D:/xampp/apache/bin/rotatelogs.exe D:/xampp/apache/logs/access-%Y%m%d.log 86400" combined

如啟用SSL,須同步修改 http-ssl.conf:
#ErrorLog "D:/xampp/apache/logs/error.log"
ErrorLog "|D:/xampp/apache/bin/rotatelogs.exe D:/xampp/apache/logs/error-%Y%m%d.log 86400"

#TransferLog "D:/xampp/apache/logs/access.log"
TransferLog "|D:/xampp/apache/bin/rotatelogs.exe D:/xampp/apache/logs/access-%Y%m%d.log 86400"

#CustomLog "D:/xampp/apache/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
CustomLog "|D:/xampp/apache/bin/rotatelogs.exe D:/xampp/apache/logs/ssl_request-%Y%m%d.log 86400" \

          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

2017年10月23日 星期一

安裝Bitvise SSH Server

在win10上安裝Bitvise SSH Server應該是很順利的,但是有件事情必須特別留意:

win10上的 port 22 預設是被佔用的,必須利用 services.msc 把 SSH Server Broker 和  SSH Server Proxy 停用,否則就只能換 port 來跑。

有點無聊又容易忘記的小麻煩,紀錄一下....

2017年9月17日 星期日

Word 2016 表格文字不見了

2017/10/04 更新
October 3, 2017, update for Word 2016 (KB4011140)
解決了這一個月來的惱人問題....

原來是 Word 2016 更新後產生的bug,真是的...

要移除 KB4011039

Office\Word 2016 - Text missed from tables cell after KB4011039

Microsoft也承認確實是有問題:

After installing KB 3213656 or KB 4011039, merged table cells don’t work correctly in Word or Outlook

2017 年 9 月 5,更新 Word 2016 (KB4011039)

還說「朕知道了,但要等下個月才會更新...」

害我浪費一堆時間找原因,真是有夠....

2017年7月12日 星期三

Intel AMT

Intel AMT 確實是個很方便的平台工具:

  1. 可以遠端控制電源,相當方便。
  2. 可以遠端看到電腦畫面 (限Intel顯示晶片)
  3. 可以設定是否回應ICMP (不經OS)