标签: moviepy

切出一部分视频 - 蟒蛇

我的视频长度大约每个25分钟,我希望从开始使用python几秒钟.

搜索一下,我偶然发现了python的moviepy包.问题是,即使是单个视频也需要花费很多时间.以下是我用于从单个视频开始剪切7秒的代码片段.写入过程会耗费大量时间.有没有更好的方法来使用python剪切视频?

from moviepy.editor import *
clip = VideoFileClip("video1.mp4").cutout(0, 7)
clip.write_videofile("test.mp4")
Run Code Online (Sandbox Code Playgroud)

如果我错过了任何细节,请告诉我.

任何帮助表示赞赏.谢谢!

python video moviepy

32
推荐指数
4
解决办法
2万
查看次数

每当尝试将 write_videofile 运行到 moviepy 中的剪辑时,都会出现“TypeError:必须是实数,而不是 NoneType”

示例代码:

from moviepy.editor import *
clip = VideoFileClip('video.mp4')
clip.write_videofile('video2.mp4', fps=30)
Run Code Online (Sandbox Code Playgroud)

显示以下消息后,表明视频正在构建和写入,

Moviepy - Building video video2.mp4.
Moviepy - Writing video video2.mp4
Run Code Online (Sandbox Code Playgroud)

出现以下错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\User\Anaconda3\lib\site-packages\decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "C:\Users\User\Anaconda3\lib\site-packages\moviepy\decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "C:\Users\User\Anaconda3\lib\site-packages\decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "C:\Users\User\Anaconda3\lib\site-packages\moviepy\decorators.py", line 135, in use_clip_fps_by_default
    return f(clip, *new_a, **new_kw)
  File "C:\Users\User\Anaconda3\lib\site-packages\decorator.py", line …
Run Code Online (Sandbox Code Playgroud)

python ffmpeg video-processing moviepy

17
推荐指数
3
解决办法
2万
查看次数

如何在moviepy中连接视频?

我正在尝试使用moviepy生成带有文本的视频.首先,我想显示一条消息,然后显示另一条消息.在我的情况下,我希望显示"狗"一秒钟而不是"猫猫".为此,我使用以下代码:

来自moviepy.editor import*

def my_func(messeges):

    clips = {}
    count = 0
    for messege in messeges:
        count += 1
        clips[count] = TextClip(messege, fontsize=270, color='green')
        clips[count] = clips[count].set_pos('center').set_duration(1)
        clips[count].write_videofile(str(count) + '.avi', fps=24, codec='mpeg4')

    videos = [clips[i+1] for i in range(count)]
    video = concatenate(videos)
    video.write_videofile('test.avi', fps=24, codec='mpeg4')

    video = VideoFileClip('test.avi')
    video.write_gif('test.gif', fps=24)

if __name__ == '__main__':

    ms  = []    
    ms += ['Dog']
    ms += ['Cat Cat']
    my_func(ms)
Run Code Online (Sandbox Code Playgroud)

这是我得到的结果:

在此输入图像描述

有谁知道为什么我有猫的问题?

python animation concatenation moviepy

13
推荐指数
1
解决办法
5309
查看次数

提出NeedDownloadError('需要ffmpeg exe.'NeedDownloadError:需要ffmpeg exe)

