python 视频文件格式和分辨率转换

只需要一个opencv就够了,opencv是真的强。
注意事项:

  1. source_path和sink_path需要修改;
  2. 该版本支持mov后缀到avi后缀的转换,根据实际情况需要修改源码;
# 目标
# 1. 拷贝视频文件并修改后缀
# 2. 修改图片的分辨率
# 3. 批量完成

import os
import cv2
from pathlib import Path


source_path = r".\mov_video"
sink_path = r".\data\videos"

if not os.path.exists(source_path) or not os.path.exists(sink_path):
    print('Path not exit!')
    exit()

videos_list = os.listdir(source_path)

for video in videos_list:
    video_path = os.path.join(source_path, video)
    if Path(video_path).suffix in ['.MOV', '.mov']:
        # 修改后缀名
        dis_video_name = video
        dis_video_name = dis_video_name.replace(str(dis_video_name).split('.')[-1], 'avi')
        dis_path = os.path.join(sink_path, dis_video_name)

        # 进行转换
        cap = cv2.VideoCapture(video_path)
        success, _ = cap.read()
        # 重新合成的视频在原文件夹,如果需要分开,可以修改file_n
        video_writer = cv2.VideoWriter(dis_path, cv2.VideoWriter_fourcc(*'XVID'), 25, (1280, 720))
        while success:
            success, vid1 = cap.read()
            try:
                vid = cv2.resize(vid1, (1280, 720), interpolation=cv2.INTER_LINEAR)  # 希望的分辨率大小可以在这里改
                video_writer.write(vid)
            except:
                break
                

其他可以不看,但是得看参考链接:
OpenCV 用 VideoWriter 创建视频(Python 版本):这篇文章真的写好好,一个类以及参数讲得非常清楚
python+opencv 批量修改视频分辨率:这篇就讲了实际的应用
通过python对视频进行复制:像读文件一样对视频文件复制

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙橙小狸猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值