配置

window10系统
python3.6

说明:

今天看到一个很好的GitHub,使用python将xml字幕合并成功ass字幕,如标题所说,注意完成俩件事:

  1. 使用danmaku2ass 将xml字幕转换成ass字幕
  2. ffmpeg将ass字幕合并成含有字幕的视频

一、使用danmaku2ass 将xml字幕转换成ass字幕

项目地址(记得给人家点个赞,我已经默默的点过了):

https://github.com/m13253/danmaku2ass

使用步骤:

1、将项目下载下来,

在这里插入图片描述
在这里插入图片描述

2、保留danmaku2ass.py文件(这个是主要的)

解压之后,只需要保留py文件,其他用不到,不过人家写的使用方法还是可以去读读,如果只想转下字幕,不读也可以,因为我已经花时间读过了,会用就行了。

在这里插入图片描述
在这里插入图片描述

3、使用you-get下载一个B站视频

如果不会使用you-get,可以看我之前的一个博客,如果看完会了可以给我点个赞哈,看不会找我算账(留言)
https://blog.csdn.net/weixin_42081389/article/details/87101229

在这里插入图片描述
在这里插入图片描述

测试视频推荐下载这个(也是我随便找的,字幕比较多,视频还不大,嘻嘻),你也可以随便下载一个含有字幕的,为了测试省时间,我没有下载项目推荐的哪一个太大的。
https://www.bilibili.com/video/av5075910

在这里插入图片描述
在这里插入图片描述

4、开始转换字幕

默认你会python呀,不会自己去B站或者其他网上学习吧。
记得先把字幕文件xml和视频名字改一下,因为cmd下中文影响,我这边改为001了:

python .\danmaku2ass.py -o  .\001.ass  -s 1920x1080 -fn "MS PGothic" -fs 48 -a 0.8 -dm 10 -ds
 5 .\001.xml

解释下命令:

项目原命令使用解释如图:

在这里插入图片描述
在这里插入图片描述

我的中文解释(根据自己需要,不够看项目吧)

  1. python .\danmaku2ass.py 这个不用将都懂了
  2. -o :后面是转换ass成功之后的报存地址和名称
  3. -s :像素这个我直接按项目的,没有改
  4. -fn : 指定的字体
  5. -a : 文本不透明度
  6. -fs :字体大小
  7. -dm :滚动字幕的时间(我的理解是出现在屏幕上的时间,默认是5秒,弄成之后,感觉太快了,后来就设置10秒)
  8. -ds :静态字幕的时间(默认5秒)
  9. 后面最后根据就是需要转换的xml字幕。

在这里插入图片描述

5、使用播放器打开视频就会出现字幕了

注意事项:

  1. 视频和字幕名称要一样
  2. 视频和字幕要在一个目录下面

效果图:

在这里插入图片描述
在这里插入图片描述

6、测试一下没有字幕文件的视频

新建一个文件夹,只复制视频过来。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、ffmpeg将ass字幕合并成含有字幕的视频

0、来源

这个合成是我看到项目里面的一句话,就想着以前没有弄个,尝试一下。

在这里插入图片描述
在这里插入图片描述

1、ffmpeg不会安装的参考我之前的博客:

https://blog.csdn.net/weixin_42081389/article/details/90172120

2、ffmpeg一条命令合成字幕视频

这个就简单了,一条命令搞定:

ffmpeg -i .\001.flv -vf ass=001.ass -vcodec libx264 -acodec copy foo-with-danmaku.flv

命令解释:

  1. -i 后面跟的是视频文件
  2. -vf 后面跟单是字幕文件(-vf ass=字幕名字)
  3. -acodec copy 后面跟的就是后面合成之后的名字,可以自己更改
  4. -vcodec libx264 这个好像是视频的一种编码,我不太了解,反正不用更改。
{% image /imgs/20190829152131221.png '在这里插入图片描述' '' %}

3、将合成的视频单独复制到一个文件夹,看看是否含有字幕:

有图有真相,看图就懂了,基本上我截图都在一个位置,

{% image /imgs/20190829153447671.png '在这里插入图片描述' '' %} {% image /imgs/20190829153846962.png '在这里插入图片描述' '' %}

到此结束,又get到一个技能

{% image /imgs/20190829154148625.png '在这里插入图片描述' '' %}

三、将danmaku2ass.py文件打包成exe(后来补充)

1、灵感来源

这个测试灵感是因为我想到you-get 可以直接使用,想着danmaku2ass.py文件是不是可以像you-get一样,不用前面的pytho,也能一样,然后开始测试寻找方法了。

2、看看you-get在哪里

{% image /imgs/20190829163302214.png '在这里插入图片描述' '' %} {% image /imgs/20190829161824278.png '在这里插入图片描述' '' %}

3、打包开始:

1、不会打包参考:

如果不会打包的,参考我的另一个之前博客:
https://blog.csdn.net/weixin_42081389/article/details/94899316

2、直接打包命令:

pyinstaller -F .\danmaku2ass.py -i .\cbb7t-eo59j-001.ico

在这里插入图片描述

生成如图:

在这里插入图片描述
dist目录下面就是我们生成的exe

在这里插入图片描述
在这里插入图片描述

4、将打包之后的danmaku2ass.exe复制到和you-get一样的目录下

在这里插入图片描述
在这里插入图片描述

5、测试是否成功

进入cmd,然后命令:

  1. danmaku2ass :看看是否出现参数说明
  2. where danmaku2ass :是否出现位置
在这里插入图片描述
在这里插入图片描述

6、下载视频和字幕(前面有命令,我不解释了)

在这里插入图片描述
在这里插入图片描述

7、更改名字

在这里插入图片描述
在这里插入图片描述

8、打包命令:

在这里插入图片描述
在这里插入图片描述

是不是已经达到和you-get命令一样的效果了,嘿嘿

在这里插入图片描述
在这里插入图片描述

直接点开视频看看效果是不是一样,哈哈,果然一样。
截图给你看看

在这里插入图片描述
在这里插入图片描述

后面合成测试我就没有必要再弄了,至此打包使用结束了,觉得不错点个赞再走吧

在这里插入图片描述
在这里插入图片描述