libopenshot

OpenShotLGPL-3.0活跃维护

libopenshot 是 OpenShot 视频编辑器的底层 C++ 视频库,提供高质量的视频剪辑、动画和播放能力,并开放 C++、Python、Ruby 接口供二次开发。

OpenShot Video Library (libopenshot) is a free, open-source project dedicated to delivering high quality video editing, animation, and playback solutions to the world. API currently supports C++, Python, and Ruby.

v1.1.1发布于 2026-11-02 01:17 UTC1,584star +2 / 7 天331fork同步于 2026-11-10 05:53 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本v1.1.1
  1. v1.1.1最新正式版2026-11-02 · 2026-11-02 01:17 UTC

    Highlights & Features:

    • Mac hardware exports: fixed a crash during VideoToolbox frame uploads by preserving the hardware surface's pixel format.
    • Updated builds: rebuilt on new runners with updated FFmpeg dependencies and checks for expected hardware encoders and runtime libraries.
    • Regression coverage: added a hardware encode/decode test that skips when an encoding session is unavailable.
    • Compatibility: patch release with the shared-library ABI unchanged at SO 33.
    • Audio library: libopenshot-audio remains at version 1.0.2, unchanged for this release.

    libopenshot Changelog (Version: 1.1.1, SO: 33)

    • cf0b398c 2026-11-01 Jonathan Thomas Skip hardware regression test when encoder session is unavailable HEAD, origin/release-20261101
    • 9e65a4ab 2026-11-01 Jonathan Thomas Preserve hardware frame formats during encoder uploads
    • cd2ecb1c 2026-11-01 Jonathan Thomas Add licensing metadata to the FFmpeg hardware check
    • 293d2ba3 2026-11-01 Jonathan Thomas Bump libopenshot to 1.1.1 for the runner rebuild
    • b4647e67 2026-11-01 Jonathan Thomas Verify runner FFmpeg hardware encoders before release builds
    • d7c54513 2026-10-31 Jonathan Thomas Merge pull request #1135 from OpenShot/release-20261025 origin/develop
  2. v1.1.02026-10-31 · 2026-10-31 20:27 UTC
    查看更新说明

    Highlights & Features

    • Native text rendering: New QtTextReader powers editable text clips, with sharp scaling, letter and line spacing, rounded backgrounds, and clean outlines.
    • More responsive playback: Improved preview buffering, cached seeking, and reader handoffs reduce stalls and keep audio aligned across playback changes.
    • Export validation: Discover available formats and encoder capabilities, and test export settings without writing a file.
    • Better audio and captions: Preserve mono audio levels, avoid early clipping, improve microphone capture, and correct caption outline rendering.
    • ARM64 and build compatibility: Native Linux and Windows ARM64 build checks, FFmpeg 7.1 packaging, OpenCV compatibility improvements, and refreshed macOS build instructions.

    Version 1.1.0 uses SO 33 and requires libopenshot-audio 1.0.2 or newer.

    libopenshot Changelog (Version: 1.1.0, SO: 33)

    • 3cec7608 2026-10-30 Jonathan Thomas Print GitLab server version in pipeline setup HEAD, origin/release-20261025
    • 509d97b5 2026-10-30 Jonathan Thomas Fix Windows dependency paths and stabilize CI autogen
    • 58033b28 2026-10-30 Jonathan Thomas Use FFmpeg 7.1 in runner builds and installer packaging
    • ad96f7e4 2026-10-26 Jonathan Thomas Allow Windows camera reads to stop before worker-thread cleanup
    • db0c67d6 2026-10-26 Jonathan Thomas Return black for missing opening pictures without decoding to EOF
    • 89e4723d 2026-10-25 Jonathan Thomas Bump libopenshot to 1.1.0, SO 33, requiring OpenShotAudio 1.0.2
    • 6f63ecae 2026-10-24 Jonathan Thomas Merge pull request #1134 from OpenShot/sharp-scaled-text origin/develop
    • 0011305c 2026-10-23 Jonathan Thomas Keep scaled-up text sharp
    • d8d8c514 2026-10-22 Jonathan Thomas Merge pull request #1131 from OpenShot/easy-text
    • 2d80ac1c 2026-10-21 Jonathan Thomas Merge pull request #1133 from OpenShot/validate-export-options
    • 49773fe4 2026-10-21 Jonathan Thomas Add text corner radius and line spacing; draw outlines behind letters
    • 80443bb2 2026-10-21 Jonathan Thomas Merge remote-tracking branch 'origin/develop' into easy-text
    • 54da0999 2026-10-21 Jonathan Thomas Name QtTextReader text styles like the Caption effect
    • 6a54ea70 2026-10-20 Jonathan Thomas Merge pull request #1132 from OpenShot/audio-mixing-levels
    • c2d4852f 2026-10-20 Jonathan Thomas Add letter spacing to QtTextReader and keep border corners square
    • dd00d37c 2026-10-20 Jonathan Thomas List every format the writer can export to, and flag image encoders
    • 24a10d68 2026-10-20 Jonathan Thomas Report each encoder's codec and whether it's intra-only
    • 052250d2 2026-10-20 Jonathan Thomas Test export settings without writing a file, and fix Close() after a failed header
    • 6d0677ef 2026-10-20 Jonathan Thomas Describe encoders and formats so apps can validate export settings
    • 4b0ae8dd 2026-10-20 Jonathan Thomas Open stereo mics as stereo for mono recordings
    • 97c9558f 2026-10-20 Jonathan Thomas Build EffectMask tests without OpenCV
    • 9ddbfbab 2026-10-20 Jonathan Thomas Keep mono audio at full level and avoid early clipping
    • 470f0198 2026-10-19 Jonathan Thomas Add license header to QtTextReader tests
    • d49e320e 2026-10-19 Jonathan Thomas Give QtTextReader tests system fonts on Windows
    • 9948a81e 2026-10-19 Jonathan Thomas Make QtTextReader cheap to construct and correct at any frame rate
    • 48d51e95 2026-10-19 Jonathan Thomas Add semantic QtTextReader rendering for direct text clips
    • 79769911 2026-10-18 Jonathan Thomas Merge pull request #1128 from OpenShot/caption-qt-fixes
    • 71c6c34e 2026-10-18 Jonathan Thomas Merge pull request #1117 from OpenShot/arm64-support
    • efb91fd4 2026-10-17 Jonathan Thomas Re
  3. v1.0.12026-09-27 · 2026-09-27 22:16 UTC
    查看更新说明

    Highlights & Features:

    • Faster JSON keyframe updates, reducing processing overhead for animation and transform editing.
    • Fixed playback, seeking, frame-handoff, and reader-lifecycle races, including crashes when deleting timeline clips.
    • Preserved legacy clip positioning and animation through per-clip coordinate conventions.
    • Corrected transition routing and compositing order for clips with matching start times.
    • Improved screen-recording audio synchronization and handling of delayed audio, gaps, and packet-boundary crackling.
    • Added native V4L2 camera-mode discovery on Linux and improved camera initialization and cleanup.
    • Fixed preview sizing, export audio timestamps, image-buffer handling, and capture color-range handling.
    • Replaced ZeroMQ-based logging with independent file and console logging.

    libopenshot Changelog (Version: 1.0.1, SO: 32)

    • 1c46200e 2026-09-27 Jonathan Thomas Preserve host SIGPIPE handling during crash handler initialization HEAD, origin/release-20260919
    • 1f54aa12 2026-09-27 Jonathan Thomas Preserve imported clip location coordinate conventions
    • f9262217 2026-09-26 Jonathan Thomas Add missing REUSE copyright and license metadata
    • 54ada201 2026-09-26 Jonathan Thomas Fix Codacy findings in Timeline tests
    • a2e1297a 2026-09-25 Jonathan Thomas Fix preview alignment, export timestamps, and capture color range
    • 03b66ebe 2026-09-25 Jonathan Thomas Fix transition routing and stacking for clips with tied start times
    • e9bc7831 2026-09-24 Jonathan Thomas Fix Qt player frame handoff and seek races
    • b590640f 2026-09-20 Jonathan Thomas Speed up JSON keyframe updates and add focused transform benchmarks
    • cfa5dfa3 2026-09-19 Jonathan Thomas Bumping version to 1.0.1, SO 32, requiring OpenShotAudio 1.0.1
    • 813fcca9 2026-09-19 Jonathan Thomas Merge pull request #1101 from OpenShot/libopenshot-stability-fixes origin/develop
    • ce5b56a2 2026-09-19 Jonathan Thomas Merge pull request #1100 from OpenShot/linux-camera-discovery
    • 1ee6dbe3 2026-09-19 Jonathan Thomas Fix reader lifecycle races and raw-video packet ownership
    • 04f9ccbe 2026-09-19 Jonathan Thomas Discover Linux camera modes through native V4L2 queries
    • f20829fb 2026-09-15 Jonathan Thomas Merge pull request #1099 from OpenShot/simple-logging
    • 68018f2d 2026-09-15 Jonathan Thomas Add missing REUSE licensing headers for logging files
    • 961775aa 2026-09-15 Jonathan Thomas Support legacy MinGW Python DLL lookup in logger tests
    • 387cf5ca 2026-09-15 Jonathan Thomas Use portable temporary files in ObjectMask tests
    • bb5b0821 2026-09-15 Jonathan Thomas Fix OpenCV runtime DLL path on Windows x64 CI
    • 8e4bc29c 2026-09-15 Jonathan Thomas Fix logger compatibility with older macOS and Windows test DLL loading
    • ea75014f 2026-09-14 Jonathan Thomas Replace ZeroMQ logging with independent file and console logging
    • fb9f92ba 2026-09-14 Jonathan Thomas Merge pull request #1098 from OpenShot/fix-camera-race-open-close
    • dc43f4dd 2026-09-14 Jonathan Thomas Keep screen recording audio aligned to capture timestamps
    • 7389caf4 2026-09-14 Jonathan Thomas Prevent camera cleanup from racing FFmpeg device initialization
    • 36e822f4 2026-09-13 Jonathan Thomas Merge pull request #1097 from OpenShot/sentry-sep-12-2026
    • 70322e15 2026-09-12 Jonathan Thomas Fix a crash when deleting timeline clips
    • 1dfc3e3d 2026-09-12 Jonathan Thomas Read clip bounds before deleting timeline-owned clips
    • 374b66a2 2026-09-10 Jonathan Thomas Merge pull request #1086 from Chzrz89/fix/audiolocation-cstdint
    • 772e6794 2026-09-09 Jonathan Thomas Merge pull request #1095 from OpenShot/ffmpeg-prefix-mac
    • a8a81e8d 2026-09-09 Jonathan Thomas Use the custom FFmpeg bu
  4. v1.0.02026-08-30 · 2026-08-30 18:03 UTC
    查看更新说明

    Highlights & Features:

    • New Color Grade effect with color wheels, curves, LUT support, and video scopes
    • New screen, webcam, microphone, and system-audio capture readers
    • New Audio Visualization, Beat Sync, Film Grain, Denoise, Shadow, Glow, Displacement Map, Timer, Color Grade, and Object Mask effects
    • Local ONNX object detection, segmentation, and tracked masks
    • Qt 6 support and improved cross-platform compatibility
    • Faster Blur, Sharpen, color analysis, audio visualization, and waveform processing
    • Numerous stability, rendering, caching, and media-handling fixes

    libopenshot Changelog (Version: 1.0.0, SO: 31)

    • 732f1829 2026-08-18 Jonathan Thomas Recover stale timeline clip reader state HEAD, origin/release-20260725
    • 9f642482 2026-08-17 Jonathan Thomas Load PipeWire capture backend on demand
    • 7bf0aeb4 2026-07-26 Jonathan Thomas Harden Wayland PipeWire window capture
    • d4d87d8d 2026-07-25 Jonathan Thomas Synchronize screen capture shutdown
    • ffcff368 2026-07-25 Jonathan Thomas Bumping version to 1.0.0, SO 31, requiring OpenShotAudio 1.0.0
    • eac81cf9 2026-07-22 Jonathan Thomas Merge pull request #1081 from OpenShot/audio-recording origin/develop
    • a2709d50 2026-07-22 Jonathan Thomas Install FFmpeg avdevice in GitHub CI
    • 114f25a0 2026-07-19 Jonathan Thomas Synchronize initial system audio capture
    • 2547c82e 2026-07-19 Jonathan Thomas Fix MinGW Core Audio GUID linking
    • 46a5c2c4 2026-07-18 Jonathan Thomas Add system audio to screen capture
    • 3b6291f5 2026-06-28 Jonathan Thomas Fix frame timestamp test compatibility
    • 48980736 2026-06-27 Jonathan Thomas Preserve live capture timestamps
    • 60c4359a 2026-06-27 Jonathan Thomas Add clip margin and corner radius support
    • d3e3c6b1 2026-06-26 Jonathan Thomas Fix live screen capture startup on macOS
    • 98f797d4 2026-06-25 Jonathan Thomas Add timer effect
    • b18c147c 2026-06-23 Jonathan Thomas Interrupt blocking screen capture reads on close
    • 7a71278d 2026-06-23 Jonathan Thomas Use full display size for mac crop capture
    • b575dbbc 2026-06-23 Jonathan Thomas Fix recording waveform and mac screen crop capture
    • 9e8d2263 2026-06-22 Jonathan Thomas Preserve live capture timing gaps
    • 2abd35e0 2026-06-21 Jonathan Thomas Harden macOS AVFoundation screen defaults
    • 2c18616b 2026-06-21 Jonathan Thomas Enable macOS AVFoundation capture backends
    • 325beed4 2026-06-20 Jonathan Thomas Allow capture devices to use default modes
    • ac3baf50 2026-06-20 Jonathan Thomas Fix Windows capture frame buffer cleanup
    • 4c100e0a 2026-06-20 Jonathan Thomas Enumerate DirectShow cameras with COM
    • d1fbd835 2026-06-19 Jonathan Thomas Support older FFmpeg input format API
    • 2034b340 2026-06-19 Jonathan Thomas Support older FFmpeg avdevice headers
    • a8191a07 2026-06-19 Jonathan Thomas Fix recording build compatibility
    • 4eebfe8c 2026-06-19 Jonathan Thomas Drop invalid Wayland PipeWire capture frames
    • 1cde209a 2026-06-19 Jonathan Thomas Add Windows capture backends for recording
    • caae5b57 2026-06-17 Jonathan Thomas Request Wayland stream crop metadata
    • 9660b5cc 2026-06-17 Jonathan Thomas Handle Wayland cropped window streams
    • 1e75b9d8 2026-06-17 Jonathan Thomas Refine Wayland portal capture handling
    • 5f49df80 2026-06-16 Jonathan Thomas Add Wayland screen capture backend
    • 8bae3afb 2026-06-15 Jonathan Thomas Add Linux screen and camera capture readers
    • 3e9de94e 2026-05-29 Jonathan Thomas Reverting changes to python detection in libopenshot, so we don't break our Mac builder by including the wrong version of python at this moment. We'll revisit in the future.
    • 70ec1556 2026-05-28 Jonatha
  5. v0.7.02026-04-08 · 2026-04-08 03:32 UTC
    查看更新说明

    Highlights & Features:

    • Smarter thread defaults based on the user's CPU for better performance
    • Faster thumbnails with lower-resolution decoding for quicker preview generation
    • Better FFmpeg support across FFmpeg 4.4, 6, and 8
    • Audio crash fix when applying channel mappings concurrently
    • Cleaner thumbnails with cropped preview images and no black bars

    libopenshot Changelog (Version: 0.7.0, SO: 30)

    • b9b5c882 2026-04-02 Jonathan Thomas Bumping version to 0.7.0, SO 30 (minimum libopenshot-audio has not changed) HEAD, origin/release-20260402
    • 6152b2a9 2026-04-02 Jonathan Thomas Merge branch 'develop' into optimize-preview origin/optimize-preview
    • 51a2d7c2 2026-03-30 Jonathan Thomas Merge pull request #1052 from OpenShot/omp-ffmpeg-thread-control origin/develop
    • 6c67d762 2026-03-30 Jonathan Thomas Adding new MaxDecodeSize functionality to ReaderBase, which allows FFmpegReader and QtImageReaders to inspect and thumbnail clips much faster, and no longer be forced to do that a full resolution. Also refactoring CreateReader() inside Clip() constructor, so it can be called outside of the constructor, for example, when needing to create a reader for inspection or thumbnailing in openshot-qt.
    • f64d56bc 2026-03-28 Jonathan Thomas Fixing bad assumption in Settings unit test which was failing on Windows builders now.
    • 7abc3510 2026-03-28 Jonathan Thomas Fixing build failures on Benchmark args test
    • bca37e04 2026-03-28 Jonathan Thomas - Default OMP/FF threads now come from the machine CPU count, with a minimum of 2. - Defaults exposed via DefaultOMPThreads() and DefaultFFThreads(). - User overrides are clamped to 2 .. 3x CPU count. - openshot-benchmark now supports --omp-threads and --ff-threads. - Tests cover the new settings and benchmark arg behavior.
    • e63a3837 2026-03-28 Jonathan Thomas Merge pull request #1051 from OpenShot/fix-audio-crash
    • 70166b81 2026-03-28 Jonathan Thomas Prevent crash with concurrent change_mapping. We need a mutex for protection when applying mappers to clips.
    • 8b90d8af 2026-03-28 Jonathan Thomas Merge pull request #1050 from OpenShot/improved-zoom-resize
    • 9f85ec41 2026-03-27 Jonathan Thomas Adding a new override (scale_mode) to thumbnail function, so we can crop thumbnails with no black bars for a more consistent look.
    • d8d577bf 2026-03-26 Jonathan Thomas Merge pull request #1049 from OpenShot/vulkan-benchmark
    • f31010b7 2026-03-26 Jonathan Thomas Fixing some Codacy nitpicks in the vulkan benchmark code
    • 0c37eadc 2026-03-26 Jonathan Thomas Pipeline VulkanDirect benchmark by submitting GPU work before decoding next frame
    • 31ae3613 2026-03-26 Jonathan Thomas Merge pull request #1048 from OpenShot/safe-clip-memory
    • ed12e252 2026-03-25 Jonathan Thomas Fixing some Codacy nitpicks in our Vulkan benchmark code
    • 51eba65c 2026-03-25 Jonathan Thomas Fixing deadlocks on RTX and cuda and fixing cmake to allow for better vulkan detection. Performance is not great though on the RTX gpu.
    • 1414a4af 2026-03-25 Jonathan Thomas - Added an optional vulkan-benchmark executable without changing normal libopenshot builds. - Built a small benchmark matrix to compare CPU and GPU pipelines on the same video. - Added --row so each path can run by itself for debugging and stable testing. - Switched the benchmark to a more realistic preview-style workload instead of full-size-only transforms. - Added PNG dump support so rows can save sample output frames for visual verification. - The custom Vulkan path now does real preview scaling and alpha overlay, and can stay fully on-GPU for Vulkan decode. - Added runtime detection for VAAPI, CUDA, and Vulkan, so unsupported rows skip cleanly on different systems. - Added CUDA benchmark rows for NVIDIA systems, while keeping VAAPI and Vulkan conditio

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    OpenShot Video Library (libopenshot) is a free, open-source C++ library dedicated to delivering high quality video editing, animation, and playback solutions to the world.

    Build Status

    libopenshot CI Build libopenshot-audio CI Build

    Features

    • Cross-Platform (Linux, Mac, and Windows)
    • Multi-Layer Compositing
    • Video and Audio Effects (Chroma Key, Color Adjustment, Grayscale, etc…)
    • Animation Curves (Bézier, Linear, Constant)
    • Time Mapping (Curve-based Slow Down, Speed Up, Reverse)
    • Audio Mixing & Resampling (Curve-based)
    • Audio Plug-ins (VST & AU)
    • Audio Drivers (ASIO, WASAPI, DirectSound, CoreAudio, iPhone Audio, ALSA, JACK, and Android)
    • Telecine and Inverse Telecine (Film to TV, TV to Film)
    • Frame Rate Conversions
    • Multi-Processor Support (Performance)
    • Python and Ruby Bindings (All Features Supported)
    • Qt Video Player Included (Ability to display video on any QWidget)
    • Unit Tests (Stability)
    • All FFmpeg Formats and Codecs Supported (Images, Videos, and Audio files)
    • Full Documentation with Examples (Doxygen Generated)

    Install

    Detailed instructions for building libopenshot and libopenshot-audio for each OS. These instructions are also available in the /docs/ source folder.

    Hardware Acceleration

    OpenShot now supports experimental hardware acceleration, both for encoding and decoding videos. When enabled, this can either speed up those operations or slow them down, depending on the power and features supported by your graphics card.

    Please see doc/HW-ACCEL.md for more information.

    Documentation

    See Logging for file output, verbosity, and environment settings.

    Beautiful HTML documentation can be generated using Doxygen.

    make doc
    

    (Also available online: http://openshot.org/files/libopenshot/)

    Developers

    Are you interested in becoming more involved in the development of OpenShot? Build exciting new features, fix bugs, make friends, and become a hero! Please read the step-by-step instructions for getting source code, configuring dependencies, and building OpenShot.

    Report a bug

    You can report a new libopenshot issue directly on GitHub:

    https://github.com/OpenShot/libopenshot/issues

    Websites

    Copyright & License

    Copyright (c) 2008-2022 OpenShot Studios, LLC. This file is part of OpenShot Video Editor (https://www.openshot.org), an open-source project dedicated to delivering high quality video editing and animation solutions to the world.

    OpenShot Library (libopenshot) is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

    OpenShot Library (libopenshot) is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License along with OpenShot Library. If not, see http://www.gnu.org/licenses/.

    To release a commercial product which uses libopenshot (i.e. video editing and playback), commercial licenses are also available: contact [email protected] for more information.