python视频操作——python实现将图片合成为视频python视频操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python视频操作——python实现将图片合成为视频python视频操作相关的知识,希望对你有一定的参考价值。

参考技术A import os
import cv2

file_dir = 'E:/PycharmProjects/untitled1/yujunchuxiangshi/img/'
list = []
for root ,dirs, files in os.walk(file_dir):
for file in files:
list.append(file) # 获取目录下文件名列表

video = cv2.VideoWriter('E:/PycharmProjects/untitled1/yujunchuxiangshi/test.avi',cv2.VideoWriter_fourcc(*'MJPG'),1,(1280,720))

for i in range(1,len(list)):
#读取图片
img = cv2.imread('E:/PycharmProjects/untitled1/yujunchuxiangshi/img/'+list[i-1])
# resize方法是cv2库提供的更改像素大小的方法
# 将图片转换为1280*720像素大小
img = cv2.resize(img,(1280,720))
# 写入视频
video.write(img)

video.release()

图片转视频python/ffmpeg

# coding=utf-8
import os
import cv2
from PIL import Image
def makevideo(path, fps):
    """ 将图片合成视频. path: 视频路径,fps: 帧率 """
    fourcc = cv2.VideoWriter_fourcc(*'mp4v')
    path1 = r'F:\\code1\\auto_panorama\\res_img\\20'
    img_list = os.listdir(path1)
    im = Image.open(r'F:\\code1\\auto_panorama\\res_img\\20\\1.jpg')
    print(im.size)
    vw = cv2.VideoWriter(path, fourcc, fps, im.size)
    for i in range(len(img_list)):
        frame = cv2.imread(path1 + '/' + str(i)+ ".jpg" )
        vw.write(frame)

if __name__ == '__main__':
    video_path = './output2.mp4'
    makevideo(video_path, 10)  # 图片转视频

ffmpeg转图片为视频

ffmpeg -r 10 -f image2 -i output/img%d.png -s 448x256 -c:v libx264 -pix_fmt yuv420p output/demo.mp4 -q:v 0 -q:a 0

使用ffmpeg将图片转成gif

ffmpeg -r 10 -f image2 -i output/img%d.png -s 448x256 -vf "split[s0][s1];[s0]palettegen=stats_mode=single[p];[s1][p]paletteuse=new=1" output/demo.gif

提取每一帧为图像:

ffmpeg -i input_video.mp4 output_image_%04d.jpg

这将从input_video.mp4中提取每一帧,并将其保存为output_image_0001.jpg,output_image_0002.jpg等等。

提取特定时间范围内的每一帧为图像:

ffmpeg -i input_video.mp4 -ss 00:01:00 -t 00:00:10 -r 1 output_image_%04d.jpg

这将从01分钟处开始提取10秒钟的每一帧,以每秒1帧的速度,并将其保存为output_image_0001.jpg,output_image_0002.jpg等等。
提取单个帧为图像:

ffmpeg -i input_video.mp4 -vf "select=eq(n\\,100)" -vframes 1 output_image.jpg

这将提取第100帧,并将其保存为output_image.jpg。

ffmpeg无损将红外视频转成图像格式

ffmpeg -i input_video.mp4 -vf "format=gray, split [o1] [o2]; [o1] palettegen [p]; [o2] fifo [o3]; [o3] [p] paletteuse" output_image_%03d.png

-i input_video.mp4:指定要转换的视频文件名。

-vf “format=gray, split [o1] [o2]; [o1] palettegen [p]; [o2] fifo [o3]; [o3] [p] paletteuse”:设置视频过滤器,首先将视频转换为灰度格式,然后拆分成两个输出([o1]和[o2])。第一个输出[o1]通过palettegen过滤器生成一张调色板,第二个输出[o2]通过fifo过滤器使得输出缓存的帧以FIFO(先进先出)的顺序传递给下一个过滤器。最后将paletteuse过滤器应用于第二个输出,使用之前生成的调色板将帧转换为PNG格式。

output_image_%03d.png:指定输出的文件名格式,%03d表示使用3位数字作为文件名的占位符。
这个命令将视频转换为一系列PNG图片,文件名以output_image_001.png,output_image_002.png等等命名,依次对应视频中的每一帧

ffmpeg录制红外码流

ffmpeg -f <input_format> -i <input_address> -c:v copy -c:a copy <output_file>

ffmpeg -i rtsp://192.168.1.10:554/stream -c:v copy -c:a copy output.mp4

以上是关于python视频操作——python实现将图片合成为视频python视频操作的主要内容,如果未能解决你的问题,请参考以下文章

如何将多张图片合成mp4视频格式,并加入背景音乐...

深入解析,python合并多张图片成视频,可用于批量制作短视频

一次用ffmpeg实现图片+音频合成视频的开发

python PIL实现图片合成

人脸识别0视频分解图片与图片合成视频

python 代码跳动之美