Files
Sean 6918795716 新增镜像中文简介
新增镜像中文简介
2026-07-13 00:37:24 +08:00

15 KiB
Raw Permalink Blame History

image, description, source, canonical, exported_at
image description source canonical exported_at
linuxserver/openshot LinuxServer.io提供的OpenShot视频编辑器Docker镜像,用于便捷部署和运行开源视频编辑软件,支持在容器化环境中进行视频编辑工作。 https://xuanyuan.cloud/zh/r/linuxserver/openshot https://xuanyuan.cloud/zh/r/linuxserver/openshot 2026-07-12T16:36:12.930Z

轩辕镜像中文简介(在线版): linuxserver/openshot 中文简介

含镜像标签、拉取命令、部署文档与相关推荐。

linuxserver/openshot

镜像概述和主要用途

OpenShot Video Editor 是一款屡获殊荣的免费开源视频编辑器,适用于Linux、Mac和Windows系统,致力于为全球用户提供高质量的视频编辑和动画解决方案。本镜像由LinuxServer.io团队提供,将OpenShot视频编辑器容器化,便于在Docker环境中快速部署和使用。

LinuxServer.io团队提供的容器具有以下特点:

  • 定期及时的应用更新
  • 简单的用户映射(PGID、PUID)
  • 带有s6覆盖层的自定义基础镜像
  • 每周基础操作系统更新,在整个LinuxServer.io生态系统中共享通用层,以最小化空间使用、停机时间和带宽
  • 定期安全更新

核心功能和特性

  • 完整的OpenShot视频编辑功能,包括视频剪辑、过渡效果、标题动画等
  • 通过Web界面访问的图形化视频编辑环境
  • 支持多种视频、音频格式的导入和导出
  • 多平台架构支持(x86-64)
  • 可配置的用户权限和访问控制
  • 可选的GPU加速支持,提升视频处理性能
  • 支持多语言界面
  • 持久化配置和项目文件存储

支持的架构

该镜像利用Docker manifest实现多平台支持。只需拉取lscr.io/linuxserver/openshot:latest即可获取适合您架构的正确镜像,也可以通过标签拉取特定架构的镜像。

架构 可用 标签
x86-64 ✅ amd64-<version tag>
arm64 ❌

使用场景和适用范围

  • 个人视频编辑工作流
  • 教育机构的视频制作教学
  • 小型工作室的视频内容创作
  • 需要在服务器环境中进行视频处理的场景
  • 开发和测试视频编辑自动化脚本
  • 作为轻量级视频编辑工具集成到更大的媒体工作流中

详细的使用方法和配置说明

应用访问

应用可通过以下地址访问:

严格反向代理设置

此镜像默认使用自签名证书,因此协议为https。如果您使用验证证书的反向代理,需要为容器禁用此检查。

现代GUI桌面应用可能与最新的Docker系统调用限制存在兼容性问题。您可以使用--security-opt seccomp=unconfined设置运行Docker,以允许旧内核或libseccomp版本的主机上的这些系统调用。

安全性

Warning

此容器提供对主机系统的特权访问。除非已正确配置安全措施,否则不要将其暴露到互联网。

完整功能需要HTTPS。 WebCodecs等现代浏览器功能(用于视频和音频)不会在不安全的HTTP连接上运行。

默认情况下,此容器没有身份验证。可选的CUSTOM_USER和PASSWORD环境变量启用基本HTTP身份验证,这仅适用于在受信任的本地网络上保护容器。对于互联网暴露,强烈建议将容器放在反向代理(如SWAG)后面,并使用强大的身份验证机制。

Web界面包含具有无密码sudo访问权限的终端。任何有权访问GUI的用户都可以在容器内获得root控制权,安装任意软件,并探测本地网络。

虽然通常不推荐,但某些特定的遗留环境(特别是那些使用较旧硬件或过时Linux发行版的环境)可能需要停用标准seccomp配置文件才能运行容器化桌面软件。这可以通过使用--security-opt seccomp=unconfined参数实现。仅在绝对必要时使用此选项,因为它会禁用Docker的关键安全层,增加容器逃逸漏洞的可能性。

Selkies-based GUI容器的通用选项

此容器基于Docker Baseimage Selkies构建,提供以下环境变量和运行配置以自定义其功能。

可选环境变量

