当前位置: 首页 > news >正文

python自动工具起号迅速,批量自动发布各类短视频

自媒体短视频平台之中,时常可见有人发布动画片的相关视频。某些账号坐拥几十万粉丝,其视频数量亦达数千条之多。一年仅存 365 日,即便每日发布一条,一年也仅能发布 365 条。故而,他们定然有着自身独有的发布视频之方法。

一,构思

我能不能也做一个短视频账号,通过使用Python代码批量发布视频呢,说干就干。我申请了一个短视频账号,将名字命名为动漫,然后开始寻找素材关于动画的视频。

二,下载视频素材

下载视频素材,这样有很多种方法,但是现在各种平台都限制了发网址这些,所以也无法分享了,我找了一个网站,截个图吧。将类似这样的视频都下载到硬盘上做备用。所谓巧妇难为无米之炊嘛,没有这些素材,怎么能自动发布呢!

类似这样的网站有很多,如果有需要的话,可以留言666,或者s我分享地址。

三,编写代码处理视频文件

为什么需要处理视频文件呢?

  1. 视频有片头和片尾,浪费时长,所以需要裁掉。
  2. 视频封面需要统一,例如需要加入标题文字,这样更能吸粉。
  3. 最好加入到合集,更方便用户观看。

下面看是编写代码:

# 截取视频片段,指定开始时间和结束时间,将片头和片尾掐掉
def clip_video(input_video_path, output_video_path, start_time, end_time):
    """
    使用 ffmpeg 剪辑指定时间范围的视频
    :param input_video_path: 输入视频路径
    :param output_video_path: 输出视频路径
    :param start_time: 开始时间(HH:MM:SS/MM:SS/秒数)
    :param end_time: 结束时间(格式同上)
    """
    # 统一转换时间格式
    start_sec = parse_time_to_seconds(start_time)
    end_sec = parse_time_to_seconds(end_time)

    # 获取视频真实总时长
    total_duration = get_video_duration(input_video_path)

 
    if start_sec >= total_duration:
        raise ValueError(f"开始时间超出视频总时长(总时长:{total_duration}秒)")

    if end_sec > total_duration:
        end_sec = total_duration  
     
        raise ValueError(f"结束时间超出视频总时长 {total_duration}秒")

    if start_sec >= end_sec:
        raise ValueError("开始时间必须早于结束时间")

    print('开始时间',start_sec,'结束时间',end_sec - start_sec)

    # 构建 ffmpeg 
    command = [
        'ffmpeg',
        '-ss', str(start_sec),
        '-i', input_video_path,
         '-to', str(end_sec - start_sec),  # 转换为持续时间
        '-c:v', 'libx264',
        '-preset', 'fast',
        '-crf', '23',
        '-c:a', 'aac',
        '-avoid_negative_ts', '1',
        output_video_path
    ]

    print("执行命令:", ' '.join(command))
    subprocess.run(command, check=True, encoding='utf-8')

在第一帧加入标题,这样为了使封面更加统一

def add_text_as_first_frame_fast(input_video_path, text, output_video_path):
    """
   在视频的第一帧加入标题,这样就会自动变成封面
    """
    subprocess.run([
        "ffmpeg", "-y",
        "-i", input_video_path,  # 输入视频
        "-vf",
        f"drawtext=fontfile='{font_path}':text={text}:fontcolor=yellow:fontsize=h/8:x=(w-text_w)/2:y=(h-text_h)/2:enable='eq(n\\,0)'",
        # 文本居中,第一帧显示
        "-c:v", "libx264",  # 编码为H.264
        "-crf", "23",  # 控制质量
        "-preset", "fast",  # 编码速度
        "-c:a", "copy",  # 保留音频
        output_video_path
    ], check=True,encoding='utf-8')

如上,黄色文字就是在代码里面加上到第一帧。

然后开始进行发布。

四,发布视频

发布视频需要添加标签和标题。

准备好的标签,可以准备几十个,每天不重复
tags=["#跟我学英语",
    "#快乐学英语",
    "#寒假学英语",
    "#英语小达人",
    "#趣味学英语",
    "#每天一句英语",
    "#玩着学英语",
    "#英语启蒙小课堂",
    "#英语开口说",
    "#英语单词魔法书",
    "#亲子学英语",
    "#少儿英语我最棒",
    "#轻松早教学英语",
    "#宝宝爱英语",
    "#英语儿歌欢乐颂",]
准备好的标题,可以准备几十个,每天不重复
titles = [
        "快乐英语,轻松学习!",
        "坚持学习,成就未来!",
        "英语学习,乐趣无穷!",
        "和我一起,快乐学英语!",
        "小小英语家,梦想启航!",
        "每天进步,英语不怕!",
        "英语学习,快乐每一天!",
        "一起玩英语,轻松乐学!",
        "探索英语世界,发现新乐趣!",
        "坚持就是胜利,英语更精彩!",
       
    ]

publish= {"num": 1, "title": "第一集:启蒙"},
        # {"num": 2, "title": "第二集:玩具"},
        # {"num": 3, "title": "第三集:家人"},
        # {"num": 4, "title": "第四集:动物"},
        # {"num": 5, "title": "第五集:朋友"},
 

最后,我们使用Python的selenium.webdriver自动打开浏览器,就可以一次将5集视频发布了。

还可以同时发布到多个平台。起号非常迅速,接下来给大家看看我发布的内容。

因平台所限,代码并未全部放出,如需起号,还需要进行相关操作,例如确认视频的时间,视频的标题等内容。每个人的创作风格也不一样,有博主发演唱会,有的发歌曲mv,有些发连续剧。代码都是一样,只是资源要求不一样。

关注我,了解更多Python相关知识。

相关文章:

  • C语言数据结构之顺序表
  • 剑指 Offer II 063. 替换单词
  • 计算机视觉算法实战——老虎个体识别(主页有源码)
  • Python中的装饰器(Decorator) 详解
  • 六十天前端强化训练之第十二天之闭包深度解析
  • 【RK3588嵌入式图形编程】-SDL2-SDL_Image使用详解
  • 3D空间曲线批量散点化软件V1.0正式发布,将空间线条导出坐标点,SolidWorks/UG/Catia等三维软件通用
  • 为什么 MySQL InnoDB 的 Repeatable Read 可以阻止幻读?
  • Django工程获取请求参数的几种方式
  • 一遍通俗易懂的新华三交换机文档指南操作手册
  • AI日报 - 2025年3月10日
  • [项目]基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信
  • ArduPilot开源代码之AP_OSD
  • 基于Python的商品销量的数据分析及推荐系统
  • 使用 Docker 部署 GitLab 并持久化数据
  • comctl32!ListView_OnSetItem函数分析LISTSUBITEM结构中的image表示图标位置
  • 简单的 Python 示例,用于生成电影解说视频的第一人称独白解说文案
  • Oracle数据库监听学习
  • NoteGen是一款开源跨平台的 AI 笔记应用,专注于 recording 和 writing ,基于 Tauri 开发
  • Node.js 技术原理分析系列 4—— 使用 Chrome DevTools 分析 Node.js 性能问题
  • 新任国防部新闻发言人蒋斌正式亮相
  • 习近平复信中国丹麦商会负责人
  • 证券时报:中美互降关税落地,订单集中补发港口将迎高峰期
  • 泽连斯基启程前往土耳其
  • 陈吉宁龚正黄莉新胡文容等在警示教育基地参观学习,出席深入贯彻中央八项规定精神学习教育交流会
  • 昆明警方重拳打击经济领域违法犯罪:去年抓获905名嫌犯