moviepy音视频剪辑:输出文件前预览剪辑和视频帧的preview和imdisplay方法

Pygame教程系列二:MoviePy视频播放篇 【前言】      在pygame 2.0.0版本之前,播放视频可以使用pygame.movie.Movie('xxxx.mpg')播放(只支持.mpg格式的视频),但是在pygame 2.0.0之后,作者因为觉得视频模块维护成本太高就给抛弃了,假如你使用pygame 2.0.0+,还调用上述方法就会出现以下报错:NotImplementedError: movie module not available (ModuleNotFoundError: No 阅读详情
☞ ░ 前往老猿Python博文目录 ░

一、引言

由于moviepy合成剪辑后,输出需要较多的时间,那么在输出前预览一下有助于提高处理效率。moviepy提供了预览的工具,这个工具是基于pygame实现的moviepy.video.io.preview,因此在使用前必须安装pygame。

参考安装指令:pip install pygame -i https://pypi.tuna.tsinghua.edu.cn/simple

二、预览函数preview语法

调用语法:

def preview(
    clip,
    fps=15,
    audio=True,
    audio_fps=22050,
    audio_buffersize=3000,
    audio_nbytes=2,
    fullscreen=False,
)

其中参数clip是已经加载到内存中的剪辑,fullscreen为是否全屏播放,其他参数请参考《moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解》write_videofile方法的参数说明。

三、剪辑预览案例

from  moviepy.editor import *
from moviepy.editor import VideoFileClip
from moviepy.video.io.preview import preview

if __name__=='__main__':
    threads = 8
    clip = VideoFileClip(r"F:\video\WinBasedWorkHard_src.mp4").subclip(0,10)

 
    newclip = clip.fx(vfx.loop).set_duration(50)
    preview(newclip)
 

四、视频帧预览案例

moviepy.video.io.preview除了提供剪辑视频的预览方法外,还提供了对应帧画面的预览方法,这个方法是imdisplay。具体就不介绍了。参考如下代码:

import pygame as pg
from  moviepy.editor import *
from moviepy.editor import VideoFileClip
from moviepy.video.io.preview import imdisplay
import time

clip = VideoFileClip(r"F:\video\WinBasedWorkHard_src.mp4").subclip(0,10)
screen = pg.display.set_mode(clip.size)
for t in range(5,10):
    imdisplay(clip.get_frame(t), screen)
    time.sleep(1)
    

更多moviepy的介绍请参考《PyQt+moviepy音视频剪辑实战文章目录》或《moviepy音视频开发专栏》。

关于收费专栏

老猿的付费专栏《使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,付费专栏《moviepy音视频开发专栏》详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,两个专栏加起来只需要19.9元,都适合有一定Python基础但无相关专利知识的小白读者学习。这2个收费专栏都有对应免费专栏,只是收费专栏的文章介绍更具体、内容更深入、案例更多。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《专栏:Python基础教程目录》从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

跟老猿学Python、学5G!

☞ ░ 前往老猿Python博文目录 ░
音视频剪辑库moviepy及其应用 moviepy是一个用于视频编辑的Python库,可以处理视频和音频文件。其常见用途:视频剪辑和合并:剪辑/将多个视频文件合并成一个视频。视频转换:将视频转换为不同的格式,比如将MP4文件转换为GIF。文字和图形叠加:提供了添加文字、图形和动画效果到视频中的功能。视频剪裁和调整大小:裁剪视频的特定部分或调整视频的大小。视频特效:提供了一些内置的特效功能,比如模糊、颜色调整等。视频和音频剪辑:提取视频的音频,或者将音频添加到视频中。 阅读详情

相关推荐

Moviepy怎样使用?

这只是moviepy库的一小部分功能,它还提供了许多其他功能,如添加文本/图片水印,合并多个视频文件,调整视频的音量和速度等。使用不同的moviepy函数和方法可以实现各种视频处理任务。这只是MoviePy的基本用法,还有很多其他功能和方法可以探索。您可以查看MoviePy的官方文档以获取更多详细的使用说明和示例代码。MoviePy是一个用于视频编辑和视频脚本编写的Python库。对视频进行编辑和处理:可以使用MoviePy提供的各种方法来对视频进行编辑和处理。方法从视频中提取出10到20秒之间的子剪辑。

zqzgng的博客 981

moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解

本文详细介绍了视频剪辑基类VideoClip的构造方法、属性和相关处理方法,相关内容参考了moviepy.video.VideoClip.py的文档字符串以及源代码,并针对部分疑难点进行了资料查询和测试,相关内容的探索和写作断断续续持续了一个多星期。VideoClip很多方法如save_frame、write_videofile、write_images_sequence、write_gif可以用于输出视频中的对应数据,而subfx、fl_image、on_color等是进行视频变换的重要方法。

老猿Python 1万+

moviepy视频剪辑总结学习笔记

txt_clip = TextClip("My Holidays 2013",fontsize=70,color='white')# 生成字幕切片。clip = VideoFileClip("myHolidays.mp4").subclip(50,60)#切片视频文件,subclip截取时间。video = CompositeVideoClip([clip, txt_clip],site=(720,460))多个切片合成。

chuanbei168的博客 1791

MoviePy - 中文文档2-快速上手-MoviePy-预览

快速了解 回到目录  下面的内容介绍以下MoviePy适用于何种场景以及MoviePy如何工作。 我需要使用MoviePy吗? 出于以下的情景或原因,我们可能会有使用Python做视频编辑的需求。 *我们有大量的视频需要处理,或者采用复杂的方式将他们拼接。 *我们需要在服务端自动地创建大量视频或者GIF图。 *我们需要在视频中创建视频编辑器中所没有的一些特殊的特效,我们只能敲代码来实...

ucsheep-You see sheep! 1万+

python+moviepy音视频处理(四):视频对象方法、预览剪辑的方法

修改make_frame改动的不是原剪辑,而是返回一个设置了make_frame方法的原剪辑的拷贝对应的新剪辑,这是moviepy几乎所有设置方法的特点,一定要用返回的新剪辑覆盖到操作的剪辑变量!to_mask方法用于将当前剪辑生成一个遮罩剪辑,处理时如果调用对象本身有遮罩,则直接返回调用剪辑的遮罩,否则根据调用剪辑的数据生成遮罩数据,生成时是将调用剪辑的每一帧数据的具体像素的YUV值中的某个除以255来实现遮罩的效果,具体对YUV哪个数据进行处理由参数canal指定,0代码Y值、1代表U值、2代表V值。

北冥有鱼的博客 273

使用MoviePy对音视频进行剪辑,如何预览剪辑前的效果以及输出的视频帧?可以使用MoviePy提供的preview和imdisplay方法。

上述代码中,我们创建了一个大小为400x300,时长为5秒的测试视频clip,然后调用preview方法来预览这个视频。运行上述代码后,我们会看到一个弹出的窗口,里面播放着我们刚刚创建的测试视频。上述代码中,我们调用get_frame方法获取了第2秒钟的视频帧,然后使用imdisplay方法将这个视频帧显示出来。运行上述代码后,我们会看到一个弹出的窗口,里面显示着第2秒钟的视频帧。preview方法可以用来预览剪辑的效果。运行上述代码后,我们会看到一个新的窗口,里面显示着第2秒钟的视频帧。

BUG?不存在的! 404

video.js自定义预览组件-旋转、下载、画中画、放大缩小功能

提醒自己:这是有段时间之前的代码逻辑了,或许明天的你就有不一样的想法呢!后面如果接触到新需求有优化会持续更新哒。

weixin_42418774的博客 2856

MoviePy音视频剪辑:预览剪辑和视频帧的preview和imdisplay方法

在MoviePy中,我们可以使用preview()和imdisplay()方法来实现这些功能。preview()方法可在默认的视频播放器中预览剪辑内容,而imdisplay()方法可在Jupyter Notebook或IPython中显示视频帧。在循环中,我们调用imdisplay()方法来显示每一帧的图像。在MoviePy中,我们可以使用preview()和imdisplay()方法来实现这些功能。这样,我们可以逐帧查看视频,并在处理过程中进行必要的调整和调试。

AlianBlank的博客 581

Unity 获取视频缩略图

本章节将讲解使用Unity原生 VideoPlayer 组件,截取本地或网络视频帧,并生成缩略图。1.新建一个脚本并命名为 “VideoPreview.cs”。(代码如下) 2.新建一个脚本,并命名为“Test.cs”,用来测试。(代码如下) 3.新建3个 RawImage UI组件,用来显示视频缩略图。......

a451319296的博客 2044

moviepy中视频读写与预览

moviepy读视频,moviepy写视频,moviepy预览视频,potplay预览视频

wugou2014的博客 4363

MoviePy v. dev1预览版发布:Python视频编辑库的新进展

MoviePy v. dev1预览版为Python视频编辑库带来了一些令人兴奋的新功能和改进。它提供了更多的视频剪辑和合并选项,支持文本和图像的叠加,以及各种视频特效和转换。近日,开发团队宣布发布了MoviePy v. dev1预览版,为用户提供了一些令人兴奋的新功能和改进。您可以访问MoviePy的官方网站或GitHub页面,下载并安装最新的预览版,体验这些新功能。注意:在使用MoviePy v. dev1预览版时,请确保已经正确安装了所需的依赖项,并按照官方文档提供的指导进行操作。

ByteLegend的博客 205

matlab函数详解——preview(实现gui界面显示摄像头采集内容)

最近需要使用matlab读取摄像头,并显示图像在gui上面,好像没有现成可以用的,这里试试。 自带例程 matlab的preview函数中的例程:调用摄像头,并显示 obj = videoinput('winvideo',1,'MJPG_160x120'); % set(obj,'ReturnedColorSpace','grayscale');%变成灰色的 figure('Name', 'My Custom Preview Window'); uicontrol('String', 'Close', 'C

weixin_44567900的博客 9831

moviepy音视频剪辑实战:加载与输出

本文还有配套的精品资源,点击获取 简介:moviepy是一个模块化工具,用于在Python中处理音视频文件,包括创建、编辑和操作功能。本教程将详细指导如何使用moviepy进行音视频的加载、剪辑、合成和输出操作。通过实例代码和最佳实践,学习moviepy将帮助编程爱好者和专业人士在音视频项目中实现高效的编辑工作。 1. moviepy库简介和核心功能 mov...

weixin_28840811的博客 2084

Python之MoviePy视频编辑模块介绍与应用

Python之MoviePy视频编辑模块介绍与应用

努力让自己发光,对的人才能迎着光而来 3万+

video-preview-editor:用于编辑视频内容的图像预览的工具

视频预览编辑器 VPE 目前处于 alpha 阶段。 Beta 版预计在 2 月中旬发布。 VPE 是一个紧凑的独立模块,允许无缝和简单地创建自定义视频预览。 它将生成一组图像来表示视频,并允许对该数组进行简单的编辑。 默认情况下,数组将显示每二十张图像,用户可以轻松编辑生成的预览,使其更能代表内容。 ##导入数据 用户导入一个包含视频中所有图像的数组。 您可以通过将数组添加到文件 settings.js 中来代替康斯坦丁数组来实现此目的: var constantine_settings = { el: "#thumbnails", initialLargeArrayOfImages: [ "https://s3-us-west-1.amazonaws.com/curv/constantine-tv-trailer/constantine_trailer

从零开始VCS+Verdi 安装过程

从零开始VCS+Verdi 安装及破解过程 主要参考:VCS+Verdi 安装及破解过程(CentOS7)-----FPGA开发 1. 安装文件结构 –vcs-mx_vL-2016.06 –verdi_vL-2016.06-1 –scl_v11.9 #此程序统一管理license等破解文件 –SynopsysInstaller.rar #此程序用于安装以上3个程序 –sc...

Ztrans的博客 2万+

Python 一个快速视频剪辑编辑神器 — Moviepy

这是「进击的Coder」的第 445篇技术分享作者:Ckend来源:Python 实用宝典“ 阅读本文大概需要 3 分钟。 ”你知道吗,用 moviepy 一行代码就能够快速剪辑视频中某...

静觅 1022

VMware桥接模式实战:用手机热点给Linux虚拟机共享网络(附WiFi适配技巧)

本文详细介绍了在移动办公场景下,如何为VMware中的Linux虚拟机配置桥接模式,以通过手机热点共享网络。文章深入解析了桥接模式在无线环境下的工作原理,提供了从主机端准备、VMware设置到Linux虚拟机内部配置的完整实战步骤,并针对手机热点的特殊性,分享了MTU优化、DNS配置及常见网络问题的诊断与解决方案,帮助用户实现稳定高效的移动虚拟化办公。

2y3u4i5o6p的博客 1196

Pygame 播放视频【movie模块已被弃用】

使用Pygame播放视频 目录 1. 快捷使用 2. 问题&原因 3. 其它方式 4. 总结 一、快捷使用 ↶ from moviepy.editor import * import pygame pygame.display.set_caption('Hello World!') clip = VideoFileClip('生.flv') clip.preview() pyga...

Enderman_xiaohei的博客 8654

一个三极管和稳压管构成的简易稳压电源

一、对电压精度要求不高的场所可以使用本文中所述的简易稳压电源(电流变化引起 的基极-发射极的压降 变化 对输出电压来说可以容忍)二、根据负载实际需求选择三极管,不同的三极管集电极电流不同,电流放大倍数不同(1、尽量选择负载电流(iC 或 iE)上限时,hFE仍然比较理想的三极管,2、一般三极管对基极电流没有限制,可以适当调整基极电流以获得所需输出电流)

五花带点肉 1万+

高通跃龙QCS6490部署yolov11_obb实战:QNN SDK工具链全解析与避坑指南

本文详细解析了在高通跃龙QCS6490平台上部署yolov11_obb模型的实战过程,重点介绍了QNN SDK工具链的使用与优化技巧。从环境配置、模型转换到性能调优,提供了全面的避坑指南和DSP加速配置建议,帮助开发者高效实现旋转框检测任务在边缘设备上的部署。

weixin_29232121的博客 305
上一篇: 图像处理gamma修正(伽马γ校正)的原理和实现算法
下一篇: moviepy音视频剪辑:lum_contrast什么时候使用以及图像处理什么时候需要调整亮度与对比度
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

LaoYuanPython

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

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

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

打赏作者

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

抵扣说明:

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

余额充值