APP_KEY 必须是至少 32 字符的随机串且需长期保持不变,更换后要重新连接媒体服务器;数据卷 /data 需在升级时保留;默认只绑定 127.0.0.1:7171,从其他设备访问编辑需配置 HTTPS。

docker run -d \
--name cliparr \
-p 127.0.0.1:7171:7171 \
-e APP_KEY="your-32-char-stable-random-secret" \
-v cliparr-data:/data \
ghcr.io/techsquidtv/cliparr:latestREADME 未说明硬件要求;剪辑与导出在浏览器中运行,服务端以 Docker 容器部署。
自托管的浏览器剪辑工具,从 Plex、Jellyfin 或本地文件里剪出片段
从 Jellyfin、Plex 等自建媒体服务器中按需截取片段,省去手动下载整片再剪辑的麻烦,适合做精彩集锦或分享。
核心能力
- 自动跟随 Plex 和 Jellyfin 的播放会话发现媒体
- 在浏览器内完成裁剪、按比例裁切画面
- 导出视频、纯音频或 GIF,全程在浏览器执行
- 保留源元数据、封面和片段时码写入容器
- 自制或导入字幕并烧录进片段
容易踩的坑
- v3.1.0最新正式版2026-11-08 · 2026-11-08 17:06 UTC
Highlights
- Crop video with freeform drawing, aspect-ratio presets, or exact pixel controls. On desktop, open Crop beside the screenshot button or expand Crop in the Properties sidebar. On phones, choose Crop in the bottom action bar; settings appear below the preview, and the timeline hides to give the picture more room. Done returns to the cropped preview, and Remove crop restores the full frame. Crops are saved in drafts, support undo/redo and touch controls, and apply to video, GIF, and screenshot exports before resizing and subtitles.
- Edit more comfortably on phones with a larger preview and a bottom action bar for Trim, Subtitles, Crop, Playback, and More. Open subtitle controls when needed, adjust exact clip ranges in Trim, and expand track names from Timeline view. Pending edits, undo/redo history, and timeline position are preserved when switching tools or resizing the workspace.
- See which stage each media source has reached while playback loads: connecting, finding playback, or preparing playback details. Sources that are ready remain available while others continue loading.
- Connect to Plex servers faster when an earlier connection address is slow or unavailable by trying addresses in a staggered sequence.
- Get a confirmation before leaving the editor during an active export. Reloading or closing the tab also requests a browser warning.
- Export valid standalone FLAC files with short final frames in full. Cliparr continues to reject incomplete sources rather than silently exporting truncated audio.
- Improve timeline playback and scrubbing, including playback boundary and audio-context suspension behavior.
Maintenance
Application dependencies and container images are updated. Container builds and deployment examples are hardened, and playback loading timings are available in the logging guide.
Upgrade notes
Existing Docker commands and Compose files retain their configured port binding, data volume, and
APP_KEY. If you replace your configuration with this repository's updated Compose file, it binds port 7171 to localhost by default. For remote access, setCLIPARR_BIND_ADDRESSto an appropriate host interface and use a VPN or authenticated reverse proxy. See Access control.Source builds and integrations: The production, development, and capture Dockerfiles have been consolidated into
docker/Dockerfilewith corresponding build targets. Development provider profiles, volume ownership, and custom fixture checksum settings have also changed; see the Docker guide before updating a source checkout.Live playback integrations: The source-state stream can now report
discoveringandpreparing. Custom clients that exhaustively handle source states must accept these values.If you are upgrading from 2.x, follow the v3.0.0 migration instructions first.
What's Changed
- build(cliparr): update docker images by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/291
- fix(cliparr): update npm dependencies by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/290
- security(cliparr): consolidate and harden Docker environments by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/292
- security(cliparr): harden deployment examples in the docs by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/294
- perf(cliparr): run Docker compile stages on the build platform by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/295
- fix(cliparr): default CLIPARR_VERSION for local builds by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/293
- fix(frontend): protect active exports from navigation by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/296
- perf(server): stagger Plex connection attempts by @KyleT
- v3.1.0-rc.3pre-release2026-11-08 · 2026-11-08 04:50 UTC
查看更新说明
Highlights
- Crop video with freeform drawing, aspect-ratio presets, or exact pixel controls. On desktop, open Crop beside the screenshot button or expand Crop in the Properties sidebar. On phones, choose Crop in the bottom action bar; settings appear below the preview, and the timeline hides to give the picture more room. Done returns to the cropped preview, and Remove crop restores the full frame. Crops are saved in drafts, support undo/redo and touch controls, and apply to video, GIF, and screenshot exports before resizing and subtitles.
- Edit more comfortably on phones with a larger preview and a bottom action bar for Trim, Subtitles, Crop, Playback, and More. Open subtitle controls when needed, adjust exact clip ranges in Trim, and expand track names from Timeline view. Pending edits, undo/redo history, and timeline position are preserved when switching tools or resizing the workspace.
- See which stage each media source has reached while playback loads: connecting, finding playback, or preparing playback details. Sources that are ready remain available while others continue loading.
- Connect to Plex servers faster when an earlier connection address is slow or unavailable by trying addresses in a staggered sequence.
- Get a confirmation before leaving the editor during an active export. Reloading or closing the tab also requests a browser warning.
- Export valid standalone FLAC files with short final frames in full. Cliparr continues to reject incomplete sources rather than silently exporting truncated audio.
- Improve timeline playback and scrubbing, including playback boundary and audio-context suspension behavior.
Maintenance
Application dependencies and container images are updated. Container builds and deployment examples are hardened, and playback loading timings are available in the logging guide.
Upgrade notes
Existing Docker commands and Compose files retain their configured port binding, data volume, and
APP_KEY. If you replace your configuration with this repository's updated Compose file, it binds port 7171 to localhost by default. For remote access, setCLIPARR_BIND_ADDRESSto an appropriate host interface and use a VPN or authenticated reverse proxy. See Access control.Source builds and integrations: The production, development, and capture Dockerfiles have been consolidated into
docker/Dockerfilewith corresponding build targets. Development provider profiles, volume ownership, and custom fixture checksum settings have also changed; see the Docker guide before updating a source checkout.Live playback integrations: The source-state stream can now report
discoveringandpreparing. Custom clients that exhaustively handle source states must accept these values.If you are upgrading from 2.x, follow the v3.0.0 migration instructions first.
What's Changed
- fix(frontend): keep playback status in dashboard header by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/325
- ci(cliparr): scan both production image architectures by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/326
- build(types): centralize Node typings in the pnpm catalog by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/327
- ci(node): pin the CI toolchain through .nvmrc by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/328
- feat(frontend): add a mobile export drawer and simplify desktop controls by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/331
Full Changelog: https://github.com/TechSquidTV/Cliparr/compare/v3.1.0-rc.2...v3.1.0-rc.3
Docker image
Published to
ghcr.io/techsquidtv/cliparr.docker pull ghcr.io/techsquidtv/cliparr:3.1.0-rc.3Tags:
ghcr.io/techsquidtv/cliparr:3.1.0-rc.3- `ghcr.i
- v3.1.0-rc.2pre-release2026-11-07 · 2026-11-07 19:33 UTC
查看更新说明
Highlights
- Crop video with freeform drawing, aspect-ratio presets, or exact pixel controls. On desktop, open Crop beside the screenshot button or expand Crop in the Properties sidebar. On phones, choose Crop in the bottom action bar; settings appear below the preview, and the timeline hides to give the picture more room. Done returns to the cropped preview, and Remove crop restores the full frame. Crops are saved in drafts, support undo/redo and touch controls, and apply to video, GIF, and screenshot exports before resizing and subtitles.
- Edit more comfortably on phones with a larger preview and a bottom action bar for Trim, Subtitles, Crop, Playback, and More. Open subtitle controls when needed, adjust exact clip ranges in Trim, and expand track names from Timeline view. Pending edits, undo/redo history, and timeline position are preserved when switching tools or resizing the workspace.
- See which stage each media source has reached while playback loads: connecting, finding playback, or preparing playback details. Sources that are ready remain available while others continue loading.
- Connect to Plex servers faster when an earlier connection address is slow or unavailable by trying addresses in a staggered sequence.
- Get a confirmation before leaving the editor during an active export. Reloading or closing the tab also requests a browser warning.
- Export valid standalone FLAC files with short final frames in full. Cliparr continues to reject incomplete sources rather than silently exporting truncated audio.
- Improve timeline playback and scrubbing, including playback boundary and audio-context suspension behavior.
Maintenance
Application dependencies and container images are updated. Container builds and deployment examples are hardened, and playback loading timings are available in the logging guide.
Upgrade notes
Existing Docker commands and Compose files retain their configured port binding, data volume, and
APP_KEY. If you replace your configuration with this repository's updated Compose file, it binds port 7171 to localhost by default. For remote access, setCLIPARR_BIND_ADDRESSto an appropriate host interface and use a VPN or authenticated reverse proxy. See Access control.Source builds and integrations: The production, development, and capture Dockerfiles have been consolidated into
docker/Dockerfilewith corresponding build targets. Development provider profiles, volume ownership, and custom fixture checksum settings have also changed; see the Docker guide before updating a source checkout.Live playback integrations: The source-state stream can now report
discoveringandpreparing. Custom clients that exhaustively handle source states must accept these values.If you are upgrading from 2.x, follow the v3.0.0 migration instructions first.
What's Changed
- fix(frontend): keep mobile timeline scrollbar drags active by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/313
- fix(frontend): stabilize loading states by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/314
- fix(cliparr): update npm dependencies by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/316
- chore(cliparr): update node.js to v26 by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/317
- docs(cliparr): update caddy docker tag to v2.11.9 by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/315
- security(cliparr): fix runtime zlib and update CI to Node.js 26 by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/318
- docs(cliparr): streamline repository skills by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/319
- fix(frontend): show new subtitles on paused video frames by @KyleTryon in https://
- v3.1.0-rc.1pre-release2026-11-07 · 2026-11-07 02:49 UTC
查看更新说明
Highlights
- Crop video with freeform drawing, aspect-ratio presets, or exact pixel controls. On desktop, open Crop beside the screenshot button or expand Crop in the Properties sidebar. On phones, choose Crop in the bottom action bar; settings appear below the preview, and the timeline hides to give the picture more room. Done returns to the cropped preview, and Remove crop restores the full frame. Crops are saved in drafts, support undo/redo and touch controls, and apply to video, GIF, and screenshot exports before resizing and subtitles.
- Edit more comfortably on phones with a larger preview and a bottom action bar for Trim, Subtitles, Crop, Playback, and More. Open subtitle controls when needed, adjust exact clip ranges in Trim, and expand track names from Timeline view. Pending edits, undo/redo history, and timeline position are preserved when switching tools or resizing the workspace.
- See which stage each media source has reached while playback loads: connecting, finding playback, or preparing playback details. Sources that are ready remain available while others continue loading.
- Connect to Plex servers faster when an earlier connection address is slow or unavailable by trying addresses in a staggered sequence.
- Get a confirmation before leaving the editor during an active export. Reloading or closing the tab also requests a browser warning.
- Export valid standalone FLAC files with short final frames in full. Cliparr continues to reject incomplete sources rather than silently exporting truncated audio.
- Improve timeline playback and scrubbing, including playback boundary and audio-context suspension behavior.
Maintenance
Application dependencies and container images are updated. Container builds and deployment examples are hardened, and playback loading timings are available in the logging guide.
Upgrade notes
Existing Docker commands and Compose files retain their configured port binding, data volume, and
APP_KEY. If you replace your configuration with this repository's updated Compose file, it binds port 7171 to localhost by default. For remote access, setCLIPARR_BIND_ADDRESSto an appropriate host interface and use a VPN or authenticated reverse proxy. See Access control.Source builds and integrations: The production, development, and capture Dockerfiles have been consolidated into
docker/Dockerfilewith corresponding build targets. Development provider profiles, volume ownership, and custom fixture checksum settings have also changed; see the Docker guide before updating a source checkout.Live playback integrations: The source-state stream can now report
discoveringandpreparing. Custom clients that exhaustively handle source states must accept these values.If you are upgrading from 2.x, follow the v3.0.0 migration instructions first.
What's Changed
- build(cliparr): update docker images by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/291
- fix(cliparr): update npm dependencies by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/290
- security(cliparr): consolidate and harden Docker environments by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/292
- security(cliparr): harden deployment examples in the docs by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/294
- perf(cliparr): run Docker compile stages on the build platform by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/295
- fix(cliparr): default CLIPARR_VERSION for local builds by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/293
- fix(frontend): protect active exports from navigation by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/296
- perf(server): stagger Plex connection attempts by @KyleT
- v3.0.12026-10-20 · 2026-10-20 02:30 UTC
查看更新说明
Highlights
- Reduce memory use for video and audio exports in browsers with a native save picker by writing directly to disk. Cliparr and Cliparr Convert now ask you to choose the save location before processing starts. GIFs and browsers without the picker continue to download after export.
- GIF exports using Compact quality produce smaller files with the same appearance and timing.
- Screen readers announce editor slider labels and values, including units. More interface animations respect your device's reduced-motion setting.
- Restore rounded corners and opening animations on Cliparr Convert's dropdowns.
Maintenance
Much of this release reorganizes the editor, export, and media-server code and removes duplicated logic. Dependencies and Docker images are also updated.
Upgrade notes
No new data migration or configuration changes are required when upgrading from v3.0.0. If you are upgrading from 2.x, follow the v3.0.0 migration instructions first.
When saving directly to disk, MP4, MOV, and M4A files place playback metadata at the end of the file. If you host these files for progressive playback, a player may need to fetch the end before playback starts. Files downloaded through the browser keep playback metadata at the beginning.
What's Changed
- feat(www): add Cliparr 3.0 release post by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/234
- feat(www): add as seen on section to homepage by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/237
- fix(www): restore original Cliparr 2.0 blog hero by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/239
- fix(www): remove demo footage attribution from footer by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/240
- docs(cliparr): show subtitles in README screenshot by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/241
- fix(www): separate README social stills from video previews by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/242
- refactor(server): move provider domain modules out of db by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/243
- refactor(server): extract local URL provider by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/244
- refactor(server): split shared media proxy by concern by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/245
- refactor(server): mirror Plex layout in Jellyfin playback by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/246
- build(cliparr): update docker images by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/249
- fix(cliparr): update npm dependencies by @renovate[bot] in https://github.com/TechSquidTV/Cliparr/pull/248
- refactor(frontend): colocate editor media models by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/259
- ci(cliparr): bound CI summary input by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/258
- refactor(server): separate session and HTTP concerns by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/254
- refactor(frontend): colocate subtitle selection helpers by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/260
- refactor(server): colocate provider tests by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/255
- refactor(frontend): separate framegrab format definitions by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/261
- refactor(frontend): group optional media codec modules by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/262
- refactor(frontend): group export contracts and metadata by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/263
- refactor(frontend): group export execution and fixtures by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/264
- refactor(frontend): extract editor export planning by @KyleTryon in https://github.com/TechSquidTV/Cliparr/pull/251
- refactor(shared): consolidate logging source and tests by @Kyle
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Cliparr
Self-hosted clipping for Plex, Jellyfin, and local files. Trim video, add subtitles, and export video, audio, or GIFs in your browser.
Features
- Live session discovery: Follow playback automatically from connected Plex and Jellyfin servers.
- Open local videos: Clip local files without uploading them. Direct media URLs require provider sign-in.
- Trim and crop: Fine-tune your clip range, then crop the picture freely or to an aspect ratio with mouse or touch controls.
- Video, audio, and GIF export: Choose video or audio-only formats, or make a GIF. Exports run in your browser.
- Metadata included: Keep source details, artwork, and clip timing in supported video and audio containers.
- Subtitle authoring: Create your own captions or import subtitles, then style and burn subtitles into your clip.
Quick start
Replace APP_KEY with a random secret of at least 32 characters; for example, generate one with openssl rand -base64 32. Keep the secret and data volume across updates. Changing APP_KEY requires reconnecting your media servers.
docker run -d \
--name cliparr \
-p 127.0.0.1:7171:7171 \
-e APP_KEY="your-32-char-stable-random-secret" \
-v cliparr-data:/data \
ghcr.io/techsquidtv/cliparr:latest
docker run -d `
--name cliparr `
-p 127.0.0.1:7171:7171 `
-e APP_KEY="your-32-char-stable-random-secret" `
-v cliparr-data:/data `
ghcr.io/techsquidtv/cliparr:latest
Use Docker with Linux containers.
Open http://localhost:7171, then connect a media server or choose Open Video for a local file. Access from other devices requires HTTPS for editing.
For Docker Compose and installation details, see Getting started.
Guides
- Provider setup and account requirements
- Reverse proxies and access control
- Browser support and editor shortcuts
- Environment variables and logging
Development
See Contributing for local setup, the Docker dev stack, validation, and release procedures.
License
MIT.