Greetings and welcome to a special OpenShot Valentines Weekend Update! It has been way, way too long since my last update, and I have a tons of news and info to share with everyone. Over the past few months, many new features and improvements have been implemented in libopenshot (our new video editing library), and much work has been completed on our new Python3 / Qt5 application. So, let’s dive into the details!

Animated GIF Support

Animated GIF Example The OpenShot Library now has very powerful animated GIF reading and writing built in. With just a few lines of code, you can now create an animation with any size, any framerate, and loop it as many times as you want. FFmpeg does provide some GIF encoder options, but it did not seem to implement an accurate color palette, leaving the GIF animations pretty sad looking. This led me towards implementing a new ImageWriter class, which can export single and multi-frame images with ease, powered by ImageMagick. Bottom line: this feature is really cool, and will be fully integrated into OpenShot 2.0.



The OpenShot Library now has very powerful animated GIF reading and writing built in. With just a few lines of code, you can now create an animation with any size, any framerate, and loop it as many times as you want. FFmpeg does provide some GIF encoder options, but it did not seem to implement an accurate color palette, leaving the GIF animations pretty sad looking. This led me towards implementing a new ImageWriter class, which can export single and multi-frame images with ease, powered by ImageMagick. Bottom line: this feature is really cool, and will be fully integrated into OpenShot 2.0. Video Playback Improvements Video playback has been one of the most challenging parts of creating OpenShot 2.0. When I first started designing libopenshot and OpenShot 2.0, I underestimated the difficulty in writing a flexible and stable video player. I had made the incorrect assumption that Qt5, GTK+, or SDL would give me a simple way to incorporate video playback. Over the past 2 months, I quickly found myself writing a large and complex video playback engine. I am happy to announce that video playback is now working great, and has the following features: Any framerate

Any size with scaling (maintaining aspect ratio)

Any colorspace

Any number of audio channels and different audio layouts (mono, stereo, surround, etc…)

Frame by frame seeking and random, ad hoc seeking

Any playback speed (reverse & forward)

A standalone video player executable (now included with libopenshot)

OpenShot Video Player Cross-Platform Improvements One of my primary goals with OpenShot 2.0 is full cross-platform support, with feature parity across Linux, Mac, and Windows. This has now been successfully achieved, and all 3 platforms are working identically… or as identically as you might expect. The Mac version has a global menu, they each have their own platform-specific file browsers, and slightly different color and icon themes. One thing of note, is Qt5 has gone through 4 major releases since I’ve started working on OpenShot 2.0. With each new release, I've noticed a few minor bugs that affect OpenShot. The newest version is the most stable, as you might expect. This has been a mild headache keeping up with the rapid pace of change on that project… not to mention a few other projects, like FFmpeg / libAV.



Installers I have successfully built and tested installers for OpenShot 2.0 for all 3 platforms. I still have a few minor issues with the Mac and Windows installers, such as a lack of support for SVG images due to a missing dependency, and a few small details like that. However, I don’t expect those will be too difficult to resolve.



New Icon / Branding

New OpenShot 2.0 Icon Thanks to the generous and very talented graphic designer, Hannah Williams, from Devarim Design:



Thanks to the generous and very talented graphic designer, Hannah Williams, from Devarim Design: http://www.devarimdesign.com , OpenShot 2.0 will feature a new icon, logo, and branding. We were aiming to create a more unique and recognizable icon than the old generic blue circle. We also wanted it to incorporate some familiar elements, colors, and themes, such as blue, white, a play-button, video editing, etc.... And finally, we incorporated the “O” and “S” shapes from the OpenShot name into the icon. I am very happy with the design, and am looking forward to hearing feedback from the OpenShot community. If you have suggestions to make it better, download the SVG image and give it a whirl! libOpenShot Release: Version 0.0.4 I am proud to announce the 4th official release of libopenshot (OpenShot Library), which brings with it a ton of bug fixes, improved video playback, new FFmpeg / libAV API support, Animated GIF support, more comprehensive unit tests, better documentation, greater stability, and improved cross-platform build scripts. This Kickstarter project has now officially produced 4 public releases, which I am very proud of. I know there is still much to do, and most people don’t have much use for a C++ and Python video editing library. =) So… let’s talk about the application itself!



OpenShot-Qt Release

OpenShot 2.0 Screenshot I would have really loved to publish the current version of our PyQt5 application before sending this update (that was my goal). However, the Qt interface still has 2 critical issues that need my attention before it’s ready to share out with developers. Our keyframe editor is partially hooked up, and about 50% completed. Our Export Video dialog is about 75% complete, but has a few big usability issues. Both of those are pretty low hanging fruit, but critical to basic usage and testing of the interface. These are the 2 tasks I am currently working on. If no other major distractions happen, I should have the Qt source code published in the next couple of weeks.



I would have really loved to publish the current version of our PyQt5 application before sending this update (that was my goal). However, the Qt interface still has 2 critical issues that need my attention before it’s ready to share out with developers. Our keyframe editor is partially hooked up, and about 50% completed. Our Export Video dialog is about 75% complete, but has a few big usability issues. Both of those are pretty low hanging fruit, but critical to basic usage and testing of the interface. These are the 2 tasks I am currently working on. If no other major distractions happen, I should have the Qt source code published in the next couple of weeks. Challenges There are many challenges that go along with building any software. Some are obvious and some are more subtle. However, some challenges, as I've recently realized, aren't related to computers at all. Sometime in late October, my wife and I decided that it would be fun to put our house on the market, and “test the waters”. We have been talking about moving out of Arlington, TX (a relatively big city) for years, and heading towards a bit more land, and less city. As fate would have it, we had an offer on our house within 1 week, and all of a sudden needed to find a new house, make repairs, pack, rent a moving truck, etc… etc… Needless to say, this required a lot of time and energy.