您的位置:

python视频叠加的简单介绍

本文目录一览:

ffmpeg-python中文文档(三)——API参考

表示上游节点的传出边缘;可以用来创建更多的下游节点。

输入文件 URL (ffmpeg -i option)

在一个 ffmpeg 命令行中包含所有给定的输出

输出文件地址

不询问就覆盖输出文件(ffmpeg -y 选项)

在指定文件上运行 ffprobe 并返回输出的 JSON 表示。

构建用于调用 ffmpeg 的命令行。

构建要传递给 ffmpeg 的命令行参数。

为提供的节点图调用 ffmpeg 。

参数

为提供的节点图异步调用 ffmpeg。

参数

例子

运行和流式输入:

运行并捕获输出:

使用 numpy 逐帧处理视频:

通过重新混合颜色通道来调整视频输入帧。

连接音频和视频流,将它们一个接一个地连接在一起。

筛选器适用于同步视频和音频流的片段。所有段必须具有每种类型的相同数量的流,这也是输出时的流数。

参数

裁剪输入视频。

参数

在输入图像上绘制一个彩色框。

参数

使用 libfreetype 库从视频顶部的指定文件中绘制文本字符串或文本。

要启用此过滤器的编译,您需要使用 --enable-libfreetype . 要启用默认字体回退和字体选项,您需要使用 --enable-libfontconfig . 要启用 text_shaping 选项,您需要使用 --enable-libfribidi

参数

· box - 用于使用背景颜色在文本周围绘制一个框。该值必须是 1(启用)或 0(禁用)。框的默认值为 0。

· boxborderw – 使用 boxcolor 设置要在框周围绘制的边框宽度。boxborderw 的默认值为 0。

· boxcolor - 用于在文本周围绘制框的颜色。有关此选项的语法,请查看 ffmpeg-utils 手册中的“颜色”部分。 boxcolor 的默认值为“white”。

· line_spacing – 使用 box 设置要在框周围绘制的边框的行间距(以像素为单位)。line_spacing 的默认值为 0。

· borderw – 使用边框颜色设置要在文本周围绘制的边框宽度。边框的默认值为 0。

· bordercolor – 设置用于在文本周围绘制边框的颜色。有关此选项的语法,请查看 ffmpeg-utils 手册中的“颜色”部分。边框颜色的默认值为“黑色”。

· 扩展- 选择文本的扩展方式。可以是 none、strftime(已弃用)或 normal(默认)。有关详细信息,请参阅下面的文本扩展部分。

· basetime – 设置计数的开始时间。值以微秒为单位。仅适用于已弃用的 strftime 扩展模式。要在正常扩展模式下进行模拟,请使用 pts 函数,提供开始时间(以秒为单位)作为第二个参数。

· fix_bounds - 如果为 true,检查并修复文本坐标以避免剪切。

· fontcolor - 用于绘制字体的颜色。有关此选项的语法,请查看 ffmpeg-utils 手册中的“颜色”部分。fontcolor 的默认值为“黑色”。

· fontcolor_expr – 与文本相同的扩展字符串以获得动态字体颜色值。默认情况下,此选项具有空值并且不被处理。设置此选项时,它会覆盖 fontcolor 选项。

· font - 用于绘制文本的字体系列。默认情况下无。

· fontfile – 用于绘制文本的字体文件。必须包含路径。如果禁用了 fontconfig 支持,则此参数是必需的。

· alpha – 绘制应用 alpha 混合的文本。该值可以是介于 0.0 和 1.0 之间的数字。该表达式也接受相同的变量 x、y。默认值为 1。请参阅 fontcolor_expr。

· fontsize – 用于绘制文本的字体大小。字体大小的默认值为 16。

· text_shaping – 如果设置为 1,则在绘制文本之前尝试对文本进行整形(例如,反转从右到左文本的顺序并加入阿拉伯字符)。否则,只需按照给定的方式绘制文本。默认为 1(如果支持)。

· ft_load_flags –用于加载字体的标志。这些标志映射了 libfreetype 支持的相应标志,并且是以下值的组合:

默认值为“默认”。有关更多信息,请参阅 FT_LOAD_* libfreetype 标志的文档。

· shadowcolor – 用于在已绘制文本后面绘制阴影的颜色。有关此选项的语法,请查看 ffmpeg-utils 手册中的“颜色”部分。shadowcolor 的默认值为“黑色”。

· shadowx – 文本阴影位置相对于文本位置的 x 偏移量。它可以是正值或负值。默认值为“0”。

· shadowy – 文本阴影位置相对于文本位置的 y 偏移量。它可以是正值或负值。默认值为“0”。

· start_number – n/frame_num 变量的起始帧号。默认值为“0”。

· tabsize - 用于呈现选项卡的空格数大小。默认值为 4。

· timecode – 以“hh:mm:ss[:;.]ff”格式设置初始时间码表示。它可以带或不带文本参数使用。必须指定 timecode_rate 选项。

· rate – 设置时间码帧率(仅限时间码)。

· timecode_rate – 的别名rate。

· r – 的别名rate。

· tc24hmax – 如果设置为 1,时间码选项的输出将在 24 小时左右回绕。默认值为 0(禁用)。

· text -- 要绘制的文本字符串。文本必须是 UTF-8 编码字符序列。如果没有使用参数 textfile 指定文件,则此参数是必需的。