我正在尝试执行一个非官方的Instagram API python库的调用,在我修复了几个依赖关系的错误之后,我就陷入了这个问题.

 File "C:\Users\Pablo\Desktop\txts_pys_phps_programacion\Instagram-API-python-master\InstagramAPI.py", line 15, in <module>
    from moviepy.editor import VideoFileClip
  File "C:\Python27\lib\site-packages\moviepy\editor.py", line 22, in <module>
    from .video.io.VideoFileClip import VideoFileClip
  File "C:\Python27\lib\site-packages\moviepy\video\io\VideoFileClip.py", line 3, in <module>
    from moviepy.video.VideoClip import VideoClip
  File "C:\Python27\lib\site-packages\moviepy\video\VideoClip.py", line 20, in <module>
    from .io.ffmpeg_writer import ffmpeg_write_image, ffmpeg_write_video
  File "C:\Python27\lib\site-packages\moviepy\video\io\ffmpeg_writer.py", line 15, in <module>
    from moviepy.config import get_setting
  File "C:\Python27\lib\site-packages\moviepy\config.py", line 38, in <module>
    FFMPEG_BINARY = get_exe()
  File "C:\Python27\lib\site-packages\imageio\plugins\ffmpeg.py", line 86, in get_exe
    raise NeedDownloadError('Need ffmpeg exe. '
NeedDownloadError: Need ffmpeg exe. You can …
Run Code Online (Sandbox Code Playgroud)

python ffmpeg python-2.7 instagram-api moviepy

11
推荐指数
3
解决办法
1万
查看次数

Moviepy - 裁剪视频,其中帧(感兴趣的区域)随时间从左向右移动

我正在使用 MoviePy 在服务器上自动从视频剪辑创建 GIF。该库帮助对视频进行各种转换和修剪以创建 GIF。

在我当前的项目中,我有一个包含大量移动对象的视频剪辑,因此很难自动跟踪感兴趣的区域。 (下面的快速 gif 显示了该场景,尽管那里的背景可以很容易消除并跟踪对象。但是假设跟踪对象超出了项目的范围)。

如下面的 gif 所示,红色矩形是随着时间从左向右移动的感兴趣区域。我想裁剪该区域并创建一个 GIF。

在此输入图像描述

我正在使用 MoviePy,从视频中裁剪出一个矩形来创建 gif。但矩形固定在其原始坐标位置。我正在寻找一种随时间移动该矩形并裁剪它以创建 GIF 的方法。

clip = (VideoFileClip("my_video.mp4")
         .subclip((1,10.1),(1,14.9))
         .resize(0.5)
         .crop(x1=145,y1=110,x2=400,y2=810)) 

clip.write_gif("my_gif.gif")
Run Code Online (Sandbox Code Playgroud)

如何添加时间因子,使得该坐标随时间变化。

欢迎任何建议。

python gif video-editing moviepy

9
推荐指数
1
解决办法
1万
查看次数

如何调整视频剪辑Python的大小

我想在python 2.7中调整视频片段的大小.

例如,我们给出1080p质量的"movie.mp4"结果应该是具有360p质量的"movie.mp4"

我认为应该有Moviepy的解决方案.如果你知道它的解决方案.

如果你回答我,我将不胜感激.

python video resize ffmpeg moviepy

8
推荐指数
2
解决办法
1万
查看次数

如何合并两个视频?

我使用https://github.com/Zulko/moviepy 库将两个视频与 python 合并。它合并成功,但合并的.mp4 中不存在视频声音。

蟒蛇代码:

clip1 = VideoFileClip("2.mp4",audio=True)
clip2 = VideoFileClip("1.mp4",audio=True)
final_clip = concatenate_videoclips([clip1,clip2],method="compose")
final_clip.write_videofile("merged.mp4")
Run Code Online (Sandbox Code Playgroud)

我也试过 ffmpeg

ffmpeg -i 'concat:1.mp4|2.mp4' -codec copy merged.mp4
Run Code Online (Sandbox Code Playgroud)

ffmpeg 无法合并视频。它创建了只有 1.mp4 的 merge.mp4

如何使用 python 或其他方式合并两个视频?

python video ffmpeg moviepy

8
推荐指数
1
解决办法
1万
查看次数

无法导入moviepy.editor

我试图使用moviepy库创建一个使用python的应用程序.我用它安装了:

pip install moviepy
Run Code Online (Sandbox Code Playgroud)

我从MoviePy崩溃课程中找到了这个:

# Import everything needed to edit video clips
from moviepy.editor import *
Run Code Online (Sandbox Code Playgroud)

尝试运行此行后,我收到此错误:

Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32     bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> # Import everything needed to edit video clips
... from moviepy.editor import *
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "C:\Python27\lib\site-packages\moviepy\editor.py", line 22, in <module>
    from .video.io.VideoFileClip import VideoFileClip
  File "C:\Python27\lib\site-packages\moviepy\video\io\VideoFileClip.py", line 3, …
Run Code Online (Sandbox Code Playgroud)

python pip moviepy

8
推荐指数
1
解决办法
9153
查看次数

在 MoviePy 中混合音频文件

我一直在使用 MoviePy 编写脚本。到目前为止,我已经能够导入视频、剪辑它们、添加文本、替换音频并编写新文件。这是一次很棒的学习经历。我的问题是这样的:

我正在编辑的电影附有音频。我希望能够在不替换原始音频的情况下导入音轨并将其添加到电影中。换句话说,我想将新的音频文件与附加到视频的音频混合在一起,这样两者都可以被听到。

有谁知道如何做到这一点?提前致谢!

python python-3.x moviepy

8
推荐指数
1
解决办法
6013
查看次数

用于MoviePy的macOS上的ffmpeg安装因SSL错误而失败

我正在尝试编写一个在Mac OS 10.11.16上使用MoviePy将Python文件转换为GIF的Python程序.我用:

import moviepy.editor as mp
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,说我需要打电话,imageio.plugins.ffmpeg.download()所以我可以下载ffmpeg.我用:

import imageio
imageio.plugins.ffmpeg.download()
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

Imageio: 'ffmpeg.osx' was not found on your computer; downloading it now.
Error while fetching file: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>.
Error while fetching file: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>.
Error while fetching file: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>.
Error while fetching file: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)>.
Traceback (most recent call last):
  File "<pyshell#2>", …
Run Code Online (Sandbox Code Playgroud)

python macos ffmpeg moviepy python-imageio

8
推荐指数
2
解决办法
2103
查看次数