我无法在 Ubuntu 20.04 上使用 MoviePy 连接 mkv 剪辑

问题描述 投票:0回答:1

我使用的是 Ubuntu 20.04 的 Docker 容器,我想使用 MoviePy 连接 mkv 文件中的一组视频剪辑

这是我的代码:

combinated_video = concatenate_videoclips(clips)

video_name, extension = os.path.splitext(self.video_path)
combinated_video_path = video_name + "_combinated" + extension

combinated_video.write_videofile(combinated_video_path, codec="libx264", audio_codec="mp3")

clips 是这样的列表:

[<moviepy.video.io.VideoFileClip.VideoFileClip object at 0x7f07eff86400>, <moviepy.video.io.VideoFileClip.VideoFileClip object at 0x7f07eff86670>, <moviepy.video.io.VideoFileClip.VideoFileClip object at 0x7f07eff86940>, <moviepy.video.io.VideoFileClip.VideoFileClip object at 0x7f07eff86c10>, <moviepy.video.io.VideoFileClip.VideoFileClip object at 0x7f07eff86100>]

我在装有 Windows 11 的本地计算机上尝试过,它可以工作,但在 Ubuntu 20.04 上不行

这是我得到的错误:

MoviePy couldn't find the codec associated with the filename. Provide the 'codec' parameter in write_videofile.

这是使用的 Dockerfile:

# syntax=docker/dockerfile:1

FROM nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04

ENV TZ=Europe/Madrid
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update && apt-get upgrade -y

RUN apt-get install -y \
    python3.8 \
    python3-pip \
    python3-dev \
    ffmpeg \
    libsm6 \
    libxext6

RUN echo 'alias [python](https://saturncloud.io/glossary/python)="python3" ' >> ~/.bashrc
RUN echo 'alias pip="pip3" ' >> ~/.bashrc

WORKDIR /app

COPY requirements.txt .
COPY app.py .

RUN pip install --no-cache-dir -r requirements.txt

EXPOSE 5555

CMD ["python3", "app.py"]
python docker ubuntu ubuntu-20.04 moviepy
1个回答
0
投票

问题出在装饰器库版本上。我已将该库的版本更改为 4.4.2 并且它可以工作。

pip install --upgrade decorator==4.4.2
© www.soinside.com 2019 - 2024. All rights reserved.