python 处理视频的详细教程

这篇具有很好参考价值的文章主要介绍了python 处理视频的详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文探讨的是使用python对视频进行如下操作:

将待处理的视频分割成帧
对每一帧进行处理
对处理后的帧合并
得到最终的视频
为了方便接下去的实验过程,读者必须具备如下的工具:

1、依赖包python-opencv

2、借助工具ffmpeg

import cv2
import subprocess
#在使用时使用以上代码引入模块

分割视频的代码如下:

import os
import cv2
import subprocess
 
os.chdir(r'C:\Users\Bryce gu\Desktop\movie')
v_path='test.mp4'
image_save='./pic'
 
cap=cv2.VideoCapture(v_path)
frame_count=cap.get(cv2.CAP_PROP_FRAME_COUNT)
 
for i in range(int(frame_count)):
    _,img=cap.read()
    img=cv2.cvtColor(img,cv2.cv2.COLOR_BGR2GRAY)   #cv2.COLOR_RGB2HSV     cv2.COLOR_BGR2GRAY
    cv2.imwrite('./pic/image{}.jpg'.format(i),img)
 
# In[8]:
print(dir(cv2))

实验结果如图所示(注意要放在一个既定文件夹里):

python 视频裁剪,ffmpeg,python,开发语言,微信,图搜索算法

可见,将一个完整的短视频分割成了各个帧。

ffmpeg是一个非常牛的软件!具备了以下的诸多功能: 1.基本信息查询命令 2.录制命令 3.分解、复用命令 4.处理原始数据命令 5.裁剪与合并命令 6.图片、视频互转命令 7.直播相关命令 8.各种滤镜命令


