视频拼接,拼接时长版本

目录

[视频较长,分辨率较大,这个效果很好,不耗用内存 ffmpeg](#视频较长,分辨率较大,这个效果很好,不耗用内存 ffmpeg)

imageio,适合视频较短


视频较长,分辨率较大,这个效果很好,不耗用内存 ffmpeg

python 复制代码
import subprocess
import glob
import os
from natsort import natsorted
base_dir = r'C:\Users\Administrator\Videos\shuiyin\result'
output_file = r'output_shuiyin.mp4'
video_paths = glob.glob(base_dir + '/*.mp4')
video_paths = natsorted(video_paths)
with open('file_list.txt', 'w') as f:
    for file in video_paths:
        f.write(f"file '{file}'\n")
ffmpeg_command = [
    'ffmpeg',
    '-f', 'concat',           # 指定拼接模式
    '-safe', '0',             # 允许绝对路径
    '-i', 'file_list.txt',    # 输入的文件列表
    '-c:v', 'libx264',        # 使用 libx264 编码器
    '-c:a', 'aac',            # 使用 aac 编码音频
    '-strict', 'experimental',# 使用实验性编码
    output_file               # 输出文件路径
]
subprocess.run(ffmpeg_command, check=True)

print(f"视频拼接完成,输出文件:{output_file}")

imageio,适合视频较短

python 复制代码
import glob
from natsort import natsorted
from moviepy.editor import VideoFileClip, concatenate_videoclips
import glob
import os.path

from natsort import natsorted
import cv2
import imageio

if __name__ == '__main__':
    #内存
    base_dir =r"C:\Users\Administrator\Videos\shuiyin\0127"
    base_dir =r'C:\Users\Administrator\Videos\shuiyin\result'
    output_path = "pinjie_shuiyin.mp4"
    video_paths =glob.glob(base_dir +'/*.mp4')
    video_paths=natsorted(video_paths)
    imgs=[]
    res = []
    for file in video_paths:
        cap_a = cv2.VideoCapture(file)  # 打开视频B
        fps = cap_a.get(cv2.CAP_PROP_FPS)
        frame_count = 0
        print(file)
        while True:
            ret, frame_a = cap_a.read()
            if not ret:
                break  # 如果没有读取到帧,则跳出循环
            res.append(cv2.cvtColor(frame_a, cv2.COLOR_BGR2RGB))
            frame_count += 1  # 释放视频资源
        cap_a.release()
    imageio.mimsave(output_path, res, "mp4", fps=fps, macro_block_size=None)
相关推荐
潜创微科技36 分钟前
HDMI 分配器芯片方案商 IT66630 有源分配芯片方案
音视频
不爱记笔记2 小时前
多模态AI如何理解视频内容?从视觉、语音到语义的三层技术拆解
人工智能·自然语言处理·nlp·音视频·多模态
论迹复利4 小时前
Sniff 省电模式参数调优——续航与音频稳定性平衡实操
音视频·sniff·bt·功耗、
星核0penstarry5 小时前
从 Dialog-RSN-1 看语音 Agent 走向:企业如何评估音频原生模型与 API 服务
人工智能·音视频·音频·api
明如正午7 小时前
【python】Python + OpenCV 实现视频关键帧提取与智能去重
python·opencv·音视频
呆呆敲代码的小Y7 小时前
5 分钟上手 OpenMontage:把 AI 编程助手变成视频工作室
人工智能·aigc·音视频·ai视频生成·claude code·openmontage
奈斯先生Vector8 小时前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频
海带紫菜菠萝汤8 小时前
FFmpeg.wasm 实践:在浏览器中运行 FFmpeg 的能力边界与性能瓶颈
前端·javascript·ffmpeg·音视频·wasm
甜甜小酒窝8 小时前
通过Canvas在网页中将后端发来的一帧帧图片渲染成“视频”的实现过程
音视频
DogDaoDao8 小时前
深度学习增强的视频压缩框架:Neutron Star 如何超越 VVC
人工智能·深度学习·音视频·视频编解码·h266·vvc·视频压缩