将多张图片转为avi视频,再转为h264文件

本教程详细介绍了如何在Windows环境下批量重命名图片,将图片转换为avi视频,以及将avi视频转为h264编码的文件。通过Python脚本实现图片的批量重命名,利用OpenCV进行图片转视频操作,最后借助ffmpeg完成视频编码转换。
摘要由CSDN通过智能技术生成

步骤一:图片批量重命名

参考博客《Windows下对文件夹下所有图片批量重命名(附C++,python,matlab代码)》

图片批量重命名类:

  • file_path_src:把你待处理的图片全部放进这个文件夹
  • file_path_dst:批量重命名后的图片文件夹
import os
import cv2
import shutil

# 需要批处理的图片文件夹
file_path_src = r'D:\images_src'
# 批处理结果的文件夹
file_path_dst = r'D:\images_dst'

class BatchRename():
    '''
    批量重命名文件夹中的图片文件

    '''
    def __init__(self):
        self.path_src = file_path_src 
        self.path_dst = file_path_dst

    def rename(self):
        #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序
        filelist = os.listdir(self.path_src)
        print(filelist)
        total_num = len(filelist) #获取文件夹内所有文件个数
        #print(total_num)
        i = 0  #表示文件的命名是从0开始的
        for item in filelist:
            if item.endswith('.jpg'):
                src = os.path.join(os.path.abspath(self.path_src), item)
                dst = os.path.join(os.path.abspath(self.path_dst), str(i) + '.jpg')
              
                shutil.copyfile(src, dst)
                print('converting %s to %s ...' % (src, dst))
                i = i + 1
              
        print ('total %d to rename & converted %d jpgs' % (total_num, i))

批处理:

batchrename = BatchRename()
batchrename.rename()

步骤二:将图片转为avi视频

# 图片转视频
def image_to_video_fun(image_path, video_path, video_name, fps, size):
    # image_path: 图像保存地址
    # video_path: 视频地址
    # video_name: 视频名
    # fps: 帧率
    file_list = os.listdir(image_path)

    print(file_list)

    fourcc = cv2.VideoWriter_fourcc('X','V','I','D')
    videoWriter = cv2.VideoWriter(video_path + '/' + video_name, fourcc, fps, size)
    for file_name in file_list:
        img = cv2.imread(file_path + '/' + file_name, 1)
        img = cv2.resize(img, size)
        videoWriter.write(img)
    videoWriter.release()

将批处理图片转为test.avi视频,该视频帧率为2,大小调整为480*480。

image_path = r'D:\images_dst'
video_path = r'D:\images_dst'
video_name = 'test.avi'
fps = 2
size =  (480, 480)

image_to_video_fun(image_path, video_path, video_name, fps, size)

步骤三:将avi视频转为h264文件

1、下载ffmpeg,下载地址:http://www.ffmpeg.org/download.html

2、解压即可,进入bin文件夹,将test.avi复制进该文件

3、打开cmd窗口,cd到bin文件夹,使用命令

ffmpeg -i test.avi -vcodec h264 -an -f m4v test.h264

这样在相同文件夹下生成h264文件。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值