· textfile – 包含要绘制的文本的文本文件。文本必须是 UTF-8 编码字符序列。如果没有使用参数 text 指定文本字符串,则此参数是必需的。如果同时指定了 text 和 textfile,则会引发错误。

· reload – 如果设置为 1,文本文件将在每一帧之前重新加载。一定要自动更新它,否则它可能会被部分读取,甚至失败。

· x – 指定将在视频帧内绘制文本的偏移量的表达式。它相对于输出图像的左边框。默认值为“0”。

· y - 指定将在视频帧内绘制文本的偏移量的表达式。它相对于输出图像的上边框。默认值为“0”。有关接受的常量和函数的列表,请参见下文。

表达式常量:

x 和 y 的参数是包含以下常量和函数的表达式:

· dar:输入显示纵横比,同 (w / h) * sar

· hsub:水平色度子样本值。例如,对于像素格式“yuv422p”,hsub 为 2,vsub 为 1。

· vsub:垂直色度子样本值。例如,对于像素格式“yuv422p”,hsub 为 2,vsub 为 1。

· line_h:每个文本行的高度

· lh:别名为line_h.

· main_h:输入高度

· h: 的别名main_h。

· H: 的别名main_h。

· main_w:输入宽度

· w: 的别名main_w。

· W: 的别名main_w。

· ascent:对于所有渲染的字形,从基线到用于放置字形轮廓点的最高/上网格坐标的最大距离。这是一个正值,因为网格的 Y 轴向上。

· max_glyph_a: 的别名ascent。

· 下降:对于所有渲染的字形,从基线到用于放置字形轮廓点的最低网格坐标的最大距离。由于网格的方向,这是一个负值,Y 轴向上。

· max_glyph_d: 的别名descent。

· max_glyph_h:最大字形高度,即渲染文本中包含的所有字形的最大高度,相当于上升-下降。

· max_glyph_w:最大字形宽度,即渲染文本中包含的所有字形的最大宽度。

· n:输入帧数,从0开始

· rand(min, max):返回一个包含在 min 和 max 之间的随机数

· sar:输入样本纵横比。

· t:时间戳,以秒为单位,如果输入时间戳未知,则为 NAN

· text_h:渲染文本的高度

· th: 的别名text_h。

· text_w:渲染文本的宽度

· tw: 的别名text_w。

· x:绘制文本的 x 偏移坐标。

· y:绘制文本的 y 偏移坐标。

这些参数允许 x 和 y 表达式相互引用,因此您可以例如指定 y=x/dar.

应用自定义过滤器。

filter通常由更高级别的过滤器函数使用,例如 hflip ,但如果缺少过滤器实现 ffmpeg-python ,您可以 filter 直接调用以 ffmpeg-python 将过滤器名称和参数逐字传递给 ffmpeg 。

参数

函数名称后缀_是为了避免与标准 pythonfilter 函数混淆。

例子

替代名称 filter ,以免与内置的 pythonfilter 运算符冲突。

应用具有一个或多个输出的自定义过滤器。

这 filter 与过滤器可以产生多个输出相同。

要引用输出流,请使用 .stream 运算符或括号简写:

例子

水平翻转输入视频。

修改输入的色调和/或饱和度。

参数

将一个视频叠加在另一个视频之上。

参数

更改输入帧的 PTS(表示时间戳)。

FFmpeg里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。 顾名思义,前者是解码的时间,后者是显示的时间。

参数

修剪输入,使输出包含输入的一个连续子部分。

参数

垂直翻转输入视频。

应用缩放和平移效果。

参数

python 怎么把多个视频拼接

用视频剪辑软件拼接就好了

方法如下:

1、打开 爱剪辑 ,导入需要拼接的视频

2、利用创新式时间轴和超级剪刀手裁剪好视频后,点击导出视频按钮即可

Python视频教程,百度云

[python视频教程] lets python视频教程免费下载

链接:

提取码:dxpn

[python视频教程] lets python 视频教程|Lets-python-017-文件和输入输出01.avi|Lets-python-016-条件和循环02-练习题和生成器.avi|Lets-python-015-条件和循环01.avi|Lets-python-014-映射和集合02.avi|Lets-python-013-映射和集合01.avi|Lets-python-012-序列04-02.

Python之OpenCV把一个视频切分成多个等长视频

import cv2

cap = cv2.VideoCapture('E:/极乐净土.mp4')#导入路径

j=1

i=1

fourcc = cv2.VideoWriter_fourcc(*'XVID')

fps =cap.get(cv2.CAP_PROP_FPS)

size = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))

out = cv2.VideoWriter('E:/新建文件夹 (3)/' + str(j) + '.avi', fourcc,fps, size)#输出路径都是可以自己改的

while (True):

ret, frame = cap.read() # 捕获一帧图像

i = i + 1

out.write(frame) # 保存帧

if (i % 200== 0): # 每n帧切割为一个新的视频

j = j + 1

out = cv2.VideoWriter('E:/新建文件夹 (3)/' + str(j) + '.avi', fourcc, fps, size)#路径都是可以自己改的

cv2.imshow('frame', frame) # 显示帧

# 判断按键,如果按键为q,退出循环

if cv2.waitKey(25) 0xFF == ord('q'):

break

cap.release()

out.release()

cv2.destroyAllWindows()