2013年9月20日 星期五

win7中利用perl將srt字幕檔延遲任意秒數

perl -p -i.bak -e "$k=16;s/((\d\d):(\d\d):(\d\d))/@{[sprintf \"%02d\",int(($4+60*$3+3600*$2+$k) \/ 3600)]}:@{[sprintf \"%02d\",int((($4+60*$3+3600*$2+$k) % 3600 \/ 60) )]}:@{[sprintf \"%02d\",($4+60*$3+3600*$2+$k) % 60]}/g;" "srt.srt"

其中$k=16指定要延遲的秒數為16秒,srt.srt是所要修改的字幕檔。這個i.bak參數是因應win7的限制,詳見 http://stackoverflow.com/questions/2616865/why-do-i-have-to-specify-the-i-switch-with-a-backup-extension-when-using-active


沒有留言:

張貼留言