变量 描述
CUSTOM_PORT 内部HTTP端口,默认为3000
CUSTOM_HTTPS_PORT 内部HTTPS端口,默认为3001
CUSTOM_WS_PORT 容器监听WebSocket的内部端口,默认8082
CUSTOM_USER HTTP基本身份验证的用户名,默认为abc
PASSWORD HTTP基本身份验证的密码,如果未设置,则禁用身份验证
SUBFOLDER 反向代理配置的应用子文件夹,必须包含前导和尾随斜杠,例如/subfolder/
TITLE Web浏览器中显示的页面标题,默认为"Selkies"
START_DOCKER 如果设置为false,则不会自动启动特权Docker-in-Docker设置
DISABLE_IPV6 设置为true以禁用容器中的IPv6支持
LC_ALL 设置容器的区域设置,例如fr_FR.UTF-8
DRINODE 挂载/dev/dri用于DRI3 GPU加速时,指定要使用的设备,例如/dev/dri/renderD128
NO_DECOR 如果设置,应用程序将无窗口边框运行,适合PWA使用
NO_FULL 如果设置,应用程序将不会自动全屏显示
DISABLE_ZINK 如果设置,检测到视频卡时不会配置Zink相关环境变量
WATERMARK_PNG 容器内水印PNG文件的完整路径,例如/usr/share/selkies/www/icon.png
WATERMARK_LOCATION 指定水印位置的整数:1(左上角)、2(右上角)、3(左下角)、4(右下角)、5(居中)、6(动画)

可选运行配置

参数 描述
--privileged 启动Docker-in-Docker (DinD)环境。为获得更好的性能,从主机挂载Docker数据目录,例如-v /path/to/docker-data:/var/lib/docker
-v /var/run/docker.sock:/var/run/docker.sock 挂载主机的Docker套接字,以便从容器内管理主机容器
--device /dev/dri:/dev/dri 将GPU挂载到容器中,可与DRINODE环境变量结合使用,以利用主机视频卡进行GPU加速应用。仅支持开源驱动程序,如(Intel、AMDGPU、Radeon、ATI、Nouveau)

语言支持 - 国际化

要以不同语言启动桌面会话,请设置LC_ALL环境变量。例如:

  • -e LC_ALL=zh_CN.UTF-8 - 中文
  • -e LC_ALL=ja_JP.UTF-8 - 日语
  • -e LC_ALL=ko_KR.UTF-8 - 韩语
  • -e LC_ALL=ar_AE.UTF-8 - 阿拉伯语
  • -e LC_ALL=ru_RU.UTF-8 - 俄语
  • -e LC_ALL=es_MX.UTF-8 - 西班牙语(拉丁美洲)
  • -e LC_ALL=de_DE.UTF-8 - 德语
  • -e LC_ALL=fr_FR.UTF-8 - 法语
  • -e LC_ALL=nl_NL.UTF-8 - 荷兰语
  • -e LC_ALL=it_IT.UTF-8 - 意大利语

DRI3 GPU加速

对于加速的应用程序或游戏,可以将渲染设备挂载到容器中,并通过以下方式供应用程序使用:

--device /dev/dri:/dev/dri

此功能仅支持开源GPU驱动程序:

驱动程序 描述
Intel 适用于Intel iGPU芯片组的i965和i915驱动程序
AMD 适用于AMD专用或APU芯片组的AMDGPU、Radeon和ATI驱动程序
NVIDIA 仅nouveau2驱动程序,闭源NVIDIA驱动程序缺乏DRI3支持

DRINODE环境变量可用于指向特定的GPU。

如果容器内安装了适用于您芯片组的正确驱动程序,DRI3将在aarch64上工作。

Nvidia GPU支持

注意:基于Alpine的镜像不支持Nvidia。

通过利用Zink for OpenGL,可以支持Nvidia GPU。当兼容的Nvidia GPU被传递时,它也将自动用于硬件加速视频流编码(使用x264enc全帧配置文件),显著减少CPU负载。

使用以下运行时标志启用Nvidia支持:

标志 描述
--gpus all 将所有可用的主机GPU传递到容器。可以过滤到特定的GPU。
--runtime nvidia 指定Nvidia运行时,提供来自主机的必要驱动程序和工具

对于Docker Compose,必须首先在主机上将Nvidia运行时配置为默认值:

sudo nvidia-ctk runtime configure --runtime=docker --set-as-default
sudo systemctl restart docker

然后,在compose.yaml中为服务分配GPU:

services:
  openshot:
    image: docker.xuanyuan.run/linuxserver/openshot:latest
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [compute,video,graphics,utility]

应用程序管理

有两种方法可以在容器内安装应用程序:PRoot Apps(推荐用于持久性)和Native Apps。

PRoot Apps(持久)

如果重新创建容器,原生安装的软件包(例如通过apt-get install)将不会持久存在。为了在容器更新之间保留应用程序及其设置,建议使用proot-apps。这些是安装到用户的持久$HOME目录的便携式应用程序。

要安装应用程序,请使用容器内的命令行:

proot-apps install filezilla

支持的应用程序列表可在此处找到。

Native Apps(非持久)

