问题

准备使用TED上的视频进行英语学习,使用Downie下载下来视频与字幕后,播放发现字幕比声音快了几秒中,类似下面这样

此时说话人刚讲到第7秒钟,但是字幕已经显示到了11秒钟的内容,很奇怪,所有的视频文件与字幕文件都是从官网下载来的,用了其它的工具也试了,确保下载的文件都是正确的

定位

换了个浏览器重新查看TED上的对应视频,发现视频开头播放了5s钟的TED广告,其实就是TED的开场内容

在下载工具进行下载时,会把这5s的开场也给下载下来,而TED官方字幕是从正片开始计算的时间,这就导致了字幕与声音对应不上的问题

解决

找到问题就好办了,只需要把下载下来的视频的前5s截取下来或者从第5s开始进行转换视频就可以了,这时候就要祭出 ffmpeg 大法,命令如下:

1
ffmpeg -ss "00:00:05" -i ted.mp4 -i ted.srt -vcodec copy -acodec copy ted.mkv

再播放截取的视频,正常了,又可以愉快的学英语了