一句话生成视频(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自动上传也做了, 没流量就不白费功夫了.

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
第1篇 Java编程基础   第1章 Java开发环境的搭建(教学视频:9分钟) 2   1.1 理解Java 2   1.2 搭建Java所需环境 3   1.2.1 下载JDK 3   1.2.2 安装JDK 4   1.2.3 配置环境 5   1.2.4 测试JDK配置是否成功 7   实例1 开发第一个Java程序 7   第2章 Java基础类型与运算符(教学视频:39分钟) 9   2.1 基础类型 9   实例2 自动提升 9   实例3 自动转换 10   实例4 常用基础类型之强制转换 11   2.2 运算符 12   实例5 算术运算符 12   实例6 关系运算符 13   实例7 逻辑运算符 14   实例8 位运算符 15   实例9 移位运算符 16   实例10 转型运算符 17   2.3 其他形式 18   实例11 常量与变量 18   实例12 各种进制的转换 19   实例13 Java中的进制与移位运算符 22   第3章 条件控制语句(教学视频:75分钟) 26   3.1 if控制语句 26   实例14 判断输入的年份是否为闰年 26   实例15 抽奖活动 27   3.2 for语句 28   实例16 小九九乘法表 28   实例17 如何列出素数 29   实例18 Java中的递归 31   实例19 男生女生各多少人 32   实例20 求水仙花数 34   实例21 求任意一个正数的阶乘 35   实例22 求n的n次方 35   实例23 利用for循环输出几何图形 36   实例24 杨辉三角 38   3.3 while语句 39   实例25 求1到100之间的和 39   实例26 存上100元需要多少天 40   实例27 输出100之间的所有偶数 41   实例28 如何判断回文数字 42   3.4 do…while语句 43   实例29 输出100之间的所有奇数 44   实例30 求最大的随机数 44   3.5 switch语句 45   实例31 判断字母分类 46   实例32 优良及差 47   实例33 打印任意一年日历 48   实例34 一年四季的划分 51   第2篇 Java数据处理   第4章 异常处理(教学视频:62分钟) 54   4.1 编译时异常 54   实例35 除0发生的算术异常(ArithmeticException) 54   实例36 数组下标越界异常(ArrayIndexOutOfBoundsException) 55   实例37 数组元素类型不匹配异常(ArrayStoreException) 56   实例38 强制类型转换异常(ClassCastException) 56   实例39 索引越界异常(IndexOutOfBoundsException) 57   实例40 空指针异常(NullPointerException) 58   实例41 数字格式转换异常(NumberFornatException) 59   实例42 字符串索引越界异常(StringIndexOutBounds) 60   实例43 操作错误(UnsupportedOperationException) 60   4.2 运行时异常 61   实例44 找不到指定类时发生的异常(ClassNotFoundException) 62   实例45 请求的方法不存在(NoSuchMethodException) 63   4.3 try…catch捕获异常 65   实例46 try…catch捕获异常的实例 66   实例47 try…catch…finally捕获异常的实例 67   实例48 try…catch嵌套捕获异常的实例 68   4.4 throws声明异常 69   实例49 throws声明异常实例一 69   实例50 throws声明异常实例二 70   4.5 throw抛出异常 72   实例51 throw抛出异常实例一 72   实例52 throw抛出异常实例二 73   4.6 自定义异常 74   实例53 自定义异常实例一 74   实例54 自定义异常实例二 75   第5章 数组(教学视频:98分钟) 78   5.1 一维数组 78   实例55 一
### 回答1: PaddleOCR 是一个开源的OCR(Optical Character Recognition)工具,具有强大的文本识别能力。若要在生成环境中直接使用PaddleOCR,可以按照以下步骤进行: 1. 安装环境依赖:确保生成环境中已安装Python 3.7+版本及其对应的pip包管理器。 2. 安装PaddlePaddle和PaddleOCR:执行以下命令来安装PaddleOCR和其依赖的PaddlePaddle库: ``` pip install paddlepaddle pip install paddleocr ``` 3. 下载预训练模型:从PaddleOCR的GitHub页面下载所需的预训练模型。有多种模型可供选择,如中英文预测模型、纯英文预测模型等。选择适合你需求的预训练模型并下载。 4. 加载模型并使用:根据你的需求,可以选择使用提供的Python脚本示例或根据自己的业务逻辑编写代码。以下是一个简单的基于PaddleOCR的文字识别示例代码: ```python import paddleocr ocr = paddleocr.OCR() # 加载预训练模型 ocr.load_model("path/to/pretrained/model") # 识别图像中的文字 result = ocr.ocr("path/to/image", use_gpu=False) # 输出识别结果 for line in result: print(''.join([word_info[1] for word_info in line])) ``` 以上示例代码演示了加载预训练模型并使用该模型对指定图片中的文字进行识别并输出结果。 通过按照以上步骤进行配置和代码编写,即可在生成环境中直接使用PaddleOCR进行文字识别。注意,根据你的实际需求可能需要进行一些额外的配置和优化,例如调整batch size、优化模型参数等,以达到更好的性能和效果。 ### 回答2: PaddleOCR是一个基于飞桨深度学习框架的开源OCR(光学字符识别)工具库,它提供了多种文本识别模型,可以应用于自然场景下的文字识别任务。关于在生成环境中直接使用PaddleOCR,以下是一些回答: 首先,PaddleOCR提供了预训练好的模型,包括中英文、通用和竖排文字等不同类型,使用这些预训练模型可以直接进行文本识别,不需要额外的训练过程。这使得在生成环境中使用PaddleOCR更加方便,减少了训练的工作量和时间。 其次,PaddleOCR支持多种输入方式,包括图片文件、视频文件、摄像头流等多种方式。对于生成环境中的不同应用场景,可以选择适合的输入方式进行文字识别。 此外,PaddleOCR还提供了易于使用的API接口和示例代码,可以轻松地将PaddleOCR集成到生成环境中的其他系统中。无论是在Web应用、移动应用还是嵌入式设备中,可以通过调用PaddleOCR的API实现文本识别的功能。 最后,PaddleOCR还支持多种输出格式,包括文本框坐标、识别结果、可视化效果等。这使得在生成环境中可以根据实际需求进行结果展示和后续处理,提高了识别结果的可用性和适应性。 总之,PaddleOCR在生成环境中是一个方便、易用且功能丰富的OCR工具库。无论是对于初学者还是专业开发者,在生成环境中直接使用PaddleOCR都能够快速实现高效准确的文本识别。 ### 回答3: PaddleOCR是一款开源的OCR(Optical Character Recognition,光学字符识别)工具,可以识别图片中的文字并进行提取和识别。它在生成环境中可以直接用于各种OCR应用的开发和部署。 首先,PaddleOCR提供了丰富的预训练模型,覆盖了多种场景和语种的文字识别需求。可以根据具体的应用场景选择合适的模型进行使用,无需从头训练模型。这些预训练模型在大规模数据集上进行了训练,具有较高的准确性和稳定性。 其次,PaddleOCR提供了简洁易用的API接口,支持多种编程语言,方便开发人员进行快速集成和部署。只需几行代码就能实现文字识别功能,可以快速将PaddleOCR应用到生成环境中。 此外,PaddleOCR具备高度的可扩展性和灵活性。可以根据实际应用需求对模型进行优化和调整,提供更好的识别效果。同时,PaddleOCR提供了多种调优选项,可以根据不同的硬件条件进行优化,提升系统的性能和效率。 最后,PaddleOCR支持多种输出格式,包括文本、框选文字、文本行等,可以根据实际需要进行选择和定制。对于不同的应用场景,可以提取所需的文字信息,满足不同的业务需求。 综上所述,PaddleOCR适用于生成环境中的OCR应用开发和部署,具有丰富的模型选择、简洁易用的API接口、高度的可扩展性和灵活性,以及多种输出格式的支持。使用PaddleOCR可以帮助开发人员快速构建高效准确的OCR应用,提高工作效率和数据处理能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值