1.视频裁剪滤镜(播放器大小裁剪): 
ffmpeg -i killer.mp4 -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4
2.视频裁剪(按时间裁剪): 
ffmpeg -i my.mp4 -ss 00:43:20 -t 00:02:10 -acodec copy -vcodec copy sha.mp4
3.视频拼接: 
ffmpeg -f concat -i input.txt concat_out.mp4
(input.txt内部是文件列表,格式是: file 'fileName’
4.视频转图片命令: 
ffmpeg -i 1.ts -r 1 -f image2 result-image/image-%3d.jpeg
5.图片转视频:
ffmpeg -i image-%3d .jpeg -out.mp4
ffmpeg录屏命令
ffmpeg -f avfoundation -i 1 -r 30 out.yuv
-f: 指定使用avfoundation采集数据
-i: 指定从哪儿采集数据,它是一个文件索引号
-r:指定帧率
播放录屏的命令: ffplay -s 2880X1800 -pix_fmt uyvy422 out.yuv
-s: 指定分辨率
-pix_fmt :录制时的格式
查看支持的设备列表:ffmpeg -f avfoundation -list_devices true -i ""
录音命令:ffmpeg -f avfoundation -i :0 out.wav


以上列出了一些常用的、常见的命令,仅供参考。

而在本实验中使用的是视频拼接命令,将所有刚才切好的帧再次合并。(当然读者可以先在处理好的图片中做加工处理,再做合并。)

在完成后,可以在ffmpeg/bin文件夹里找到合并好的视频:

python 视频裁剪,ffmpeg,python,开发语言,微信,图搜索算法

 

多媒体格式转换 已经介绍了,ffmpeg具有多媒体格式转换的功能,这类似于pr或是macos系统上的finalcut的一些功能,同样,笔者给出一些代码,读者可以自行尝试:

ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv
 
i:输入文件
vcodec copy:视频编码处理方式
acodec copy:音频编码处理方式
 
只抽取视频:ffmpeg -i out.mp4 -an -vcodec copy out.h264
只抽取音频:ffmpeg -i out.mp4 -acodec copy -vn out.aac
 
ffmpeg提取YUV数据
ffmpeg -i input.mp4 -an -c:v rawvedio -pix_fmt uyv420p out.yuv
 
ffmpeg 提取PCM数据
ffmpeg -i input.mp4 -vn -ar 44100 -ac2 -f s16le out.pcm

三种图像处理的例子(读者在切下来的图片中自行尝试)


1、RGB2HSV

cv2.cvtColor(image,cv2.COLOR_RGB2HSV)

python 视频裁剪,ffmpeg,python,开发语言,微信,图搜索算法

 


2、直方图均衡

return cv2.equalizeHist(img)

python 视频裁剪,ffmpeg,python,开发语言,微信,图搜索算法

 


3、高斯模糊+边缘检测

img = cv2.GaussianBlur(img,(3,3),0)
canny=cv2.Canny(img,50,150)

python 视频裁剪,ffmpeg,python,开发语言,微信,图搜索算法

可以通过下面直接使用,也是非常方便

python 视频裁剪,ffmpeg,python,开发语言,微信,图搜索算法

 

 python 视频裁剪,ffmpeg,python,开发语言,微信,图搜索算法

 后续还有更多功能会持续更新......文章来源地址https://www.toymoban.com/news/detail-742591.html

到了这里,关于python 处理视频的详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 音视频处理 ffmpeg中级开发 H264编码

    libavcodec/avcodec.h 常用的数据结构 AVCodec 编码器结构体 AVCodecContext 编码器上下文 AVFrame 解码后的帧 结构体内存的分配和释放 av_frame_alloc 申请 av_frame_free() 释放 avcodec_alloc_context3() 创建编码器上下文 avcodec_free_context() 释放编码器上下文 解码步骤 avcodec_find_decoder 查找解码器 avcod

    2024年02月01日
    浏览(87)
  • ffmpeg与opencv-python处理视频

    1.下载 FFmpeg 访问FFmpeg官方网站。 选择 “Windows builds from gyan.dev” 链接,这会带您到一个包含最新版本 FFmpeg Windows 构建的页面。 选择一个适合您系统的版本(例如,32位或64位),并下载 ZIP 文件。 2.解压文件 将下载的 ZIP 文件解压到选择的文件夹中。 3.添加 FFmpeg 到您的环境

    2024年01月22日
    浏览(42)
  • Qt/C++音视频开发50-不同ffmpeg版本之间的差异处理

    ffmpeg的版本众多,从2010年开始计算的项目的话,基本上还在使用的有ffmpeg2/3/4/5/6,最近几年版本彪的比较厉害,直接4/5/6,大版本之间接口有一些变化,特别是一些废弃接口被彻底删除了,而网络上的各种文章几乎都是ffmpeg3左右为主的,所以本人在写这个全功能播放组件的时

    2024年02月14日
    浏览(56)
  • 视频处理的利器,ffmpeg-python库详解与应用示例

    左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。 公众号:一点sir,关注领取python编程资料 在数字媒体的时代,视频处理成为了一项重要的技能。无论是剪辑、转码、还是添加特效,都需要强大的工具来处理视频素材。Python作为一门功能强大的编程

    2024年04月10日
    浏览(37)
  • Java程序处理视频裁剪(快速处理大文件)

             现在手机上的各种视频裁剪、剪切软件,裁剪视频特别方便。但是遇到大文件需要裁剪的时候,就麻烦了,动辄大几G、十几G的文件就不适合用手机裁剪app了,连上传都成功不了,而且还会被各种压缩,画质失真严重。这个时候,就只能用电脑裁剪了,电脑上还要

    2024年02月09日
    浏览(38)
  • 手把手QQ机器人制作教程,根据官方接口进行开发,基于Python语言制作的详细教程(更新中)

    QQ开放平台官方地址:https://q.qq.com/#/app/bot QQ开放平台包含:QQ机器人、QQ小程序、QQ小游戏,我们这边选择QQ机器人。 机器人类型:设置私域机器人或者公域机器人,当然公域机器人对于服务器的要求过高,我们这边选择 私域机器人 进行开发。 特别注意在选择沙箱频道的时候

    2023年04月08日
    浏览(61)
  • 【计算机视觉—python 】 图像处理入门教程 —— 图像属性、像素编辑、创建与复制、裁剪与拼接【 openCV 学习笔记 005 to 010 and 255】

    OpenCV中读取图像文件后的数据结构符合Numpy的ndarray多维数组结构,因此 ndarray 数组的属性和操作方法可用于图像处理的一些操作。数据结构如下图所示: img.ndim:查看代表图像的维度。彩色图像的维数为3,灰度图像的维度为2。 img.shape:查看图像的形状,代表矩阵的行数(高

    2024年01月19日
    浏览(70)
  • 「Python|音视频处理|场景案例」如何使用ffmpeg下载m3u8视频到本地并保存成mp4

    本文主要介绍如何使用ffmpeg批量下载视频到本地并保存成指定格式。 当我们希望将网页上的视频下载到本地的时候,我们可能获取到的视频地址是指向 .m3u8 格式的,当视频多的时候,手动下载并使用工具转换格式就显得工作量过大。 ffmpeg 是一个强大的音视频处理工具,具体

    2024年02月16日
    浏览(78)
  • 视频字幕处理+AI绘画,Runway 全功能超详细使用教程(4)

    runway的视频字幕处理、AI绘图功能介绍,感觉完全就是为了做电影而布局,一整套功能都上线了!想系统学习的必收藏! 在深度研究Runway各个功能后,无论是AI视频生成及后期处理技术,还是AI图像生成技术,Runway都很能打,AI视频领域大有可为! 接下来开始详细讲解Runway导航

    2024年02月04日
    浏览(55)
  • 软件测试|使用Python轻松裁剪视频

    简介 裁剪视频是在视频编辑和处理中常见的任务之一,Python提供了多种库和工具,可以用来裁剪视频。在本文中,我们将详细讨论如何使用Python来裁剪视频,并提供示例代码。 步骤1:环境准备 首先,我们要安装必要的Python库。我们将使用 moviepy 库来处理视频,所以首先需要

    2024年01月18日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包