百万点赞怎么来?Python批量制作抖音的卡点视频原来这么简单!

GaussDB本地安装手册(主备模式) 如果实例状态是Normal,则安装成功。三节点集中式配置文件。 阅读详情

1

目 标 场 景

玩抖音的朋友都应该知道,最近「 卡点视频 」简直不要太火。抖音上很多大神也出了剪辑各种卡点视频的教程。

实际上,利用很多手机 APP 或者 PR、FCPX 软件也可以制作卡点视频,但是剪辑效率都太慢。如果想实现一篮子剪辑素材,通过运行一段代码,得到一个卡点视频,这种感觉不要太爽。

本篇文章的目的是利用 Python 从一篮子素材中快速地剪辑卡点小视频这一操作。

2

 

Python资源共享群:484031800

准 备 工 作

首先,对视频的剪辑需要用到「 opencv 」库,通过 pip3 安装到虚拟环境中。

# opencv 用于剪辑视频
pip3 install opencv-python

然而,通过 opencv 剪辑的视频只有画面,没有背景音乐。

我们需要借助「 ffmpeg 」,将抖音下载好的某个卡点视频利用 ffmpeg 命令分离出音频文件,然后合并到上面剪辑的视频当中。Python学习q-u-n七八四,七五八,二一四教程视频,工具,各类实战操作分享

# 分离BGM、合并视频和BGM
pip3 install ffmpeg

3

编 写 脚 本

我们以抖音上的某个卡点音乐为例,这段背景音乐的节奏需要一个 2s 的视频,然后其他都是静态图片,每个图片显示 0.5s。

 

 

 

 

下面通过 5 个步骤完成卡点视频的剪辑,分别是:剪辑开始视频、合并静态图片视频、合并上面两段视频、给视频加入水印、加入背景音乐。

第一步,我们需要从视频素材文件中剪辑一段 2s 的片段。

通过 cv2 库为视频文件构建一个「 VideoCapture 」对象,然后获取到视频的帧率和视频的分辨率。

# 视频源
videoCapture = cv2.VideoCapture(soure_filename)
# 获取视频的帧率
fps = videoCapture.get(cv2.CAP_PROP_FPS)
# 获取视频的分辨率
img_size = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
                int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))

然后,利用上面的帧率、分辨率构建一个写入对象,即:「 VideoWriter 」。

