图片转视频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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值