您可以使用universal-package-install mod从系统的原生存储库安装软件包。此方法将增加容器的启动时间,并且不具有持久性。在compose.yaml中添加以下内容:

  environment:
    - DOCKER_MODS=linuxserver/mods:universal-package-install
    - INSTALL_PACKAGES=libfuse2|git|gdb

Docker部署方案示例

Docker Compose(推荐)

---
services:
  openshot:
    image: docker.xuanyuan.run/linuxserver/openshot:latest
    container_name: openshot
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      # 可选环境变量
      # - CUSTOM_USER=username
      # - PASSWORD=password
      # - LC_ALL=zh_CN.UTF-8
    volumes:
      - /path/to/openshot/config:/config
      - /path/to/your/videos:/videos  # 可选,挂载视频文件目录
    ports:
      - 3000:3000
      - 3001:3001
    shm_size: "1gb"
    # 如需GPU加速,取消以下注释
    # devices:
    #   - /dev/dri:/dev/dri
    restart: unless-stopped

Docker CLI

docker run -d \
  --name=openshot \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  # 可选环境变量
  # -e CUSTOM_USER=username \
  # -e PASSWORD=password \
  # -e LC_ALL=zh_CN.UTF-8 \
  -p 3000:3000 \
  -p 3001:3001 \
  -v /path/to/openshot/config:/config \
  -v /path/to/your/videos:/videos \  # 可选,挂载视频文件目录
  --shm-size="1gb" \
  # 如需GPU加速,取消以下注释
  # --device /dev/dri:/dev/dri \
  --restart unless-stopped \
  lscr.io/linuxserver/openshot:latest

参数说明

容器使用运行时传递的参数进行配置(如上所示)。这些参数用冒号分隔,表示<外部>:<内部>。例如,-p 8080:80会将容器内的端口80暴露到主机IP的端口8080上。

参数 功能
-p 3000:3000 OpenShot桌面GUI(仅用于反向代理)
-p 3001:3001 OpenShot桌面GUI HTTPS
-e PUID=1000 用户ID - 详见下文说明
-e PGID=1000 组ID - 详见下文说明
-e TZ=Etc/UTC 指定要使用的时区,参见此列表
-v /config 容器内用户的主目录,存储程序设置和文件
--shm-size= 所有桌面镜像推荐使用

来自文件的环境变量(Docker secrets)

您可以使用特殊的前缀FILE__从文件设置任何环境变量。

例如:

-e FILE__MYVAR=/run/secrets/mysecretvariable

将根据/run/secrets/mysecretvariable文件的内容设置环境变量MYVAR。

运行应用程序的Umask

对于我们所有的镜像,您可以使用可选的-e UMASK=022设置覆盖容器内启动的服务的默认umask设置。请记住,umask不是chmod,它基于其值减去权限,而不是添加。在请求支持之前,请阅读相关内容。

用户/组标识符

使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户PUID和组PGID来避免此问题。

确保主机上的任何卷目录都由您指定的相同用户拥有,任何权限问题都将迎刃而解。

在这个例子中PUID=1000和PGID=1000,要找到您的ID,请使用id your_user:

id your_user

示例输出:

uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)

Docker Mods

我们发布各种Docker Mods以启用容器内的附加功能。可用于此镜像的Mod列表(如果有)以及可应用于我们任何镜像的通用Mod可以通过上方的动态徽章访问。

支持信息

  • 容器运行时的Shell访问:

    docker exec -it openshot /bin/bash
    
  • 实时监控容器日志:

    docker logs -f openshot
    
  • 容器版本号:

    docker inspect -f '{{ index .Config.Labels "build_version" }}' openshot
    
  • 镜像版本号:

    docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/openshot:latest
    

更新信息

我们的大多数镜像是静态的、版本化的,需要更新镜像和重新创建容器来更新内部的应用程序。除了一些例外情况(在相关的readme.md中注明),我们不建议或支持在容器内更新应用程序。请查阅上面的应用程序设置部分,了解是否推荐用于该镜像。

以下是更新容器的说明:

通过Docker Compose

  • 更新镜像:

    • 所有镜像:

      docker-compose pull
      
    • 单个镜像:

      docker-compose pull openshot
      
  • 更新容器:

    • 所有容器:

      docker-compose up -d
      
    • 单个容器:

      docker-compose up -d openshot
      
  • 您还可以删除旧的悬空镜像:

    docker image prune
    

通过Docker Run

  • 更新镜像:

    docker pull docker.xuanyuan.run/linuxserver/openshot:latest
    
  • 停止运行中的容器:

    docker stop openshot
    
  • 删除容器:

    docker rm openshot
    
  • 使用上述相同的docker run参数重新创建新容器(如果正确映射到主机文件夹,您的/config文件夹和设置将