# 构建一个视频写入对象
video_writer = cv2.VideoWriter(output_filename, cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'), fps, img_size)

最后,通过传入要开始剪辑的起始点和要剪的长度,然后循环读取视频帧,如果满足条件,就写入到目标视频文件中。

写入视频帧完成之后,需要手动释放对象资源。

# 开始帧和结束帧
start_frame = fps * start_time
end_frame = start_frame + peroid * fps
# 循环读取视频帧,只写入开始帧和结束帧之间的帧数据
while True:
      success, frame = videoCapture.read()  
      if success:
            i += 1
            if start_frame <= i <= end_frame:
                # 将截取到的画面写入“新视频”
                video_writer.write(frame)
      else:
            break
# 释放资源
videoCapture.release()

第二步,需要把所有的静态文件都合成一段视频。

ps:为了保证每一张****静态图片都显示 0.5s,并且静态图片生成的视频与第一段视频使用同一帧率,因此我们应该针对每一张图片写入多次,即多帧数据。****每张图片写入的总次数为上段视频的帧率的 1/2。

和剪辑视频类似,静态图片合成视频也需要先构建一个写入对象 VideoWriter,然后通过向上取整获取要写入的总帧数。

# 视频格式:MP4
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
# 构建写入对象
video = cv2.VideoWriter(output_video_path, fourcc, fps, img_size)
# 每一张图片要写入的帧数目
total_count = math.ceil(fps / 2)

另外需要注意的是, 为了保证图片合成的视频能与第一段视频顺利剪辑在一起,这里需要对图片的分辨率进行缩放,没有像素的位置填充为黑色。

def resize_image(target_image_path, target_size):
    """
    调整图片大小,缺失的部分用黑色填充
    :param target_image_path: 图片路径
    :param target_size: 分辨率大小
    :return:
    """
    image = Image.open(target_image_path)
    iw, ih = image.size  # 原始图像的尺寸
    w, h = target_size  # 目标图像的尺寸
    scale = min(w / iw, h / ih)  # 转换的最小比例
    # 保证长或宽,至少一个符合目标图像的尺寸
    nw = int(iw * scale)
    nh = int(ih * scale)
    image = image.resize((nw, nh), Image.BICUBIC)  # 缩小图像
    # image.show()
    new_image = Image.new('RGB', target_size, (0, 0, 0, 0))  # 生成黑色图像
    # 将图像填充为中间图像,两侧为灰色的样式    
    new_image.paste(image, ((w - nw) // 2, (h - nh) // 2))  
    # 覆盖原图片
    new_image.save(target_image_path)

图片分辨率处理完成之后,最后就可以读取指定文件夹下的图片,按照上面获取的次数把静态图片写入到视频文件中。

# 使用opencv读取图像
frame = cv2.imread(image_path)
# 直接缩放到指定大小
frame_suitable = cv2.resize(frame, (img_size[0], img_size[1]), interpolation=cv2.INTER_CUBIC)
# 把图片写进视频
# 重复写入多少次
count = 0
while count < total_count:
       video.write(frame_suitable)
       count += 1

以上两步已经完成了两段单独视频的剪辑,第三步是「 合成 」上面的两段视频。

由于两段视频的帧率、分辨率都一致,这里不需要做其他多余的处理,只需要遍历两段视频文件,循环读取每一帧,然后写入到新的视频文件中。

第四步,需要对视频添加「 水印 」操作。

添加水印也很方便,利用 cv2 中的函数 putText,指定水印的起始坐标、字体样式、字体大小和颜色,然后循环每一帧,写入到视频就可以实现。

ret, frame = cap.read()
while ret:
     # 文字在图中的坐标(注意:这里的坐标原点是图片左上角)
     x, y = img_size[0] - 200, img_size[1] - 50
     # 写入水印文字,文字颜色为白色
     cv2.putText(img=frame, text=mask_word,
                    org=(x, y), fontFace=cv2.FONT_HERSHEY_COMPLEX_SMALL,
                    fontScale=1, color=(255, 255, 255))
     video_writer.write(frame)
     ret, frame = cap.read()
# 删除源文件,并重命名临时文件
os.remove(video_path)
os.rename(video_temp_path, video_path)
print('水印添加完成~')
video_writer.release()
cap.release()

最后一步就是合成视频和背景音乐,重新生成一段视频文件。

利用视频的帧率与总帧数得到视频的总时长, 然后利用 ffmpeg 命令对背景音乐做一次裁剪操作,使得视频的长度与背景音乐的时间长度一致。

#获取视频的长度
cap = cv2.VideoCapture(video_path)
#帧率
fps = cap.get(cv2.CAP_PROP_FPS)
#总帧数
frame_count = cap.get(cv2.CAP_PROP_FRAME_COUNT)
#视频总时长-秒,这里做取整操作 【浮点类型】
time_count = math.floor(frame_count / fps)
print('帧率:%f,总帧数:%d' % (fps, frame_count))
print(time_count)
# 3.截取音频
# 为了简单,这里一般不会超过一分钟
bgm_temp_path = get_temp_path(bgm_path, 'temp_new')
os.system('ffmpeg -i %s -ss 00:00:00 -t 00:00:%d -acodec copy %s' % (bgm_path, time_count, bgm_temp_path))

接着使用 ffmpeg 命令,合并视频文件和音频文件,就可以生成一个我们需要的卡点视频。Python学习q-u-n七八四,七五八,二一四教程视频,工具,各类实战操作分享

#视频、音频合二为一
# 临时文件
video_temp_path = get_temp_path(video_path, 'temp')
os.system('ffmpeg -i %s  -i %s  -vcodec copy -acodec copy %s' % (video_path, bgm_path, video_temp_path))
# 删除源文件,重命令临时文件
os.remove(video_path)
os.rename(video_temp_path, video_path)

4

结 果 结 论

运行程序后,视频、图片、背景音乐会自动进行剪辑、合成,最后加上水印,在本地生成一个卡点视频。

Python量化- Black-Litterman 模型 ​​​​​​​Black-Litterman 模型由 Fischer Black 和 Robert Litterman 于 1992 年开发,采用贝叶斯方法进行资产配置。该模型通过结合先前的回报估计(可以从多个来源得出)并结合投资者对未来回报的独特预期来优化分配权重。 阅读详情

相关推荐

用 n8n 提取静态网页内容:从 HTTP Request 到 HTML 节点全解析

本文介绍了如何使用n8n的HTTP Request和HTML节点组合提取静态网页内容。首先通过HTTP Request节点获取网页HTML源码,然后使用HTML节点解析并提取所需数据。关键点包括:1)HTTP Request节点设置URL和GET方法;2)HTML节点配置Source Data为JSON并指定data字段;3)重点掌握Extraction Values参数,特别是CSS选择器(使用.和#定位元素)、Key命名、Return Value类型选择等。文章通过实例演示了标题和正文的提取方法,并提供

muyouking 4571

当我用Python写了个抖音自动点赞脚本,直接接单赚到手软!

① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解⑦ 超300本Python电子好书,从入门到高阶应有尽有⑧ 华为出品独家Python漫画教程,手机也能学习。

2301_82275412的博客 3340

产品经理如何运用AI提升工作效率

AI技术的应用为产品经理的工作流程带来了显著的效率提升。从需求收集到产品上线,AI可以在多个阶段提供智能化支持,帮助产品经理更好地理解用户需求、优化产品设计、提高开发和测试效率。在未来,随着AI技术的不断发展,产品经理将能够更加高效地管理产品生命周期,为用户提供更优质的产品体验。应用 | AI + 千行百业欢迎关注我的后续博文,我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。

不想宅的冷同学 1340

如何利用Python开发一款快手加抖音自动刷视频脚本!

其实这个代码我这边已经整合好了,已有易语言版!!! 下面分享的仅仅只是“python”代码先看下易语言版的界面: “python”代码 import os import time b = 0 def video(): fun=os.system('adb shell input swipe 300 600 300 100') ##坐标据悉特需自己修定 time.sleep(3) if __name__ == '__main__': os.chdir("G:\\Python.

爬遍所有网站 3705

STM32CubeIDE串口打印浮点数踩坑实录:5分钟搞定printf输出小数(附完整配置截图)

本文针对STM32CubeIDE中串口无法打印浮点数的常见问题,提供了详细的解决方案。核心在于通过添加“-u _printf_float”链接器参数,启用标准库的浮点数格式化支持。文章附有完整的配置截图和步骤,并提供了系统性的排查清单,帮助开发者快速解决printf输出小数的问题。

weixin_29163797的博客 344

卸载重装Ubuntu22.04双系统

先说一下写此篇文章的背景吧,我在Windows下配置了三个cornerNet深度学习环境分别是cuda10.3(显卡版本太高不支持),cuda11.3(配置后偶然看到一篇说这个版本win下只能用CPU跑),最后是cuda11.1终究还是没能跑通代码,因为它的代码是在Liunx系统写的,就想着装个Ubuntu试试看,在网上看说一般软件不要装太高版本,我就下载了470版的显卡驱动,跟着步骤升级了系统内核,结果第二天开机Ubuntu就崩了,开机黑屏左上角只有一道横杠显示,只能按ctrl+shift+f5进入命令窗

编程小白的博客 8118

抖音自动评论点赞脚本(win11+python)

移动应用测试学习

小月肖的博客 9067

2026软考中级-软件设计师笔记(送最新视频教程)

核心口诀:运控存输输(运算器、控制器、存储器、输入、输出)例题(2019年上半年):核心公式:数字签名流程:数字证书作用:死锁4个必要条件:死锁判断公式:处理策略:程序设计语言的四大核心成分:顺序表操作(时间复杂度):链表操作(时间复杂度):核心思想:频率高的字符用短编码,频率低的用长编码 → 最小化总编码长度构造步骤(贪心算法):前提:有序表(升序/降序) 步骤:时间复杂度:O(log₂n) 例:查找中核心思想:用哈希函数将关键字映射到存储位置 哈希冲突:不同关键字映射到同一位置 → 用链地址法或开放定址

36万+

如何实现python对抖音视频取消点赞?

import pyautogui import time import webbrowser import random import pyperclip import os #有时间打开程序 time.sleep(5) #2双击点赞 pyautogui.doubleClick(x=1109, y=509, button="left") # 鼠标在(100,150)位置左击两下 #进入循环 rp=1 for rp in range(7): time.sleep(3) pyautogui..

2643

Windows VHD的新玩法——设置任意挂载点

vhd 挂载隐藏的虚拟分区 详细过程 分别使用CreateVirtualDisk和OpenVirtalDisk来创建和打开虚拟磁盘文件。 使用AttachVirtualDisk,必须具有管理员权限才能成功执行此步骤。 初始化设备(延时Sleep),获取附加 VHD 的 UNC 路径:\\.\PhysicalDrive# 。 使用FindFirstVolume/FindNextVolume枚举已安装的卷以查找虚拟磁盘上的卷。 使用SetVolumeMountPoint将卷挂载到文件夹或者设

圣三一 2589

Python爬虫实战:实时监控美国SEC官网文件更新,助你第一时间掌握市场动态

在资本市场中,信息就是财富。美国证券交易委员会(SEC)官网公开了大量公司披露文件,涵盖财报、招股说明书、内幕交易等重要信息。对投资者、分析师及法律合规人员来说,实时监控这些公开文件具有重要价值。

2201_76125261的博客 595

python批量生成视频_百万点赞怎么来?Python批量制作抖音的卡点视频原来这么简单!...

1目 标 场 景玩抖音的朋友都应该知道,最近「卡点视频」简直不要太火。抖音上很多大神也出了剪辑各种卡点视频的教程。实际上,利用很多手机 APP 或者 PR、FCPX 软件也可以制作卡点视频,但是剪辑效率都太慢。如果想实现一篮子剪辑素材,通过运行一段代码,得到一个卡点视频,这种感觉不要太爽。本篇文章的目的是利用 Python 从一篮子素材中快速地剪辑卡点小视频这一操作。2准 备 工 作首先,对视频的...

weixin_39551366的博客 820

【2026年华为暑期实习(AI)-4月29日-第一题- 选择题】(题目+思路+Java&C++&Python解析+在线测试)

本文摘要涵盖了机器学习和深度学习中的多个核心概念与技术,包括非负矩阵分解、条件数、MobileNet创新点、LDA降维、大模型评测指标、半精度训练、多任务学习、GPU存储层次、正则化、张量并行等。通过12道单选题和8道多选题的形式,系统性地考察了相关理论原理、应用场景及工程实践要点。题目设计注重概念准确性(如LDA目标函数)、技术细节(如Megatron-LM的并行策略)与实际应用(如FP16训练动机),并包含概率统计(二项分布)和数值计算(微分误差分析)等数学基础内容,全面检验读者对AI领域关键知识的掌握

m0_73659489的博客 143

python抖音涨粉代码_百万点赞怎么来?Python批量制作抖音的卡点视频原来这么简单!...

1目 标 场 景玩抖音的朋友都应该知道,最近「卡点视频」简直不要太火。抖音上很多大神也出了剪辑各种卡点视频的教程。实际上,利用很多手机 APP 或者 PR、FCPX 软件也可以制作卡点视频,但是剪辑效率都太慢。如果想实现一篮子剪辑素材,通过运行一段代码,得到一个卡点视频,这种感觉不要太爽。本篇文章的目的是利用 Python 从一篮子素材中快速地剪辑卡点小视频这一操作。2准 备 工 作首先,对视频的...

weixin_39942474的博客 1768

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python 读取音频时长_抖音怎么卡点?Python批量制作百万点赞的卡点视频原来这么简单!...

这是恋习Python推荐的第132篇好文来源:Airpython作者:星安果1目 标 场 景玩抖音的朋友都应该知道,最近「卡点视频」简直不要太火。抖音上很多大神也出了剪辑各种卡点视频的教程。实际上,利用很多手机 APP 或者 PR、FCPX 软件也可以制作卡点视频,但是剪辑效率都太慢。如果想实现一篮子剪辑素材,通过运行一段代码,得到一个卡点视频,这种感觉不要太爽。本篇文章的目的是利用 P...

weixin_35732273的博客 904

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

js截取视频第一帧_抖音怎么卡点?Python批量制作百万点赞的卡点视频原来这么简单!...

这是恋习Python推荐的第132篇好文来源:Airpython作者:星安果1目 标 场 景玩抖音的朋友都应该知道,最近「卡点视频」简直不要太火。抖音上很多大神也出了剪辑各种卡点视频的教程。实际上,利用很多手机 APP 或者 PR、FCPX 软件也可以制作卡点视频,但是剪辑效率都太慢。如果想实现一篮子剪辑素材,通过运行一段代码,得到一个卡点视频,这种感觉不要太爽。本篇文章的目的是利用 P...

weixin_36403838的博客 762

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

图片超分辨率python_百万点赞怎么来?Python批量制作抖音的卡点视频原来这么简单!...

1目 标 场 景玩抖音的朋友都应该知道,最近「 卡点视频 」简直不要太火。抖音上很多大神也出了剪辑各种卡点视频的教程。实际上,利用很多手机 APP 或者 PR、FCPX 软件也可以制作卡点视频,但是剪辑效率都太慢。如果想实现一篮子剪辑素材,通过运行一段代码,得到一个卡点视频,这种感觉不要太爽。本篇文章的目的是利用 Python 从一篮子素材中快速地剪辑卡点小视频这一操作。2Python资源共享群:...

weixin_39527078的博客 311

js截取视频第一帧_百万点赞怎么来?Python批量制作抖音的卡点视频原来这么简单!...

1目 标 场 景玩抖音的朋友都应该知道,最近「 卡点视频 」简直不要太火。抖音上很多大神也出了剪辑各种卡点视频的教程。实际上,利用很多手机 APP 或者 PR、FCPX 软件也可以制作卡点视频,但是剪辑效率都太慢。如果想实现一篮子剪辑素材,通过运行一段代码,得到一个卡点视频,这种感觉不要太爽。本篇文章的目的是利用 Python 从一篮子素材中快速地剪辑卡点小视频这一操作。2Python资源共享群:...

weixin_42421331的博客 245

百万点赞怎么来?用Python制作抖音视频原来这么简单

百万点赞怎么来?用Python制作抖音视频原来这么简单

隔壁王叔的博客 1970

抖音无水印视频批量下载终极教程!2025最新版(附完整代码)

你是否需要批量下载抖音博主的高清无水印视频?手动保存效率低?第三方工具要收费?本教程将用Python实现全自动抖音视频爬虫,支持主页/直播/合集/原声等7种链接类型,真正实现去水印批量下载!文末提供完整代码和常见问题解决方案,新手也能轻松上手!本教程通过逆向抖音核心接口,实现了全场景视频下载功能。代码经过百万级数据测试,稳定性极强。郑重声明:技术需向善!请严格遵守《网络安全法》及抖音平台规则。👉 完整代码获取© 版权声明:本文由[鹿邑网爬]原创,转载请注明出处。场景视频下载功能。

weixin_65277233的博客 1万+

抖音上免费涨粉的方法,制作出一个爆款视频!

要说抖音上免费涨粉的方法,莫过于制作出一个爆款视频了。 2018年, 抖音怎么免费涨粉最值得拿来一说的案例就是“成都小甜甜”,一夜暴涨500万粉丝,而且都是免费的。这是微博、微信等其他营销平台与抖音完全不能比拟之处。 抖音账号“成都最街访”发布了一段14秒的街访视频,内容很简单,手持“成都最街坊”的外景主持与一位长发小姐姐进行了下面这段对话。 关于抖音怎么免费涨粉,经过实操目前,只要制作出一个能...

weixin260252062的博客 2204

百万点赞怎么来?用 Python 制作抖音视频原来这么简单

关于视频的文章之前也讲几篇,那么今天我就和大家来分享一下Python同样也可以用来制作视频,也就是调用moviepy的模块。

Python数据挖掘 1038

百万点赞怎么来?用Python制作抖音视频原来这么简单!

那么在上一篇教程当中,我们讲了Python在图片处理当中的应用,通过调用当中的opencv的模块,那么今天小编就和大家来分享一下Python同样也可以用来制作视频,也就是调用moviepy的模块。关于Moviepy模块Moviepy是一个用于视频剪辑的Python模块,可被用来进行一些基本的视频剪辑操作,例如视频的拼接、音频视频的合成、添加一些基本的转场等操作,它可以对大...

weixin_43373042的博客 750
上一篇: 5分钟带你用Python爬完《剑来》小说(附完整代码)!
下一篇: Python爬虫登陆问题!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值