IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 一句话生成视频(python) -> 正文阅读

[Python知识库]一句话生成视频(python)

一句话生成视频(python)

最近想运营个抖音号, 但是制作视频是个很麻烦的事情.
所以就想到运营个名言警句和新闻的抖音号.

  • 因为名言警句和新闻是可以爬的, 这样自动生成视频.

在这里插入图片描述
csdn发不了视频, 大概就是这样的,
1.文字自动生成图片居中,
2.自动把文字读出来生成语音,
3.把图片和文字合成mp4文件;

下面是抖音号, 可以点开url看下视频效果:

url
7.66 jCH:/ 取得成就时坚持不懈,要比遭到失败时顽强不屈更重要。——拉罗什夫科 https://v.douyin.com/FyND8co/ 复制此链接,打开Dou音搜索,直接观看视频!

1.生成图片, 文字居中

sum_width = 1125
sum_height = 2436

def create_pic(number, text):
    text = handle_text(text)
    if len(text) > 0:
        im = Image.new('RGB', (sum_width, sum_height), (255, 255, 255))
        font = ImageFont.truetype(os.path.join("fonts", "msyh.ttf"), 150)
        dr = ImageDraw.Draw(im)
        w, h = dr.textsize(text, font)
        dr.text(((sum_width - w) / 2, (sum_height - h) / 2), text, font=font, fill='#000000')
        # im.show()
        im.save('pic/' + number + '.png')

def handle_text(text):
    try:
        result = ''
        array = cut(text, 6)
        for v in array:
            result = result + v + '\n'
        array = result.split('。')
        result = array[0] + '。\n' + array[1]
        return result
    except:
        return ''

def cut(obj, sec):
    return [obj[i:i+sec] for i in range(0,len(obj),sec)]

2.文字生成语音

使用最niubi最像人的ai合成语音库(azure TTS API)
github

def create_audio(number, text):
    cmd = 'python3 -m aspeak -t "{}" -l zh-CN -o audios/{}.mp3 --mp3'.format(text, number)
    os.system(cmd)

3.图片+语音合成视频

import cv2
from moviepy.editor import VideoFileClip, AudioFileClip
from mutagen.mp3 import MP3

def create_video(number):
    pic_path = ('pic/' + number + '.png')
    audio_path = ('audios/' + number + '.mp3')
    video_path = ('videos/' + number + '.mp4')
    pic_frame = cv2.imread(pic_path)

    img_size = (sum_width, sum_height)
    fourcc = cv2.VideoWriter_fourcc(*'mp4v')
    videoWriter = cv2.VideoWriter(video_path, fourcc, 1, img_size)
    audio_time_count = get_audio_time_count(number)
    print('audio time: ', audio_time_count)
    for i in range(audio_time_count):
        videoWriter.write(pic_frame)
    videoWriter.release()

    video = VideoFileClip(video_path)
    video_clip = video.set_audio(AudioFileClip(audio_path))
    video_clip.write_videofile(video_path)

def get_audio_time_count(number):
    audio = MP3('audios/' + number + '.mp3')
    time_count = int(audio.info.length)
    return time_count

在这里插入图片描述
想法是美好的, 实际上上传了十多个视频等了2天并没有带来太多观看😅

下次尝试下其他的视频类型. (比如其他知识类的视频)

如果有流量后期把app自动上传也做了, 没流量就不白费功夫了.

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 09:54:14  更:2022-05-14 09:54:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:33:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码