PPTToVideo: 将PPT转换成mp4视频文件,并可以把PPT中每页的备注自动转换成配音和字幕。使用pyqt开发,需要用到阿里云的OSS存储和腾讯云的TTS,文字转语音。 |
您所在的位置:网站首页 › 怎么用手机把ppt转成视频 › PPTToVideo: 将PPT转换成mp4视频文件,并可以把PPT中每页的备注自动转换成配音和字幕。使用pyqt开发,需要用到阿里云的OSS存储和腾讯云的TTS,文字转语音。 |
说明
可实现将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 安装debdpkg -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 |