moviepy音视频剪辑:输出文件前预览剪辑和视频帧的preview和imdisplay方法
☞ ░ 前往老猿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音视频剪辑:输出文件前预览剪辑和视频帧的preview和imdisplay方法的更多相关文章
- Android开发 获取视频中的信息(例如预览图或视频时长) MediaMetadataRetriever媒体元数据检索器
前言 在Android里获取视频的信息主要依靠MediaMetadataRetriever实现 获取最佳视频预览图 所谓的最佳就是MediaMetadataRetriever自己计算的 /** * 获 ...
- input file实现多选,限制文件上传类型,图片上传前预览功能
限制上传类型 & 多选:① accept 属性只能与 <input type="file" /> 配合使用.它规定能够通过文件上传进行提交的文件类型. ② mu ...
- FileReader与URL.createObjectURL实现图片、视频上传前预览
之前做图片.视频上传预览常用的方案是先把文件上传到服务器,等服务器返回文件的地址后,再把该地址字符串赋给img或video的src属性,这才实现所谓的文件预览.实际上这只是文件“上传后再预览”,这既浪 ...
- file标签 - 图片上传前预览 - FileReader & 网络图片转base64和文件流
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
- Java实现文件的预览
最近项目需要用到文件的预览功能,就开始在网上收集资料,学习了几种文件预览的方法.我集成到我项目内测试的有以下三种,最后使用的是第三种: 直接使用别人提供的服务 例如:office web 365 使用 ...
- 基于开源方案构建统一的文件在线预览与office协同编辑平台的架构与实现历程
大家好,又见面了. 在构建业务系统的时候,经常会涉及到对附件的支持,继而又会引申出对附件在线预览.在线编辑.多人协同编辑等种种能力的诉求. 对于人力不是特别充裕.或者项目投入预期规划不是特别大的公司或 ...
- hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images
hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images, 本例子主要是使用HTML5 的File API,建立一個可存取到该file的url, 一个空的img标签,ID为img0,把 ...
- html之file标签 --- 图片上传前预览 -- FileReader
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
- 【转】HTML5 jQuery图片上传前预览
hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images,本例子主要是使用HTML5 的File API,建立一個可存取到该 file的url,一个空的img标签,ID为img0,把选 ...
随机推荐
- CF957E Contact ATC
二维偏序(逆序对) 因为风速vf,-w<=vf<=w,因此我们可以算出每一艘船到达原点的时间的取值范围 即取vf=w和vf=-w时,记ai为当vf=w时的用时,记bi为当vf=-w时的用时 ...
- 安卓快速关机APP
目录 自说自话 使用方法 自说自话 像我这样每天晚上睡觉关机的人不知道有多少,反正我每天都有关机的需求.因此我特别讨厌长按关机键进行关机,感觉浪费我好几秒的生命. 因此我开发了这款APP,主要是自用, ...
- 错误C3646“name”: 未知重写说明符 问题
在用多文件编译来写一个程序时,遇到了一个错误: 错误C3646"name": 未知重写说明符 于是我就去某搜索引擎上搜索一下前辈们对这个错误的心得 综合网上的经验我总结了一下出现这 ...
- tp3.2关闭debug save方法执行失败
解决该问题需要 清除缓存文件 将retime下的文件删除
- 斯福赛特:中了.Devos勒索病毒。所有文件被加密了,如何解密解决?
什么是.devos勒索病毒? 也称为DHARMA勒索软件1,它通过加密文件并要求支付赎金以恢复对文件的访问来修改您的文件. DHARMA勒索软件通过名为.devos的新加密病毒再次活跃.该特定的病毒家 ...
- 浅析TCP协议---转载
https://cloud.tencent.com/developer/article/1150971 前言 说到TCP协议,相信大家都比较熟悉了,对于TCP协议总能说个一二三来,但是TCP协议又是一 ...
- bss、弱符号强符号、common块、未初始化的全局变量------程序员的自我修养-链接装载与库
- 二、多线程及服务器编程总结------linux多线程服务端编程
- 通过lseek产生空洞文件
//off_t lseek(int fd,off_t offset, int base) 偏移量 搜索的起始位置(文件头(SEEK_SET),当前指针位置(SEEK_CUR),文件尾(SEEK_END ...
- 1-03 Java的基本程序设计结构
1-03 Java的基本程序设计结构 3.1 & 3.2 在一个单词中间使用大写字母的方式称为骆驼命名法.以其自身为例,应该写成CamelCase). 与C/C++一样,关键字void表示这个 ...