图片转视频python/ffmpeg
Posted 帅殿天下
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片转视频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/ffmpeg的主要内容,如果未能解决你的问题,请参考以下文章