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

Overview

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

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

License

Copyright (c) 2008-2021 OpenShot Studios, LLC.

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 closed-source product which uses libopenshot (i.e. video editing and playback), commercial licenses are also available: contact [email protected] for more information.

Comments
  • QtTextReader and QtHtmlReader

    QtTextReader and QtHtmlReader

    I've been looking in to making some improvements to working with text in in libopenshot. One main feature in particular is to have text of different colours in a sentence. You see it quite a lot on news and social media videos where some of the words are highlited. Unfortunately I couldn't see a way to do this with Magick++.

    The best solution I could come up with was to use Qt's HTML features to do this and created QtHtmlReader - it supports all the HTML features here: https://doc.qt.io/qt-5/richtext-html-subset.html. Along the way we created a QtTextReader as well.

    An added bonus is that both of these are much faster than ImageMagick, nearly 3 times faster in my tests, even the HTML is faster.

    We've tried to follow the existing libopenshot code as best as possible. If you would like to merge these readers please review and suggest any changes/quaility/improvements. @ferdnyc I have removed the std namespace following your current pull request (#296).

    Special thanks to @jediserg who figured out the Qt stuff and wrote most of the code for this.

    opened by jeffski 63
  • Silence deprecated warnings in ffmpeg 3.x

    Silence deprecated warnings in ffmpeg 3.x

    The deprecated calls are and will be present in ffmpeg 3.x and later version use other calls. Therefore, the warning is useless and obscures only important warnings.

    opened by eisneinechse 55
  • Release of libopenshot 0.2.4 (SO 18)

    Release of libopenshot 0.2.4 (SO 18)

    This PR represents the release branch for libopenshot, version 0.2.4 (SO 18), and will be used during the release testing. Feel free to comment, or send PR's for this release branch.

    Related PR's:

    • libopenshot-audio release: https://github.com/OpenShot/libopenshot-audio/pull/80
    • openshot-qt release: https://github.com/OpenShot/openshot-qt/pull/3161
    opened by jonoomph 42
  • Python bindings do not seem to work.

    Python bindings do not seem to work.

    if the doc/INSTALL-WINDOWS.md is accurate, doing mingw32-make install should copy the binary files to C:\Program Files\openshot\lib, and the header files to C:\Program Files\openshot\include... This is where other projects will look for the libopenshot files when building.. Python 3 bindings are also installed at this point.

    with that said, doing Python

    import openshot

    gave me an error

    Traceback (most recent call last): File "", line 1, in File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\openshot.py", line 15, in import _openshotTest ImportError: DLL load failed: The specified module could not be found.

    I'm not entirely sure if this is due to the Python bindings or the numerous tweaks I have done to the files to get it this far.

    Help would be deeply appreciated!

    opened by cminghao 42
  • Making OpenShot easier for newcomer developers

    Making OpenShot easier for newcomer developers

    I've been watching your project, and it is very interesting, but appears to be moving slowly and not having too many outside contributors.

    One of the reasons why is that contributing a new feature to your system (including the UI) requires knowledge in 3 domains: C++, Python, and Angular. Those are each huge. Imagine trying to find a writer that understood Spanish, Japanese, and Hindi. There are many millions of people who speak those languages, but not all three!

    In fact, many people who use Python, don't like Javascript. Many people who use Javasript don't know Python. Many people who want to make videos don't know how to program C++.

    Libopenshot is about 10K lines of code. I think it could be converted to Python / Numpy in a couple of weeks. That is a fast library, and there are other GPU and optimized Python libraries you could leverage. Porting to Python, and taking advantage of hardware would make Openshot faster and easier to contribute to. In my free time, I don't want to bother with C++. I'd be willing to help even though I don't know your codebase too much.

    Once you've got a PyQT interface, putting Angular on top makes it more complicated. I'm sure it adds some features, but it raises the barrier to entry.

    Can you consider this, and what Python libraries you could take advantage of if you restructured your code? Given the fact that you use ffmpeg and other tools to do the heavy lifting, it seems like you don't need to have much C/C++ to be very fast. Check out Mercurial as an example of a fast codebase with very little C/C++.

    I took a look at this file, for example: https://github.com/OpenShot/libopenshot/blob/master/src/TextReader.cpp

    It seems like that could be converted to Python easily and be fast enough.

    opened by KeithCu 37
  • libavformat missing on compilation.. but its there

    libavformat missing on compilation.. but its there

    Note: I am on rpi3... its just for educational porpoise , I wont make any openshot project on it (but yes on rpi4!!) Note 2: This its a masterpiece software. thanks to make it open source.

    It could be than its broken somehow or its not the required version??

    I will compile master ffmpeg...

    [email protected]:~/Desktop/openshot_dependencies/libopenshot/build $ sudo apt install libavformat-dev
    Leyendo lista de paquetes... Hecho
    Creando árbol de dependencias       
    Leyendo la información de estado... Hecho
    libavformat-dev ya está en su versión más reciente (7:4.1.3-1+rpt1).
    El paquete indicado a continuación se instaló de forma automática y ya no es necesario.
      rpi.gpio-common
    Utilice «sudo apt autoremove» para eliminarlo.
    0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados.
    [email protected]:~/Desktop/openshot_dependencies/libopenshot/build $ cmake ../
    -----------------------------------------------------------------
              Welcome to the OpenShot Build System!
    
    CMake will now check libopenshot's build dependencies and inform
    you of any missing files or other issues.
    
    For more information, please visit <http://www.openshot.org/>.
    -----------------------------------------------------------------
    
    Generating build files for OpenShot
      Building libopenshot (version 0.2.3)
      SO/API/ABI Version: 17
    
    CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
      Could NOT find FFmpeg (missing: AVFORMAT_LIBRARIES AVFORMAT_INCLUDE_DIRS)
    Call Stack (most recent call first):
      /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
      cmake/Modules/FindFFmpeg.cmake:161 (find_package_handle_standard_args)
      src/CMakeLists.txt:83 (FIND_PACKAGE)
    
    
    -- Configuring incomplete, errors occurred!
    See also "/home/pi/Desktop/openshot_dependencies/libopenshot/build/CMakeFiles/CMakeOutput.log".
    
    opened by ghost 32
  • Keyframes and Masks play relative to timeline, not clip

    Keyframes and Masks play relative to timeline, not clip

    I have noticed an issue with how the timing of keyframes are applied and also a similar issue that means it's not possible to use a video as a mask.

    I have found that if you have a clip that starts at position 5 on the timeline, (i.e. it plays from the 5th second on the timeline), if I want to add a keyframe animation to the clip (lets say an alpha change) the first keyframe needs to start at second 5.

    This isn't very intuitive as in my mind the keyframe timing should be relative to the clip not the timeline. So the first keyframe should be at 0 to play from the start of the clip.

    I guess it's not a deal breaker as I can work around it. It would just be nice if keyframes were relative to the clip they are attached to and not the timeline.

    One thing that is not working however is using video (FFMpegReader) in Mask effects. It works fine if the clip the mask is added to starts from 0 on the timeline.

    The problem is the mask video seems to play from the start of the timeline so if the mask plays for 5 seconds but the clip starts at 5 seconds then the mask has already finished playing when the clip starts.

    I think this is maybe related to keyframes playing relative to the timeline, the mask also plays relative to the timeline but there is no way to adjust it, If the mask played relative to the clip rather than the timeline it should work.

    If video masks could be used I think you would be able to create some pretty awesome transitions and effects.

    Just posting this now to see if anyone has had the same experience, I'll add some code examples if it helps.

    opened by jeffski 32
  • Symbol not found: _aligned_alloc on MacOS 10.9.5

    Symbol not found: _aligned_alloc on MacOS 10.9.5

    A user reported this to me on MacOS 10.9.5 running our latest Mac builds. When launching OpenShot, an error during loading PyQt5.QtCore.so, looking for a missing symbol: Symbol not found: _aligned_alloc. It is expecting that symbol in /usr/lib/System.B.dylib.

    We are currently building with GCC 8.4 on MacOS 10.15 (Catalina), and using the MacOS 10.9 SDK while building. Hopefully this can be solved with some compiler flags, or something simple. Our current CMake command used on our Mac builder:

    cmake -DCMAKE_CXX_FLAGS=-I\ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=$CI_PROJECT_DIR/build/install-x64" -DCMAKE_CXX_COMPILER=/usr/local/opt/[email protected]/bin/g++-8 -DCMAKE_C_COMPILER=/usr/local/opt/[email protected]/bin/gcc-8 -DCMAKE_PREFIX_PATH=/usr/local/qt5/5.5/clang_64 -DPYTHON_INCLUDE_DIR=/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -DPYTHON_LIBRARY=/Library/Frameworks/Python.framework/Versions/3.6/lib/libpython3.6.dylib -DPYTHON_MODULE_PATH=python -DPython_FRAMEWORKS=/Library/Frameworks/Python.framework/ -D"CMAKE_BUILD_TYPE:STRING=Release" -D"CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk" -D"CMAKE_OSX_DEPLOYMENT_TARGET=10.9" -D"CMAKE_INSTALL_RPATH_USE_LINK_PATH=1" -D"ENABLE_RUBY=0" ../

    mac-10-9-openshot-missing-symbol

    stale 
    opened by jonoomph 26
  • Public interface for Keyframe

    Public interface for Keyframe

    The current public interface of Keyframe includes the public member Points. I'm about to remove this member. This will might break a lot of code (basically every place where Python code - e.g. in OpenShot-qt - uses keyframe["Points"] ... which is currently 88 places in OpenShot-qt nothing in OpenShot-qt as far as I can see now).

    There's AddPoint(), RemovePoint(), GetPoint() among others. These should be used instead of direct access to the Points member to give Keyframe a chance to keep it's internal state in order (e.g. sort order of points, interpolated values, ..).

    All in all the public interface of Keyframe is a bit chaotic. It supports access to the points similar like a container (add, remove, find, ..) but of course also access to interpolated values (it's main job, after all).

    The question is: How should the public interface of Keyframe look on the C++ side, and what should it look like on the Python side?

    edit: The question shifts a bit ... it's still important to get a clean public interface. But for openshot-qt the only really important functions are Keyframe::SetJsonValue(), Keyframe::AddPoint, the "get functions" and Keyframe::Json().

    stale 
    opened by musteresel 26
  • Juce 5 changes

    Juce 5 changes

    Adjustments to build libopenshot against a libopenshot-audio built with the new Juce 5.4.3 changes from my companion PR OpenShot/libopenshot-audio#37.

    • All header files (7) which contained #include "JuceLibraryCode/JuceHeader.h" were changed to simply #include "JuceHeader.h", which works in concert with the new include dir layout for libopenshot-audio.
    • Savaged the cmake/Modules/FindOpenShotAudio.cmake discovery code to remove all of the recursive header-file discovery and LIBOPENSHOT_AUDIO_BASE_DIR noise. Now it simply looks for the file JuceHeader.h and considers that location to be the LIBOPENSHOT_AUDIO_INCLUDE_DIR, which it is. So much simpler it's not even funny.

    (Note: DO NOT MERGE until after the corresponding changes to libopenshot-audio are committed. See OpenShot/libopenshot-audio#37 .)

    opened by ferdnyc 26
  • OpenCV: Adapt to API changes in OpenCV 4.5.2+

    OpenCV: Adapt to API changes in OpenCV 4.5.2+

    Seems that OpenCV 4.5.1 has massively altered the cv::Tracker API, with the one our code uses being moved to cv::legacy::Tracker, and a new implementation taking its place in cv::Tracker.

    Why this trigger was pulled with only a revision bump from 4.5.0 to 4.5.1, I cannot for the life of me understand, but cv::TrackerBoosted and friends are present in 4.5.0, but suddenly gone in 4.5.1. I encountered this when trying to build on Windows 10, now that MSYS2 is packaging OpenCV 4.5.1.

    A function cv::legacy::upgradeTrackingAPI() is provided which can seemingly be used to wrap old code. But, since that function is only present in 4.5.1+, it doesn't help us with simultaneous support of OpenCV versions before and after 4.5.1.

    Supporting OpenCV 4.5.1, specifically, turned out to be impossible as the released code is horribly broken for the "legacy" tracking API. There are headers missing from the install that make it unusable. Fortunately, 4.5.2 is since released that corrects this.

    So, this PR blocks use of OpenCV verson 4.5.1 with a warning about the problem, and adds an OpenCVUtilities.h header which normalizes our code to be compatible with both the previous 4.5.0-and-earlier API, as well as the new-legacy 4.5.2+, in the manner of our other *Utilities.h headers.

    The CMake build will define USE_LEGACY_TRACKER on the build command line if the OpenCV version is greater than 4.5.1, and if that macro is defined:

    • OPENCV_TRACKER_TYPE is defined to be cv::legacy::Tracker
    • OPENCV_TRACKER_NS is defined as cv::legacy

    Otherwise, they are cv::Tracker and cv, respectively.

    The rest of the code uses cv::Ptr<OPENCV_TRACKER_TYPE> as the pointer type for tracker, and OPENCV_TRACKER_NS::TrackerImplementation::create() to instantiate trackers.

    Other included changes

    1. I moved the ClipProcessingJobs class into the openshot namespace, because for some reason it wasn't.
    2. I moved some includes around between .h and .cpp files, to avoid over-including headers, and dropped some unnecessary includes
    3. I dropped the using namespace std; from CVTracker.cpp, adding std:: prefixes where needed.
    build 
    opened by ferdnyc 24
  • How is libopenshot LGPL when it uses JUCE which has proprietary license?

    How is libopenshot LGPL when it uses JUCE which has proprietary license?

    Hi, libopenshot looks amazing. I can't figure out the licensing though.

    libopenshot says it's LGPL - https://www.openshot.org/libopenshot/ libopenshot-audio says it's GPL - https://github.com/OpenShot/libopenshot-audio and based on JUCE which has a VERY proprietary license: https://github.com/juce-framework/JUCE/blob/master/LICENSE.md

    But then this page says libopenshot uses libopenshot-audio as a library: https://github.com/OpenShot/libopenshot/wiki/Linux-Build-Instructions

    Not saying your wrong, I'm just confused and need to understand before I use it.

    Is libopenshot-audio optional? Is JUCE for audio plugins? Why not use the ffmpeg codecs? Why not have a LICENSE.md in the repo?

    Thank you!

    opened by MichaelJCole 0
  • What form of Gamma Adjustment PR would you prefer?

    What form of Gamma Adjustment PR would you prefer?

    Adding gamma adjustment is my priority. I can easily substitute the code for brightness in the existing plugin. What would be the preferred form of adding the feature? An additional parameter in the existing brightness/contrast 'plugin', or a seperate plugin?

    opened by clort81 0
  • Bump eps1lon/actions-label-merge-conflict from 2.0.1 to 2.1.0

    Bump eps1lon/actions-label-merge-conflict from 2.0.1 to 2.1.0

    Bumps eps1lon/actions-label-merge-conflict from 2.0.1 to 2.1.0.

    Release notes

    Sourced from eps1lon/actions-label-merge-conflict's releases.

    2.1.0

    Changes

    Changelog

    Sourced from eps1lon/actions-label-merge-conflict's changelog.

    2.1.0

    Commits
    • fd1f295 feat: Address set-output deprecation (#92)
    • f460131 chore(deps): update dependency @​actions/github to v5.1.1 (#78)
    • 4d757c0 test: Run action on Node 16 (#90)
    • cf6c16f chore(deps): update dependency prettier to v2.7.1 (#79)
    • c456fea chore(deps): update actions/setup-node action to v3 (#77)
    • 534959c chore(deps): update actions/checkout action to v3 (#80)
    • 4a43ae0 chore(deps): update dependency typescript to v4.5.5 (#74)
    • a066a74 chore(deps): update dependency typescript to v4.5.4 (#73)
    • 725d517 chore(deps): update dependency prettier to v2.5.1 (#71)
    • a1f953e chore(deps): update dependency typescript to v4.5.3 (#72)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump actions/cache from 3.0.1 to 3.0.11

    Bump actions/cache from 3.0.1 to 3.0.11

    Bumps actions/cache from 3.0.1 to 3.0.11.

    Release notes

    Sourced from actions/cache's releases.

    v3.0.11

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/cache/compare/v3...v3.0.11

    v3.0.10

    • Fix a bug with sorting inputs.
    • Update definition for restore-keys in README.md

    v3.0.9

    • Enhanced the warning message for cache unavailability in case of GHES.

    v3.0.8

    What's Changed

    • Fix zstd not working for windows on gnu tar in issues.
    • Allow users to provide a custom timeout as input for aborting cache segment download using the environment variable SEGMENT_DOWNLOAD_TIMEOUT_MIN. Default is 60 minutes.

    v3.0.7

    What's Changed

    • Fix for the download stuck problem has been added in actions/cache for users who were intermittently facing the issue. As part of this fix, new timeout has been introduced in the download step to stop the download if it doesn't complete within an hour and run the rest of the workflow without erroring out.

    v3.0.6

    What's Changed

    • Add example for clojure lein project dependencies by @​shivamarora1 in PR actions/cache#835
    • Update toolkit's cache npm module to latest. Bump cache version to v3.0.6 by @​pdotl in PR actions/cache#887
    • Fix issue #809 where cache save/restore was failing for Amazon Linux 2 runners due to older tar version
    • Fix issue #833 where cache save was not working for caching github workspace directory

    New Contributors

    Full Changelog: https://github.com/actions/cache/compare/v3...v3.0.6

    v3.0.5

    Removed error handling by consuming actions/cache 3.0 toolkit, Now cache server error handling will be done by toolkit.

    v3.0.4

    In this release, we have fixed the tar creation error while trying to create it with path as ~/ home folder on ubuntu-latest.

    v3.0.3

    Fixed avoiding empty cache save when no files are available for caching. (actions/cache#624)

    v3.0.2

    ... (truncated)

    Changelog

    Sourced from actions/cache's changelog.

    3.0.1

    • Added support for caching from GHES 3.5.
    • Fixed download issue for files > 2GB during restore.

    3.0.2

    • Added support for dynamic cache size cap on GHES.

    3.0.3

    • Fixed avoiding empty cache save when no files are available for caching. (issue)

    3.0.4

    • Fixed tar creation error while trying to create tar with path as ~/ home folder on ubuntu-latest. (issue)

    3.0.5

    • Removed error handling by consuming actions/cache 3.0 toolkit, Now cache server error handling will be done by toolkit. (PR)

    3.0.6

    • Fixed #809 - zstd -d: no such file or directory error
    • Fixed #833 - cache doesn't work with github workspace directory

    3.0.7

    • Fixed #810 - download stuck issue. A new timeout is introduced in the download process to abort the download if it gets stuck and doesn't finish within an hour.

    3.0.8

    • Fix zstd not working for windows on gnu tar in issues #888 and #891.
    • Allowing users to provide a custom timeout as input for aborting download of a cache segment using an environment variable SEGMENT_DOWNLOAD_TIMEOUT_MIN. Default is 60 minutes.

    3.0.9

    • Enhanced the warning message for cache unavailablity in case of GHES.

    3.0.10

    • Fix a bug with sorting inputs.
    • Update definition for restore-keys in README.md

    3.0.11

    • Update toolkit version to 3.0.5 to include @actions/[email protected]^1.10.0
    • Update @actions/cache to use updated saveState and setOutput functions from @actions/[email protected]^1.10.0
    Commits
    • 9b0c1fc Merge pull request #956 from actions/pdotl-version-bump
    • 18103f6 Fix licensed status error
    • 3e383cd Update RELEASES
    • 43428ea toolkit versioon update and version bump for cache
    • 1c73980 3.0.11
    • a3f5edc Merge pull request #950 from rentziass/rentziass/update-actions-core
    • 831ee69 Update licenses
    • b9c8bfe Update @​actions/core to 1.10.0
    • 0f20846 Merge pull request #946 from actions/Phantsure-patch-2
    • 862fc14 Update README.md
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Audio is not playing correctly for some videos

    Audio is not playing correctly for some videos

    I would like to point a issue in which audio is not playing correctly in some videos. I am attaching a MP4 video file in which video plays correct but audio is glitchly and sometimes changes completely different. I played this MP4 file in VLC player, it plays correct in it.

    https://user-images.githubusercontent.com/115683275/195501141-3a6167e7-c6a2-40a8-82d8-e60cc9ac79e7.mp4

    opened by gofinger 0
Releases(v0.2.7)
  • v0.2.7(Sep 6, 2021)

    Highlights & Features:

    • Refactor of Crop effect
    • Adding X and Y offset to Crop effect
    • Defaulting crop effect to 0 border lengths
    • Bump version to 0.2.7 (SO 21)

    libopenshot Changelog (Version: 0.2.7, SO: 21)

    • 5987878 2021-09-04 Jonathan Thomas Merge branch 'release-20210904' of github.com:OpenShot/libopenshot into release-20210904 HEAD, origin/release-20210904
    • 4106f1f 2021-09-04 Jonathan Thomas Bumping version to 0.2.7, SO 21
    • 82498b2 2021-09-04 Jonathan Thomas Bumping version to 0.2.7, SO 20
    • 5a8ffe3 2021-09-03 Jonathan Thomas Merge pull request #724 from OpenShot/improved-crop-effect origin/develop
    • 5f91ddc 2021-09-03 Jonathan Thomas Reversing y_offset direction to match previous OpenShot crop behavior
    • f9e5db6 2021-09-03 Jonathan Thomas Adding an X and Y offset to the current crop effect, to better support previous clip crop parameters (for migrating crop options from OpenShot 2.5.1 to OpenShot 2.6). Also refactoring the crop effect, to actually copy the pixels into a new image buffer.
    • d58febf 2021-08-26 JacksonRG Merge pull request #718 from OpenShot/default-crop-border-of-zero
    • fc05893 2021-08-25 JacksonRG Merge pull request #721 from OpenShot/merge-master-0.2.6
    • 569b591 2021-08-25 Jackson Merge master 0.2.6 into develop
    • 3275251 2021-08-25 JacksonRG Merge pull request #720 from OpenShot/release-20210819 origin/master
    • 928c37b 2021-08-23 Jackson set default crop border to 0
    Source code(tar.gz)
    Source code(zip)
Owner
OpenShot Studios, LLC
OpenShot Studios, LLC
Video stabilization is a software-based approach in real-time to eliminating environmental effects (wind, heavy vehicle etc.) and enhance the visual performance that degrade video streaming quality.

Video Stabilization Contents General Info Installation To Do General Info Video stabilization is a software-based approach in real-time to eliminating

null 7 Nov 23, 2022
A project for the latest Steam PC (US) release of Resident Evil 4 that patches the game to use high-quality MP4 video.

A project for the latest Steam PC (US) release of Resident Evil 4 that patches the game to use high-quality MP4 video.

Megan Grass 6 Oct 10, 2022
Dolby AC-4 Audio & ATSC 3.0/HEVC Video Playback

VideoPlayer Qt+ffmpeg+SDL2+Dolby+AC-4+AC4+HEVC+ATSC3.0+4K+video This is a fork of the video player found here: https://github.com/yundiantech/VideoPla

Stephen Ferrell 5 Oct 2, 2022
Shotcut - a free, open source, cross-platform video editor

cross-platform (Qt), open-source (GPLv3) video editor

MLT Framework 7.2k Nov 27, 2022
Kodi is an award-winning free and open source software media player and entertainment hub for digital media

website • docs • community • add-ons Welcome to Kodi Home Theater Software! Kodi is an award-winning free and open source software media player and en

Team Kodi 14.9k Dec 1, 2022
Free and open-source media player written in C++

Liquid Media Player Free and open-source media player written in C++. Currently in development. Build Guide Windows Install the MSYS2 Building Platfor

Arrow Interactive 4 Sep 20, 2022
Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive is a free non-linear video editor for Windows, macOS, and Linux.

Olive Team 6.6k Nov 30, 2022
AAAAnimation - An ASCII Art animation program working with FFmpeg and Qt. Some code is written in assembly.

AAAAnimation About This is a term project of the Assembly Language and System Programming course in NCU. It decodes video with FFmpeg and plays ASCII

null 18 May 25, 2022
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.

ossrs 20.1k Dec 5, 2022
Free plugin-based video converter

SEZE II Смотреть на русском SEZE is a plugin-based video converter for Windows/Linux. You can write your video filter in C++ (see section "How to make

Ilya Halilov 31 Nov 21, 2022
Vulkan Video Sample Application demonstrating an end-to-end, all-Vulkan, processing of h.264/5 compressed video content.

This project is a Vulkan Video Sample Application demonstrating an end-to-end, all-Vulkan, processing of h.264/5 compressed video content. The application decodes the h.264/5 compressed content using an HW accelerated decoder, the decoded YCbCr frames are processed with Vulkan Graphics and then presented via the Vulkan WSI.

NVIDIA DesignWorks Samples 131 Nov 21, 2022
Minimalist video maker -- simplify your music score video making process!

VisualScores 极简视频制作程序,简化你的乐谱视频制作! 如果需要编译,请解压 lib 文件夹中压缩包。 使用前请参考 manual 文件夹中的用户手册。 请勿修改、移动或删除 resource 文件夹中的任何文件。 VisualScores Minimalist video maker

Chen and Sim 7 Sep 7, 2022
Open h.265 video codec implementation.

libde265 - open h.265 codec implementation libde265 is an open source implementation of the h.265 video codec. It is written from scratch and has a pl

struktur AG 1.4k Nov 30, 2022
Open Source H.264 Codec

OpenH264 OpenH264 is a codec library which supports H.264 encoding and decoding. It is suitable for use in real time applications such as WebRTC. See

Cisco Systems 4.8k Dec 2, 2022
GStreamer open-source multimedia framework

GStreamer open-source multimedia framework

GStreamer GitHub mirrors 1.5k Nov 30, 2022
yangwebrtc is a self-developed rtc architecture supporting Webrtc/Srt/Rtmp, including a variety of video and audio codecs and processing, etc.

YangWebrtc Overview yangwebrtc是一个自主研发的支持Webrtc/Srt/Rtmp的rtc架构,包含多种视音频编解码和处理等。 支持视频会议、高清录播直播、直播互动等多种视音频应用。 可用于远程教育、远程医疗、指挥调度、安防监控、影视录播、协同办公、直播互动等多种行业应用

null 329 Nov 30, 2022
Vireo is a lightweight and versatile video processing library written in C++11

Overview Vireo is a lightweight and versatile video processing library that powers our video transcoding service, deep learning recognition systems an

Twitter 872 Nov 27, 2022
Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.

An open source video game library manager and launcher with support for 3rd party libraries like Steam, GOG, Origin, Battle.net and Uplay. Includes game emulation support, providing one unified interface for your games.

Josef Nemec 4.7k Dec 2, 2022
Even newer Custom Firmware for Xiaomi Cameras based on Hi3518ev200 Chipset. It includes free RTSP, ONVIF and other improvements based on the work by roleoroleo

Why this Yi-Hack-V5 firmware? The answer is simple: missing updates, RTSP and not based on the latest stock firmware (which features improvements and

null 360 Dec 2, 2022