首页 > 其他分享 >基于opencv和ffmpeg的视频处理

基于opencv和ffmpeg的视频处理

时间:2023-07-22 17:22:24浏览次数:27  
标签:视频 ffmpeg CAP cv2 opencv video path

import cv2
import subprocess

input_video_path = "/home/navy/Desktop/1.mp4"
opencv_video_path = "/home/navy/Desktop/2.mp4"
new_video_path = "/home/navy/Desktop/3.mp4"
# 打开视频文件
video = cv2.VideoCapture(input_video_path)

# 获取视频帧率和尺寸
fps = int(video.get(cv2.CAP_PROP_FPS))
width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))

# 创建输出视频文件
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(opencv_video_path, fourcc, fps, (width, height))

# 处理每一帧并写入输出视频
while True:
    ret, frame = video.read()
    if not ret:
        break

    # 在这里对每一帧进行处理
    # ...

    out.write(frame)

# 释放资源
video.release()
out.release()

# 使用FFmpeg将音频从原始视频中提取出来并与生成的视频合并
subprocess.call(['ffmpeg', '-i', input_video_path, '-i', opencv_video_path, '-c:v', 'copy', '-c:a', 'aac', '-strict', 'experimental', new_video_path])

  

标签:视频,ffmpeg,CAP,cv2,opencv,video,path
From: https://www.cnblogs.com/navysummer/p/17573753.html

相关文章

  • 字符视频转换器--不保留中间的转换过程
    #-*-coding:utf-8-*-importosimportthreadingimporttimeimporttkinterfromtkinterimportTOP,LEFT,RIGHT,messagebox,filedialog,DISABLED,NORMALfromtkinter.ttkimportProgressbarimportcv2importfiletypeimportnumpyfromPILimportImage......
  • 视频转字符视频
    #-*-coding:utf-8-*-importosimporttimeimportcv2importnumpyfromPILimportImage,ImageDraw,ImageFontascii_char=list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'.")#所用字符列表#......
  • 流媒体视频融合平台EasyCVR更新版本后,首页无法打开的原因排查与解决
    EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,包括:NVR、IPC、视频编码器、无人机、车载设备、智能手持终端、移动执法仪等。平台具有强大的数据接入、处理及分发能力,可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理。有用户反馈......
  • ffmpeg安装,备用,防止丢失
    #可道云提供的方式CentOS下安装yuminstallImageMagickdcrawghostscriptffmpeglibjpeglibjpeg-devellibpnglibpng-devellibtifflibtiff-devellibungiflibungif-develfreetypezlib#安装ffmpeg(视频缩略图,视频转码)curlhttp://doc.kodcloud.com/tools/psd/ins......
  • OpenCV实现ResNet18推理
    前一篇实现了ResNet18训练自定义数据集,详细介绍了数据集制作、模型构建及训练,并且介绍了相应模块如何可视化。前面训练阶段是在python环境下进行的,但实际工程部署的时候大都采用C++实现推理,这一篇我们借助OpenCV实现ResNet18推理。一、准备1、OpenCV编译及安装借助OpenCV实现Re......
  • ffmpeg linux
    安装解压源码包并cd进来安装依赖文件:sudoaptinstallyasmlibsdl2-devlibx264-devlib265-devlibfdk-aac-dev编译配置&编译:./configure--prefix=/usr/local/ffmpeg--enable-shared--enable-libx264--enable-libx265--enable-gpl--enable-libfdk-aac--enable-nonf......
  • Vscode 编写opencv配置文件
    创建一个新文件夹并在vscode打开,在此文件夹下新建一个.vscode文件夹,再继续新建三个.json文件(tasks.json,launch.json,c_cpp_properties.json)。 c_cpp_properties.json如下,"includePath"添加自己的头文件路径,"compilerPath"改为自己对应的gcc路径。{"configurations":[......
  • 使用Stable Diffusion制作AI数字人视频的简明教程
    基本方法搞一张照片,搞一段语音,合成照片和语音,同时让照片中的人物动起来,特别是头、眼睛和嘴。语音合成语音合成的方法很多,也比较成熟了,大家可以选择自己方便的,直接录音也可以,只要能生成一个语音文件就行了。这里分享一个文字转语音的工具:https://ttsmaker.cn/,不用注册不用花钱......
  • 如何在EasyCVR平台播放MP4视频文件?两种方法!
    目前EasyCVR平台可支持国标GB28181、RTSP/Onvif、RTMP、海康Ehome、SDK等方式接入,这些接入方式主要是针对设备或视频流的接入。在有些项目现场也会遇到播放MP4视频文件的需求,今天我们来介绍下,如何在EasyCVR平台实现MP4视频文件的播放?这里介绍以下2种方式:1、使用OBS工具推流到Ea......
  • 视频播放网站 python
    如何实现“视频播放网站python”作为一名经验丰富的开发者,我将带领你步骤-by-步骤实现一个基本的视频播放网站。下面是实现这个项目的整体流程:步骤任务1创建一个Web应用2设计数据库3创建用户注册和登录功能4实现视频上传功能5添加视频播放页面6实......