PPTToVideo: 将PPT转换成mp4视频文件,并可以把PPT中每页的备注自动转换成配音和字幕。使用pyqt开发,需要用到阿里云的OSS存储和腾讯云的TTS,文字转语音。

您所在的位置:网站首页 怎么用手机把ppt转成视频 PPTToVideo: 将PPT转换成mp4视频文件,并可以把PPT中每页的备注自动转换成配音和字幕。使用pyqt开发,需要用到阿里云的OSS存储和腾讯云的TTS,文字转语音。

PPTToVideo: 将PPT转换成mp4视频文件,并可以把PPT中每页的备注自动转换成配音和字幕。使用pyqt开发,需要用到阿里云的OSS存储和腾讯云的TTS,文字转语音。

2024-07-11 17:46| 来源: 网络整理| 查看: 265

说明

可实现将ppt转为mp4视频,每页ppt的备注会自动转换成语音。 使用pyqt开发,可支持linux mac windows。

安装 pip install moviepy pip install python-pptx pip install requests pip install soundfile brew install imagemagick pip install aliyun-python-sdk-core pip install pco pip install oss2 pip install Pillow pip install PyQt5 brew install imagemagick pip3 install moviepy pip3 install python-pptx pip3 install requests pip3 install soundfile pip3 install aliyun-python-sdk-core pip3 install pco pip3 install oss2 pip3 install Pillow pip3 install PyQt5 TODO 检查ImageMagick有没有安装 https://www.imagemagick.org/script/download.php#windows 打包测试 logo没生效 帮助PPT 下一步 网络检测 打包

pip install d

生成资源文件ptov.spec pyinstaller --onefile -i logo.ico ptov.py

修改资源文件 a.datas += [('bg.png','/Users/baiyuxiong/py/PPTToVideo/bg.png', 'Data')] a.datas += [('logo.ico','/Users/baiyuxiong/py/PPTToVideo/logo.ico', 'Data')] a.datas += [('ali/conf.ini','/Users/baiyuxiong/py/PPTToVideo/ali/conf.ini', 'Data')] a.datas += [('tts/conf.ini','/Users/baiyuxiong/py/PPTToVideo/tts/conf.ini', 'Data')] a.datas += [('template.qss','/Users/baiyuxiong/py/PPTToVideo/template.qss', 'Data')]

a.datas += [('bg.png','/home/uopx/code/ptov/bg.png', 'Data')] a.datas += [('logo.ico','/home/uopx/code/ptov/logo.ico', 'Data')] a.datas += [('ali/conf.ini','/home/uopx/code/ptov/ali/conf.ini', 'Data')] a.datas += [('tts/conf.ini','/home/uopx/code/ptov/tts/conf.ini', 'Data')] a.datas += [('template.qss','/home/uopx/code/ptov/template.qss', 'Data')] a.datas += [('font/chinese.msyh.ttf','/home/uopx/code/ptov/font/chinese.msyh.ttf', 'Data')]

a.datas += [('bg.png','C:\Users\baiyuxiong\code\ptov\bg.png', 'Data')] a.datas += [('logo.ico','C:\Users\baiyuxiong\code\ptov\logo.ico', 'Data')] a.datas += [('ali/conf.ini','C:\Users\baiyuxiong\code\ptov\ali\conf.ini', 'Data')] a.datas += [('tts/conf.ini','C:\Users\baiyuxiong\code\ptov\tts\conf.ini', 'Data')] a.datas += [('template.qss','C:\Users\baiyuxiong\code\ptov\template.qss', 'Data')] a.datas += [('font/chinese.msyh.ttf','C:\Users\baiyuxiong\code\ptov\font\chinese.msyh.ttf', 'Data')]

3.重新生成 pyinstaller ptov.spec

policy.xmk 配置 /etc/ImageMagick-6/policy.xml

https://blog.aaronhktan.com/posts/2018/05/14/pyqt5-pyinstaller-executable pyinstaller --onefile --windowed --icon assets\zahlen_und_code.icn main.py

关于 ImageMagick 路径 默认取环境变量 IMAGEMAGICK_BINARY的值,如果没有,就是自动检测 /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/moviepy/config_defaults.py

#打包dep cp ./dist/ptov ./pkg/usr/bin/ptov dpkg -b pkg ptov.deb

安装deb

dpkg -i mydeb-1.deb

关于修改包

uos和windows 下均需要修改

windows: c:\Users\baiyuxiong\AppData\Local\Programs\Python\Python38\Lib\site-packages\moviepy\video\fx\all_init_.py c:\Users\baiyuxiong\AppData\Local\Programs\Python\Python38\Lib\site-packages\moviepy\audio\fx\all_init_.py

uos: cmoviepy/video/fx/all/init.py /home/uopx/.local/lib/python3.7/site-packages/moviepy/audio/fx/all/init.py

video/fx/all/init.py import pkgutil import moviepy.video.fx as fx #__all__ = [name for _, name, _ in pkgutil.iter_modules( # fx.__path__) if name != "all"] # #for name in __all__: # exec("from ..%s import %s" % (name, name)) from moviepy.video.fx import accel_decel from moviepy.video.fx import blackwhite from moviepy.video.fx import blink from moviepy.video.fx import colorx from moviepy.video.fx import crop from moviepy.video.fx import even_size from moviepy.video.fx import fadein from moviepy.video.fx import fadeout from moviepy.video.fx import freeze from moviepy.video.fx import freeze_region from moviepy.video.fx import gamma_corr from moviepy.video.fx import headblur from moviepy.video.fx import invert_colors from moviepy.video.fx import loop from moviepy.video.fx import lum_contrast from moviepy.video.fx import make_loopable from moviepy.video.fx import margin from moviepy.video.fx import mask_and from moviepy.video.fx import mask_color from moviepy.video.fx import mask_or from moviepy.video.fx import mirror_x from moviepy.video.fx import mirror_y from moviepy.video.fx import painting from moviepy.video.fx import resize from moviepy.video.fx import rotate from moviepy.video.fx import scroll from moviepy.video.fx import speedx from moviepy.video.fx import supersample from moviepy.video.fx import time_mirror from moviepy.video.fx import time_symmetrize audio/fx/all/init.py import pkgutil import moviepy.audio.fx as fx #__all__ = [name for _, name, _ in pkgutil.iter_modules( # fx.__path__) if name != "all"] # #for name in __all__: # exec("from ..%s import %s" % (name, name)) from moviepy.audio.fx import audio_fadein from moviepy.audio.fx import audio_fadeout from moviepy.audio.fx import audio_left_right from moviepy.audio.fx import audio_loop from moviepy.audio.fx import audio_normalize from moviepy.audio.fx import volumex

文件数据来源: 关于moviepy打包报错AttributeError: module audio/video.fx.all has no attribute fadein、crop文章的纠错和抄袭 https://www.cnblogs.com/LaoYuanStudyPython/p/12949108.html

AttributeError: module 'moviepy.video.fx.all' has no attribute 'crop',类似上面的方法,在 python 里执行下面的代码,把执行结果 放在 site-packages/moviepy/video/fx/all/init.py 里 import pkgutil

import moviepy.video.fx as fx

all = [name for _, name, _ in pkgutil.iter_modules( fx.path) if name != "all"]

for name in all: print("from moviepy.video.fx import %s" % (name))

Windows 安装 关于菜单

系统范围的Desktop Entry文件地址统一在 /usr/share/applications,文件以".desktop"为后缀名。用户个人的Desktop Entry 地址为 ~/.local/share/applications。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3