我正在尝试渲染一个HTML页面,并在其中使用一个特定的<div>将其转换为视频格式。
解释:
我知道HTML是静态内容,但有必要将其转换为视频格式(这是一项要求)。我需要知道是否有一种方法可以呈现一个页面,并将其导出为视频格式。它可以是直接的HTML MP4转换,也可以捕获呈现的div (而不是记录画布)作为图像,然后将该图像转换为视频格式。
技术栈:
姜戈
Django模板
HTML
Javascript
任何帮助都将不胜感激。
发布于 2021-12-21 20:47:19
下面是一个粗略的步骤:(小心我刚刚从代码中复制了“想法”-删除了我的特定内容,这样可能会出现打印错误或小的不一致。)
import imgkit
from moviepy import editor
# Step 1: render html to PNG
context = { ....}
rendered_html = Render_to_string('path/template.html', context)
# make sure that 'width' is set otherwise it will use a min width that maybe does not fit to your html
options = {'format': 'png', 'width': 670, 'disable-smart-width': ''}
imgkit.from_string(rendered_html,'path/tmp.png',
config=config, options=options)
# Step 2: create video from png and mp3
audio = editor.AudioFileClip('path/audio.mp3')
video = editor.ImageClip('path/tmp.png')
video.fps = 1
video.duration = audio.duration
final_video = video.set_audio(audio)
final_video.write_videofile('path/video.mp4', fps=1)https://stackoverflow.com/questions/70439123
复制相似问题