Golang实现webVTT字幕转SRT字幕

最近下的一个视频字幕是webVTT格式的,但是pc端没找到能支持这种格式的视频播放器,所以每次需要手动转换字幕格式,从 .vtt转换为 .srt 。 从github上找了一个,不过只能转换指定目录下的 .vtt文件,而无法递归处理子目录下的字幕文件,所以自己用golang重新写了一个命令行工具。 对比 VTT 与 SRT两种字幕格式: 需要处理的就两点: 1.字幕序号。vtt是从0开始,而srt是从1开始 2.字幕的时间格式。 vtt是00:02.640 ,而 srt是 00:00:02,640 。 具体代码如下: github : https://github.com/ksharpdabu/WebVTTtoSRTConverter package main import ( "bufio" "flag" "fmt" "io"…

git迁移远程仓库同时保留所有提交记录和所有分支

问题 假设我有A、B两个github账号,如果我想将A的某个仓库转移到B,同时保留提交记录和所有分支,如果不使用官方的git clone,那么如何实现呢? 解决办法: 这里假设你的remote都是origin,同时已经在B上新建了一个同名的空的仓库: git clone –mirror <url_of_old_repo> cd <name_of_old_repo> 此时目录结构如下: git remote rm origin git remote add origin <url_of_new_repo> git push origin –mirror 总结: 网上有使用git checkout,先在本地把所有远程分支拉下来,然后再git push –all…

Spring MVC接口总是默认返回XML的问题排查

昨天同事用了我写的WSDL对接代码后,整个Spring MVC项目接口总是返回XML格式,而不是以前的JSON格式。我也是第一次遇到这个问题,觉得很好奇,所以帮忙排查了原因。 排查过程: 其中一个接口代码如下: @RequestMapping(value = "sms/sendsms") @ResponseBody public ResultInfo sendSmsHandler(@RequestParam(defaultValue = "") String otherPhones, @RequestParam(defaultValue = "") String msgText, HttpServletRequest request) throws Exception{ otherPhones = checkAndConvertStr(otherPhones); msgText = checkAndConvertStr(msgText);…

git如何删除已经push到远程的提交

前提 这里假设remote都是origin ,分支都为master。 注意:如果想单独删除git某个已经push的提交,那就只能删除最近的那个commit,而无法删除倒数第二个commit,而保留倒数第一个提交,如下 假设有A->B->C 三个提交,我们没法只删除B,而保留C,虽然可以通过rebase的方式实现,但是rebase过程中一堆冲突,对于大点的项目,很难实际操作。 我们只能删除B以及它之后的所有commit,即把B、C都删除,结果为 A。 方法一:git reset 先删除本地的: git reset –hard <commit hash> 然后push到remote: git push -f 但是为了安全,建议使用: git push –force-with-lease 方法二:git rebase 假设我们有3次提交: $ git log…