首页 > 编程知识 正文

python字幕与视频合并,python视频双语字幕生成

时间:2023-05-05 18:57:06 阅读:276030 作者:4299

文章目录 配置说明:一、使用danmaku2ass 将xml字幕转换成ass字幕项目地址(记得给人家点个赞,我已经默默的点过了):使用步骤:1、将项目下载下来,2、保留danmaku2ass.py文件(这个是主要的)3、使用you-get下载一个B站视频4、开始转换字幕5、使用播放器打开视频就会出现字幕了注意事项: 6、测试一下没有字幕文件的视频 二、ffmpeg将ass字幕合并成含有字幕的视频0、来源1、ffmpeg不会安装的参考我之前的博客:2、ffmpeg一条命令合成字幕视频3、将合成的视频单独复制到一个文件夹,看看是否含有字幕: 到此结束,又get到一个技能三、将danmaku2ass.py文件打包成exe(后来补充)1、灵感来源2、看看you-get在哪里3、打包开始:1、不会打包参考:2、直接打包命令: 4、将打包之后的danmaku2ass.exe复制到和you-get一样的目录下5、测试是否成功6、下载视频和字幕(前面有命令,我不解释了)7、更改名字8、打包命令:

配置

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 .01.ass -s 1920x1080 -fn "MS PGothic" -fs 48 -a 0.8 -dm 10 -ds 5 .01.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 .01.flv -vf ass=001.ass -vcodec libx264 -acodec copy foo-with-danmaku.flv

命令解释:

-i 后面跟的是视频文件-vf 后面跟单是字幕文件(-vf ass=字幕名字)-acodec copy 后面跟的就是后面合成之后的名字,可以自己更改-vcodec libx264 这个好像是视频的一种编码,我不太了解,反正不用更改。

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

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

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

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

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

2、看看you-get在哪里

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命令一样的效果了,嘿嘿


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

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。