Convert markdown presentations files to video
Project description
markdown2video
markdown2video,让你用markdown生成视频和PPT!
以视频为核心,目标是同时生成博客文章。
安装
下载ffmpeg然后放到PATH中。
通过pip安装:
pip install md2video
使用
markdown(视频脚本)
基础语法如下:
- 使用
<!-- mode: slide -->后,后续内容作为PPT的页面渲染。 - 使用
<!-- mode comment -->后,后续内容作为TTS的输入生成语音,解释前一页面。
<!-- mode: slide -->
# PPT的标题
PPT的内容
<!-- mode comment -->
这里是解释本页PPT的内容。会被转为语音配上上面的画面。
-
对复杂的内容展示需求,可以使用下面的方式直接编写reveal.js代码。(基于pandoc的html的拓展)
\```{=html} \```
md2video
命令行工具,通过python -m md2video调用。将markdown视频脚本转换为视频
指定输入的markdown文件后,会创建后缀为.md2video的缓存文件夹。
markdown视频脚本 --(md2slidemd)--> pandoc支持的markdown编写PPT的格式(reveal.js) --(md2image)--> html格式的PPT,每页PPT的图像,以及打印得到pdf格式的PPT。
python -m md2video.md2slidemd
架构
- md2slidemd:基于pandoc filters实现markdown解析,并利用pandoc转换为reveal.js格式的markdown幻灯片。
- md2image:基于playwright的headless浏览器打开页面,截屏转换为图片序列。
- TTS:基于kokoro_onnx项目生成每个幻灯片的语音
- slidemd2video:基于python-ffmpeg,从图片和语音生成视频。
拓展的Markdown语义特性
需求分解:
- 标记为slide的块,在生成文章的时候也正常渲染?即,即使不加修改,作为markdown也可以看。
- 原始的markdown是以文章优先还是slides优先?能否做到原始markdown直接是文章?似乎不太能做到文章和slides兼顾。
- 标识的方式:如果只用起始标识,而不是标识开始和结束,那么整个文章默认会被划分为slides,文字部分必须主动处理为非slides?还是把用于生成图片的部分单独拿出来吧。然后单独去生成文章。
- 其他方便浏览的格式:slides的pdf格式。
TODO
- 模型文件放到appdata,然后缺文件的时候问用户是否立刻下载。
- 通过分句生成语音的方式生成字幕。
- 生成竖屏内容。
- 同时支持中文和英语。
- 集成更多的TTS API,包括edge TTS。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
md2video-0.0.1.tar.gz
(9.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
md2video-0.0.1-py3-none-any.whl
(11.9 kB
view details)
File details
Details for the file md2video-0.0.1.tar.gz.
File metadata
- Download URL: md2video-0.0.1.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cca51767cb53596b4767a0add84cec4825b57f6c30ebbc64208ef6db259b102e
|
|
| MD5 |
de536b9844216b9d453b03944ec32516
|
|
| BLAKE2b-256 |
de45b53427a74d7143b95f9529f3743878c3ece8ef9ee357a00929d00a6bb71e
|
File details
Details for the file md2video-0.0.1-py3-none-any.whl.
File metadata
- Download URL: md2video-0.0.1-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76b6ddeadecddc9bd1e84df349df17f455e257c31d472deefa8af046b0b3df9e
|
|
| MD5 |
9f9351f7ed3dd846f5f51f43a18761b7
|
|
| BLAKE2b-256 |
3059afd243b92d82a8b1fa203f49db8209141ed1dd4322f900683a60e24e3c92
|