配置
window10系统
python3.6
说明:
今天看到一个很好的GitHub,使用python将xml字幕合并成功ass字幕,如标题所说,注意完成俩件事:
- 使用danmaku2ass 将xml字幕转换成ass字幕
- 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
解释下命令:
项目原命令使用解释如图:
我的中文解释(根据自己需要,不够看项目吧)
- python .\danmaku2ass.py 这个不用将都懂了
- -o :后面是转换ass成功之后的报存地址和名称
- -s :像素这个我直接按项目的,没有改
- -fn : 指定的字体
- -a : 文本不透明度
- -fs :字体大小
- -dm :滚动字幕的时间(我的理解是出现在屏幕上的时间,默认是5秒,弄成之后,感觉太快了,后来就设置10秒)
- -ds :静态字幕的时间(默认5秒)
- 后面最后根据就是需要转换的xml字幕。
5、使用播放器打开视频就会出现字幕了
注意事项:
- 视频和字幕名称要一样
- 视频和字幕要在一个目录下面
效果图:
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
命令解释:
- -i 后面跟的是视频文件
- -vf 后面跟单是字幕文件(-vf ass=字幕名字)
- -acodec copy 后面跟的就是后面合成之后的名字,可以自己更改
- -vcodec libx264 这个好像是视频的一种编码,我不太了解,反正不用更改。
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,然后命令:
- danmaku2ass :看看是否出现参数说明
- where danmaku2ass :是否出现位置
6、下载视频和字幕(前面有命令,我不解释了)
7、更改名字
8、打包命令:
是不是已经达到和you-get命令一样的效果了,嘿嘿
直接点开视频看看效果是不是一样,哈哈,果然一样。
截图给你看看
后面合成测试我就没有必要再弄了,至此打包使用结束了,觉得不错点个赞再走吧