Provided by: openshot-qt_2.5.1+dfsg1-2ubuntu0.1_all
NAME
openshot-qt - OpenShot Video Editor Documentation OpenShot Video Editor is an award-winning, open-source video editor, available on Linux, Mac, and Windows. OpenShot can create stunning videos, films, and animations with an easy-to-use interface and rich set of features. Learning to use OpenShot is easy, and with this guide, you will be a master in no time at all!
TABLE OF CONTENTS:
Introduction OpenShot Video Editor is an award-winning, open-source video editor, available on Linux, Mac, and Windows. OpenShot can create stunning videos, films, and animations with an easy-to-use interface and rich feature-set. Features • Cross-platform (Supports Linux, OS X, and Windows) • Support for many video, audio, and image formats (based on FFmpeg) • Powerful curve-based Key frame animations • Desktop integration (drag and drop support) • Unlimited tracks / layers • Clip resizing, scaling, trimming, snapping, rotation, and cutting • Video transitions with real-time previews • Compositing, image overlays, watermarks • Title templates, title creation, sub-titles • 2D animation support (image sequences) • 3D animated titles (and effects) • SVG friendly, to create and include vector titles and credits • Scrolling motion picture credits • Advanced Timeline (including Drag & drop, scrolling, panning, zooming, and snapping) • Frame accuracy (step through each frame of video) • Time-mapping and speed changes on clips (slow/fast, forward/backward, etc…) • Audio mixing and editing • Digital video effects, including brightness, gamma, hue, greyscale, chroma key (bluescreen / greenscreen) , and many more! Screenshot [image] System Requirements Video editing benefits from large amounts of memory, modern CPUs, and fast disks. Basically, you want the best computer you can afford when editing video. Here are the minimum system requirements: • 64-bit Operating System (Linux, OS X, Windows 7/8/10) • Multi-core processor with 64-bit support • 4GB of RAM (16GB recommended) • 500 MB of hard-disk space for installation • Optional: Solid-state drive (SSD), if utilizing disk-caching (and an additional 10GB of hard-disk space) License OpenShot Video Editor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Getting Started OpenShot Video Editor is available on most operating systems (including Linux, Mac, and Windows). Visit the official download page and grab the latest and greatest version: https://www.openshot.org/download/. Linux Depending on which Linux distribution you use, there are likely many ways to install OpenShot. The easiest way to ensure you have the very latest version, is to download an AppImage from the project website (listed above). Once downloaded, right click on the AppImage file, choose Properties, and mark the file as Executable. Now, go ahead and double click the AppImage to launch it. Mac Download the DMG file from the project website (listed above), double click it, and then drag the OpenShot application icon into your Applications shortcut. This is very similar to how most other Mac applications are installed. Now launch OpenShot from Launchpad. Windows Download the Windows installer executable from the project website (listed above), double click it, and follow the directions on screen. Once completed, OpenShot will be installed and available in your Start menu. Quick Tutorial Using OpenShot is very easy, and this tutorial will take you through the basics in under 5 minutes. After this tutorial, you will be able to make a simple photo slide-show with music. Step 1 – Import Photos & Music Before we can begin making a video, we need to import files into OpenShot. Drag and drop a few images (*.JPG, *.PNG, etc…) and a music file (most formats will work) from your Desktop to OpenShot. Be sure to drop the files where the arrow in the illustration is pointing to. [image] Step 2 – Arrange Photos on Timeline Next, drag each photo onto the timeline (as seen in the illustration). The timeline represents your final video, so arrange your photos in whatever sequence you want them to appear in your video. If you overlap two clips, OpenShot will automatically create a smooth fade between them, displayed by blue rounded rectangles between the clips. Remember, you can rearrange the clips as many times as needed by simply dragging and dropping them. [image] Step 3 – Add Music to Timeline To make our photo slide-show more interesting, we need to add some music. You should have imported a music file in step 1. Click on the music file, and drag it onto the timeline. If the song is too long, grab the right edge of your music clip, and resize it smaller. [image] Step 4 – Preview your Project To preview what our video looks & sounds like, click the Play button under the preview window. You can also pause, rewind, and fast-forward your video project by clicking the corresponding buttons. [image] Step 5 – Export your Video Once you are happy with your photo slide-show video, the next step is to export your video. This will convert your OpenShot project into a single video file, which will work on most media players (such as VLC) or websites (such as YouTube, Vimeo, etc…). Click on the Export Video icon at the top of the screen (or use the File > Export Video menu). Choose from one of the many preset export options, and click the Export Video button. [image] You should now have a basic understanding of how OpenShot works. Importing, Arranging, Previewing, and Exporting. Hopefully this tutorial took less than 5 minutes for you to complete. Please read the rest of this guide for a more detailed understanding of OpenShot, and it’s advanced features. Enjoy! Main Window OpenShot Video Editor has one main window which contains most of the information, buttons, and menus needed to edit your video project. Overview [image] ┌──┬───────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼───────────────────┼──────────────────────────┤ │1 │ Main Toolbar │ Contains buttons to │ │ │ │ open, save, and export │ │ │ │ your video project. │ ├──┼───────────────────┼──────────────────────────┤ │2 │ Function Tabs │ Switch between Project │ │ │ │ Files, Transitions, and │ │ │ │ Effects. │ ├──┼───────────────────┼──────────────────────────┤ │3 │ Project Files │ All audio, video, and │ │ │ │ image files that have │ │ │ │ been imported into your │ │ │ │ project. │ ├──┼───────────────────┼──────────────────────────┤ │4 │ Preview Window │ This is the area that │ │ │ │ the video will playback │ │ │ │ on the screen. │ ├──┼───────────────────┼──────────────────────────┤ │5 │ Edit Toolbar │ This toolbar contains │ │ │ │ buttons used for │ │ │ │ snapping, inserting │ │ │ │ markers, and jumping │ │ │ │ between markers. │ ├──┼───────────────────┼──────────────────────────┤ │6 │ Zoom Slider │ This slider will adjust │ │ │ │ the time-scale of your │ │ │ │ timeline. │ ├──┼───────────────────┼──────────────────────────┤ │7 │ Play-head / Ruler │ The ruler shows the │ │ │ │ time-scale, and the red │ │ │ │ line is the play-head. │ │ │ │ The play-head represents │ │ │ │ the current playback │ │ │ │ position. │ ├──┼───────────────────┼──────────────────────────┤ │8 │ Timeline │ The timeline visualizes │ │ │ │ your video project, and │ │ │ │ each clip and transition │ │ │ │ in your project. │ └──┴───────────────────┴──────────────────────────┘ │9 │ Filter │ Filter the list of items │ │ │ │ shown (project files, │ │ │ │ transitions, and │ │ │ │ effects) by using these │ │ │ │ buttons and filter │ │ │ │ textbox. Enter a few │ │ │ │ letters of what you are │ │ │ │ looking for, and the │ │ │ │ results will be shown. │ └──┴───────────────────┴──────────────────────────┘ For step-by-step instructions on the basic usage of OpenShot, be sure to read the quick_tutorial_ref. Built-in Tutorial When you first launch OpenShot, you will be presented with a friendly built-in tutorial. It will point out and explain the basics. Clicking Next will jump to the next topic. You can always view this tutorial again from the Help→Tutorial menu. [image] Tracks & Layers OpenShot uses tracks to layer videos and images. The top most track is the top layer, and the bottom track is the bottom layer. If you are familiar with layers in a photo editing application, then you should be quite familiar with this concept. OpenShot will mix each layer together, just like a photo editing application. You can have an unlimited number of tracks, but typically a video project will not need more than 10 (or so) tracks. For example, imagine a 3 track video project [image] ┌──┬──────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼──────────────┼──────────────────────────┤ │1 │ Top Track │ Clips on this track will │ │ │ │ always be on top and │ │ │ │ visible │ ├──┼──────────────┼──────────────────────────┤ │2 │ Middle Track │ Clips in the middle │ │ │ │ (might or might not be │ │ │ │ visible, depending on │ │ │ │ what is above them) │ ├──┼──────────────┼──────────────────────────┤ │3 │ Bottom Track │ Clips on this track will │ │ │ │ always be on the bottom │ └──┴──────────────┴──────────────────────────┘ Keyboard Shortcuts Here is a list of the default keyboard shortcuts supported by OpenShot. You can configure these shortcuts in the Preferences dialog. Learning a few of these shortcuts can save you a bunch of time! ┌───────────────────┬────────────────────────────┐ │Shortcut │ Action │ ├───────────────────┼────────────────────────────┤ │Ctrl+H │ About OpenShot │ ├───────────────────┼────────────────────────────┤ │Ctrl+M │ Add Marker │ ├───────────────────┼────────────────────────────┤ │Ctrl+Shift+T │ Add Track │ ├───────────────────┼────────────────────────────┤ │Ctrl+W │ Add to Timeline │ ├───────────────────┼────────────────────────────┤ │Ctrl+B │ Animated Title │ ├───────────────────┼────────────────────────────┤ │Ctrl+P │ Choose Profile │ └───────────────────┴────────────────────────────┘ │Ctrl+C │ Copy │ ├───────────────────┼────────────────────────────┤ │Delete │ Delete Item │ ├───────────────────┼────────────────────────────┤ │Backspace │ Delete Item │ ├───────────────────┼────────────────────────────┤ │Ctrl+D │ Details View │ ├───────────────────┼────────────────────────────┤ │Ctrl+E │ Export Video │ ├───────────────────┼────────────────────────────┤ │L │ Fast Forward │ ├───────────────────┼────────────────────────────┤ │F11 │ Fullscreen │ ├───────────────────┼────────────────────────────┤ │Ctrl+F │ Import Files │ ├───────────────────┼────────────────────────────┤ │Ctrl+End │ Jump to End │ ├───────────────────┼────────────────────────────┤ │Ctrl+Home │ Jump to Start │ ├───────────────────┼────────────────────────────┤ │Ctrl+N │ New Project │ ├───────────────────┼────────────────────────────┤ │Right │ Next Frame │ ├───────────────────┼────────────────────────────┤ │Ctrl+Right │ Next Marker │ ├───────────────────┼────────────────────────────┤ │Ctrl+O │ Open Project │ ├───────────────────┼────────────────────────────┤ │Ctrl+V │ Paste │ ├───────────────────┼────────────────────────────┤ │Space │ Play/Pause Toggle │ ├───────────────────┼────────────────────────────┤ │Up │ Play/Pause Toggle │ ├───────────────────┼────────────────────────────┤ │Down │ Play/Pause Toggle │ ├───────────────────┼────────────────────────────┤ │K │ Play/Pause Toggle │ ├───────────────────┼────────────────────────────┤ │Ctrl+Shift+P │ Preferences │ ├───────────────────┼────────────────────────────┤ │Left │ Previous Frame │ ├───────────────────┼────────────────────────────┤ │Ctrl+Left │ Previous Marker │ ├───────────────────┼────────────────────────────┤ │Ctrl+I │ Properties │ ├───────────────────┼────────────────────────────┤ │Ctrl+Q │ Quit │ ├───────────────────┼────────────────────────────┤ │Ctrl+Y │ Redo │ ├───────────────────┼────────────────────────────┤ │J │ Rewind │ ├───────────────────┼────────────────────────────┤ │Ctrl+S │ Save Project │ ├───────────────────┼────────────────────────────┤ │Ctrl+Shift+S │ Save Project As… │ ├───────────────────┼────────────────────────────┤ │Ctrl+A │ Select All │ ├───────────────────┼────────────────────────────┤ │Ctrl+Shift+A │ Select None │ ├───────────────────┼────────────────────────────┤ │Ctrl+K │ Slice All: Keep Both Sides │ ├───────────────────┼────────────────────────────┤ │Ctrl+L │ Slice All: Keep Left Side │ └───────────────────┴────────────────────────────┘ │Ctrl+J │ Slice All: Keep Right Side │ ├───────────────────┼────────────────────────────┤ │Ctrl+G │ Toggle Snapping │ ├───────────────────┼────────────────────────────┤ │Ctrl+X │ Split Clip │ ├───────────────────┼────────────────────────────┤ │Ctrl+Shift+D │ Thumbnail View │ ├───────────────────┼────────────────────────────┤ │Ctrl+T │ Title Editor │ ├───────────────────┼────────────────────────────┤ │Ctrl+Z │ Undo │ ├───────────────────┼────────────────────────────┤ │= │ Zoom In │ ├───────────────────┼────────────────────────────┤ │– │ Zoom Out │ ├───────────────────┼────────────────────────────┤ │Ctrl+Scroll │ Zoom In/Out │ ├───────────────────┼────────────────────────────┤ │Ctrl+Middle Button │ Scroll Timeline │ └───────────────────┴────────────────────────────┘ Files Before we can begin making a video, we need to import files into OpenShot. Most media file types are recognized, such as videos, images, and audio files. Files can be viewed and managed in the Project Files panel. Import Files There are many ways to import media files into OpenShot. ┌─────────────────────┬──────────────────────────────────┐ │Name │ Description │ ├─────────────────────┼──────────────────────────────────┤ │Drag and Drop │ Drag and drop the files from │ │ │ your file manager (file │ │ │ explorer, finder, etc…) │ ├─────────────────────┼──────────────────────────────────┤ │Right Click→Import │ Right click in the Project Files │ │ │ panel, choose Import Files… │ ├─────────────────────┼──────────────────────────────────┤ │File Menu→Import │ File menu→Import Files… │ ├─────────────────────┼──────────────────────────────────┤ │Import Files Toolbar │ Click the Import Files… toolbar │ │ │ button (on the top menu) │ └─────────────────────┴──────────────────────────────────┘ [image] File Menu To view the file menu, right click on a file (in the Project Files panel). Here are the actions you can use from the file menu. [image] ┌────────────────────┬──────────────────────────────────┐ │Name │ Description │ ├────────────────────┼──────────────────────────────────┤ │Import Files… │ Import files into your project │ ├────────────────────┼──────────────────────────────────┤ │Thumbnail/Detail │ Toggle the view between details │ │ │ and thumbnails │ ├────────────────────┼──────────────────────────────────┤ │Preview File │ Preview a media file │ ├────────────────────┼──────────────────────────────────┤ │Split Clip… │ Split a file into many smaller │ │ │ clips │ ├────────────────────┼──────────────────────────────────┤ │Edit Title │ Edit an existing title SVG file │ └────────────────────┴──────────────────────────────────┘ │Duplicate Title │ Make a copy, and then edit the │ │ │ copied title SVG file │ ├────────────────────┼──────────────────────────────────┤ │Add to Timeline │ Add many files to the timeline │ │ │ in one step │ ├────────────────────┼──────────────────────────────────┤ │File Properties │ View the properties of a file, │ │ │ such as frame rate, size, etc… │ ├────────────────────┼──────────────────────────────────┤ │Remove from Project │ Remove a file from the project │ └────────────────────┴──────────────────────────────────┘ Split Clip If you need to cut a file into many smaller clips before editing, the Split Clip dialog is built exactly for this purpose. Right click on a file, and choose Split Clip… from the file menu. This opens the Split Clip dialog. Use this dialog to quickly cut out as many small clips as you need. The dialog stays open after you create a clip, to allow you to repeat the steps for your next clip. When you are finished, simply close the dialog. [image] ┌──┬───────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼───────────────┼──────────────────────────┤ │1 │ Start of Clip │ Choose the starting │ │ │ │ frame of your clip by │ │ │ │ clicking this button │ ├──┼───────────────┼──────────────────────────┤ │2 │ End of Clip │ Choose the ending frame │ │ │ │ of your clip by clicking │ │ │ │ this button │ ├──┼───────────────┼──────────────────────────┤ │3 │ Name of Clip │ Enter an optional name │ ├──┼───────────────┼──────────────────────────┤ │4 │ Create Clip │ Create the clip (which │ │ │ │ resets this dialog, so │ │ │ │ you can repeat these │ │ │ │ steps for each clip) │ └──┴───────────────┴──────────────────────────┘ Add to Timeline In certain cases, you might need to add many files to the timeline at the same time. For example, a photo slide show, or a large number of short video clips. The Add to Timeline dialog can automate this task for you. First, select all files you need to add, right click, and choose Add to Timeline. [image] ┌──┬───────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼───────────────────┼──────────────────────────┤ │1 │ Selected Files │ The list of selected │ │ │ │ files that need to be │ │ │ │ added to the timeline │ ├──┼───────────────────┼──────────────────────────┤ │2 │ Order of Files │ Use these buttons to │ │ │ │ reorder the list of │ │ │ │ files (move up, move │ │ │ │ down, randomize, remove) │ ├──┼───────────────────┼──────────────────────────┤ │3 │ Timeline Position │ Choose the starting │ │ │ │ position and track where │ │ │ │ these files need to be │ │ │ │ inserted on the timeline │ ├──┼───────────────────┼──────────────────────────┤ │4 │ Fade Options │ Fade in, fade out, both, │ │ │ │ or none │ └──┴───────────────────┴──────────────────────────┘ │5 │ Zoom Options │ Zoom in, zoom out, or │ │ │ │ none │ ├──┼───────────────────┼──────────────────────────┤ │6 │ Transitions │ Choose a specific │ │ │ │ transition to use │ │ │ │ between files, random, │ │ │ │ or none │ └──┴───────────────────┴──────────────────────────┘ Properties To view the properties of any imported file in your video project, right click on the file, and choose File Properties. This will launch the file properties dialog, which displays information about your media file. For certain types of images (i.e. image sequences), you can adjust the frame rate on this dialog also. [image] ┌──┬─────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼─────────────────┼──────────────────────────┤ │1 │ File Properties │ Select an image sequence │ │ │ │ in the Project Files │ │ │ │ panel, right click and │ │ │ │ choose File Properties │ ├──┼─────────────────┼──────────────────────────┤ │2 │ Frame Rate │ For image sequences, you │ │ │ │ can also adjust the │ │ │ │ frame rate of the │ │ │ │ animation │ └──┴─────────────────┴──────────────────────────┘ Clips Each media file you add to the OpenShot timeline is called a clip, and is visualized by a dark, rounded rectangle (as seen in the screenshot below). A clip has a large number of properties, which affects how the clip is rendered and composited, such as scale, location, rotation, and alpha. These properties can also be animated over time, and when combined together, can create some amazing effects. Overview [image] ┌──┬────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼────────────┼──────────────────────────┤ │1 │ Clip 1 │ A video clip │ ├──┼────────────┼──────────────────────────┤ │2 │ Transition │ A gradual fade │ │ │ │ transition between the 2 │ │ │ │ clips │ ├──┼────────────┼──────────────────────────┤ │3 │ Clip 2 │ An image clip │ └──┴────────────┴──────────────────────────┘ Cutting & Slicing OpenShot has many easy ways to adjust the start and end positions of a clip (otherwise known as cutting). The most common method is simply grabbing the left (or right) edge of the clip and dragging. Here is a list of methods for cutting clips in OpenShot: ┌──────────────┬──────────────────────────────────┐ │Name │ Description │ ├──────────────┼──────────────────────────────────┤ │Slice │ When the play-head (i.e. red │ │ │ playback line) is overlapping a │ │ │ clip, right click on the clip, │ │ │ and choose Slice │ └──────────────┴──────────────────────────────────┘ │Slice All │ When the play-head is │ │ │ overlapping many clips, right │ │ │ click on the play-head, and │ │ │ choose Slice All (it will cut │ │ │ all intersecting clips) │ ├──────────────┼──────────────────────────────────┤ │Resizing Edge │ Mouse over the edge of a clip, │ │ │ and resize the edge │ ├──────────────┼──────────────────────────────────┤ │Split Dialog │ Right click on a file, and │ │ │ choose Split Clip. A dialog will │ │ │ appear which allows for creating │ │ │ lots of small cuts in a single │ │ │ video file. │ ├──────────────┼──────────────────────────────────┤ │Razor Tool │ The razor tool cuts a clip │ │ │ wherever you click, so be │ │ │ careful. Easy and dangerous. │ └──────────────┴──────────────────────────────────┘ Keep in mind that all of the above cutting methods also have keyboard_shortcut_ref, to save even more time. Preset Menu OpenShot has tons of great preset animations and clip properties, such as fading, sliding, zooming, etc… These presets can be accessed by right clicking on a clip. [image] ┌───────────────┬──────────────────────────────────┐ │Name │ Description │ ├───────────────┼──────────────────────────────────┤ │Fade │ Fade in or out a clip (often │ │ │ easier than using a transition) │ ├───────────────┼──────────────────────────────────┤ │Animate │ Zoom and slide a clip │ ├───────────────┼──────────────────────────────────┤ │Rotate │ Rotate or flip a video │ ├───────────────┼──────────────────────────────────┤ │Layout │ Make a video smaller or larger, │ │ │ and snap to any corner │ ├───────────────┼──────────────────────────────────┤ │Time │ Reverse and speed up or slow │ │ │ down video │ ├───────────────┼──────────────────────────────────┤ │Volume │ Fade in or out the volume for a │ │ │ clip │ ├───────────────┼──────────────────────────────────┤ │Separate Audio │ Create a clip for each audio │ │ │ track │ ├───────────────┼──────────────────────────────────┤ │Slice │ Cut the clip at the play-head │ │ │ position │ ├───────────────┼──────────────────────────────────┤ │Transform │ Enable transform mode │ ├───────────────┼──────────────────────────────────┤ │Display │ Show waveform or thumbnail for a │ │ │ clip │ ├───────────────┼──────────────────────────────────┤ │Properties │ Show the properties panel for a │ │ │ clip │ ├───────────────┼──────────────────────────────────┤ │Copy / Paste │ Copy and paste key frames or │ │ │ duplicate an entire clip (with │ │ │ all key frames) │ └───────────────┴──────────────────────────────────┘ │Remove Clip │ Remove a clip from the timeline │ └───────────────┴──────────────────────────────────┘ Transform To quickly adjust the location and scale of a clip, select a clip on the timeline, right click and choose Transform. Grab any of the small blue handles to adjust scale, and grab the middle circle to move the image. Note: Pay close attention to where the play-head (i.e. red playback line) is. Key frames are automatically created at the current playback position, to help create animations. [image] For more info on key frames and animation, see animation_ref. Effects In addition to the many clip properties which can be animated and adjusted, you can also drop an effect directly onto a clip. Each effect is represented by a small letter icon. Clicking the effect icon will populate the properties of that effect, and allow you to edit (and animate) them. [image] Properties Below is a list of clip properties which can be edited, and in most cases, animated over time. To view a clip’s properties, right click and choose Properties. The property editor will appear, where you can change these properties. Note: Pay close attention to where the play-head (i.e. red playback line) is. Key frames are automatically created at the current playback position, to help create animations. ┌───────────────────┬──────────────────────────────────┐ │Name │ Description │ ├───────────────────┼──────────────────────────────────┤ │Gravity Type │ The gravity of a clip determines │ │ │ where it snaps to it’s parent │ ├───────────────────┼──────────────────────────────────┤ │Scale Type │ The scale determines how a clip │ │ │ should be resized to fit it’s │ │ │ parent │ ├───────────────────┼──────────────────────────────────┤ │Frame Display Type │ The format to display the frame │ │ │ number (if any) │ ├───────────────────┼──────────────────────────────────┤ │Scale X │ Curve representing the │ │ │ horizontal scaling in percent (0 │ │ │ to 1) │ ├───────────────────┼──────────────────────────────────┤ │Scale Y │ Curve representing the vertical │ │ │ scaling in percent (0 to 1) │ ├───────────────────┼──────────────────────────────────┤ │Location X │ Curve representing the relative │ │ │ X position in percent based on │ │ │ the gravity (-1 to 1) │ ├───────────────────┼──────────────────────────────────┤ │Location Y │ Curve representing the relative │ │ │ Y position in percent based on │ │ │ the gravity (-1 to 1) │ ├───────────────────┼──────────────────────────────────┤ │Rotation │ Curve representing the rotation │ │ │ (0 to 360) │ ├───────────────────┼──────────────────────────────────┤ │Alpha │ Curve representing the alpha (1 │ │ │ to 0) │ ├───────────────────┼──────────────────────────────────┤ │Time │ Curve representing the frames │ │ │ over time to play (used for │ │ │ speed and direction of video) │ └───────────────────┴──────────────────────────────────┘ │Volume │ Curve representing the volume (0 │ │ │ to 1) │ ├───────────────────┼──────────────────────────────────┤ │Shear X │ Curve representing X shear angle │ │ │ in degrees (-45.0=left, │ │ │ 45.0=right) │ ├───────────────────┼──────────────────────────────────┤ │Shear Y │ Curve representing Y shear angle │ │ │ in degrees (-45.0=down, 45.0=up) │ ├───────────────────┼──────────────────────────────────┤ │Channel Filter │ A number representing an audio │ │ │ channel to filter (clears all │ │ │ other channels) │ ├───────────────────┼──────────────────────────────────┤ │Channel Mapping │ A number representing an audio │ │ │ channel to output (only works │ │ │ when filtering a channel) │ ├───────────────────┼──────────────────────────────────┤ │Has Audio │ An optional override to │ │ │ determine if this clip has audio │ │ │ (-1=undefined, 0=no, 1=yes) │ ├───────────────────┼──────────────────────────────────┤ │Has Video │ An optional override to │ │ │ determine if this clip has video │ │ │ (-1=undefined, 0=no, 1=yes) │ ├───────────────────┼──────────────────────────────────┤ │Waveform │ Should a waveform be used │ │ │ instead of the clip’s image │ ├───────────────────┼──────────────────────────────────┤ │Waveform Color │ Curve representing the color of │ │ │ the audio wave form │ └───────────────────┴──────────────────────────────────┘ For more info on key frames and animation, see animation_ref. Transitions A transition is used to gradually fade (or wipe) between two clips. In OpenShot, transitions are represented by blue, rounded rectangles on the timeline. They are automatically created when you overlap two clips, and can be added manually by dragging one onto the timeline from the Transitions panel. A transition must be placed on top of a clip (overlapping it), with the most common location being the beginning or end. Overview [image] ┌──┬────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼────────────┼──────────────────────────┤ │1 │ Clip 1 │ A video clip │ ├──┼────────────┼──────────────────────────┤ │2 │ Transition │ A gradual fade │ │ │ │ transition between the 2 │ │ │ │ clips, created │ │ │ │ automatically by │ │ │ │ overlapping the clips. │ ├──┼────────────┼──────────────────────────┤ │3 │ Clip 2 │ An image clip │ └──┴────────────┴──────────────────────────┘ Direction Transitions adjust the alpha/transparency of the clip below it, and can either fade from opaque to transparent, or transparent to opaque. Right click and choose Reverse Transition to change the direction of the fade. You can also manually adjust the Brightness curve, animating the fade in any way you wish. [image] Cutting & Slicing OpenShot has many easy ways to adjust the start and end positions of a transition (otherwise known as cutting). The most common method is simply grabbing the left (or right) edge of the transition and dragging. Here is a list of methods for cutting transitions in OpenShot: ┌──────────────┬──────────────────────────────────┐ │Name │ Description │ ├──────────────┼──────────────────────────────────┤ │Slice │ When the play-head (i.e. red │ │ │ playback line) is overlapping a │ │ │ transition, right click on the │ │ │ transition, and choose Slice │ ├──────────────┼──────────────────────────────────┤ │Slice All │ When the play-head is │ │ │ overlapping many transitions, │ │ │ right click on the play-head, │ │ │ and choose Slice All (it will │ │ │ cut all intersecting │ │ │ transitions) │ ├──────────────┼──────────────────────────────────┤ │Resizing Edge │ Mouse over the edge of a │ │ │ transition, and resize the edge │ ├──────────────┼──────────────────────────────────┤ │Razor Tool │ The razor tool cuts a transition │ │ │ wherever you click, so be │ │ │ careful. Easy and dangerous. │ └──────────────┴──────────────────────────────────┘ Keep in mind that all of the above cutting methods also have keyboard_shortcut_ref. Mask Like clips_ref, transitions also have properties which can be animated over time. The fade (or wipe) can be adjusted with the Brightness curve, or held at a constant value to create a transparency mask on top of a clip. Custom Transition Any greyscale image can be used as a transition (or mask), by adding it to your /.openshot_qt/transitions/ folder. Just be sure to name your file something that is easily recognizable, and restart OpenShot. Your custom transition/mask will now show up in the list of transitions. Properties Below is a list of transition properties which can be edited, and in most cases, animated over time. To view a transition’s properties, right click and choose Properties. The property editor will appear, where you can change these properties. NOTE: Pay close attention to where the play-head (i.e. red playback line) is. Key frames are automatically created at the current playback position, to help create animations. ┌──────────────┬──────────────────────────────────┐ │Name │ Description │ ├──────────────┼──────────────────────────────────┤ │Brightness │ Curve representing the │ │ │ brightness of the transition │ │ │ image, which affects the │ │ │ fade/wipe (-1 to 1) │ ├──────────────┼──────────────────────────────────┤ │Contrast │ Curve representing the contrast │ │ │ of the transition image, which │ │ │ affects the softness/hardness of │ │ │ the fade/wipe (0 to 20) │ ├──────────────┼──────────────────────────────────┤ │Replace Image │ For debugging a problem, this │ │ │ property displays the transition │ │ │ image (instead of becoming a │ │ │ transparency) │ └──────────────┴──────────────────────────────────┘ Animation OpenShot has been designed specifically with animation in mind. The powerful curve-based animation framework can handle most jobs with ease, and is flexible enough to create just about any animation. Key frames specify values at certain points on a clip, and OpenShot does the hard work of interpolating the in-between values. Overview [image] ┌──┬───────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼───────────────────┼──────────────────────────┤ │1 │ Green Property │ When the play-head is on │ │ │ │ a key frame, the │ │ │ │ property appears green │ ├──┼───────────────────┼──────────────────────────┤ │1 │ Blue Property │ When the play-head is on │ │ │ │ an interpolated value, │ │ │ │ the property appears │ │ │ │ blue │ ├──┼───────────────────┼──────────────────────────┤ │2 │ Value Slider │ Click and drag your │ │ │ │ mouse to adjust the │ │ │ │ value (this │ │ │ │ automatically creates a │ │ │ │ key frame if needed) │ ├──┼───────────────────┼──────────────────────────┤ │3 │ Play-head │ Position the play-head │ │ │ │ over a clip where you │ │ │ │ need a key frame │ ├──┼───────────────────┼──────────────────────────┤ │4 │ Key frame Markers │ Small green tick marks │ │ │ │ are drawn at all key │ │ │ │ frame positions (on a │ │ │ │ clip) │ └──┴───────────────────┴──────────────────────────┘ Key Frames To create a key frame in OpenShot, simply position the play-head (i.e. playback position) at any point over a clip, and edit properties in the property dialog. If the property supports key frames, it will turn green, and a small green tick mark will appear on your clip at that position. Move your play-head to another point over that clip, and adjust the properties again. All animations require at least 2 key frames, but can support an unlimited number of them. To adjust the interpolation mode, right click on the small graph icon next to a property value. ┌─────────┬──────────────────────────────────┐ │Name │ Description │ ├─────────┼──────────────────────────────────┤ │Bézier │ Interpolated values use a │ │ │ quadratic curve, and ease-in and │ │ │ ease-out │ ├─────────┼──────────────────────────────────┤ │Linear │ Interpolated values are │ │ │ calculated linear (each step │ │ │ value is equal) │ ├─────────┼──────────────────────────────────┤ │Constant │ Interpolated values stay the │ │ │ same until the next key frame, │ │ │ and jump to the new value │ └─────────┴──────────────────────────────────┘ For more info on clip properties, see clip_properties_ref. For more info on preset animations, see clip_presets_ref. For more info on creating key frames for location and scale, see clip_transform_ref. Bézier Presets When using a Bézier curve for animation, OpenShot includes more than 20 curve presets (which affect the shape of the curve). For example, Ease-In has a more gradual slope at the beginning, making an animation move slower at the beginning, and faster at the end. Ease-In/Out (Back) has a gradual beginning and ending, but actually goes past the expected value and then back (producing a bounce effect). To choose a curve preset, right click on the small graph icon next to a key frame. [image] Image Sequences If you have a sequence of similarly named images (such as, cat001.png, cat002.png, cat003.png, etc…), you can simply drag and drop one of them into OpenShot, and you will be prompted to import the entire sequence. To adjust the frame rate of the animation, right click and choose File Properties in the Project Files panel, and adjust the frame rate. Once you have set the correct frame rate, drag the animation onto the timeline. [image] ┌──┬─────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼─────────────────┼──────────────────────────┤ │1 │ File Properties │ Select an image sequence │ │ │ │ in the Project Files │ │ │ │ panel, right click and │ │ │ │ choose File Properties │ ├──┼─────────────────┼──────────────────────────┤ │2 │ Frame Rate │ Adjust the frame rate of │ │ │ │ the animation. │ │ │ │ Typically, hand-drawn │ │ │ │ animations use 12 frames │ │ │ │ per second. │ └──┴─────────────────┴──────────────────────────┘ Titles Adding text and titles is an important aspect of video editing, and OpenShot comes with an easy to use Title Editor. Use the Title menu (located in the main menu of OpenShot) to launch the Title Editor. You can also use the keyboard shortcut Ctrl+T. Overview [image] ┌──┬───────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼───────────────────┼──────────────────────────┤ │1 │ Choose a Template │ Choose from any │ │ │ │ available vector title │ │ │ │ template │ ├──┼───────────────────┼──────────────────────────┤ │2 │ Preview Title │ Preview your title as │ │ │ │ you make changes │ ├──┼───────────────────┼──────────────────────────┤ │3 │ Title Properties │ Change the text, colors, │ │ │ │ or edit in an advanced │ │ │ │ SVG image editor (such │ │ │ │ as Inkscape) │ ├──┼───────────────────┼──────────────────────────┤ │4 │ Save │ Save and add the title │ │ │ │ to your project │ └──┴───────────────────┴──────────────────────────┘ Custom Titles OpenShot can use any vector SVG image file as a title template. Just add an SVG image file to your /.openshot_qt/titles/ folder, and it will appear in OpenShot’s title editor after you restart OpenShot. You can also right click on any SVG files in your Project Files panel, and choose Edit Title or Duplicate Title. 3D Animated Titles Adding a 3D animated title is just as easy, using our Animated Title dialog. Use the Title menu (located in the main menu of OpenShot) to launch the Animated Title editor. You can also use the keyboard shortcut Ctrl+B. [image] ┌──┬───────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼───────────────────┼──────────────────────────┤ │1 │ Choose a Template │ Choose from any │ │ │ │ available 3D title │ │ │ │ templates │ ├──┼───────────────────┼──────────────────────────┤ │2 │ Preview Title │ Preview your title as │ │ │ │ you make changes │ ├──┼───────────────────┼──────────────────────────┤ │3 │ Title Properties │ Change the text, colors, │ │ │ │ and advanced properties │ ├──┼───────────────────┼──────────────────────────┤ │4 │ Render │ Render the 3D animation, │ │ │ │ and add it to your │ │ │ │ project │ └──┴───────────────────┴──────────────────────────┘ This feature requires the latest version of Blender (https://www.blender.org/download/) be installed, and the OpenShot Preferences updated with the correct path to the Blender executable (for example: /home/USER/blender-2.78/blender). Profiles A profile is a collection of common video settings (size, frame rate, aspect ratio, etc…). Profiles are used during editing, previewing, and exporting to provide a quick way to switch between common combinations of these settings. Project Profile The project profile is used when previewing your project and editing. The default project profile is “HD 720p 24fps”. It is best practice to always switch to your target profile before you begin editing. For example, if you are targeting 1080p 30fps, switch to that profile before you begin editing your project. [image] ┌──┬────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼────────────────┼──────────────────────────┤ │1 │ Title Bar │ The title bar of │ │ │ │ OpenShot displays the │ │ │ │ current profile │ ├──┼────────────────┼──────────────────────────┤ │2 │ Profile Button │ Launch the profiles │ │ │ │ dialog │ ├──┼────────────────┼──────────────────────────┤ │3 │ Choose Profile │ Select a profile for │ │ │ │ editing and preview │ └──┴────────────────┴──────────────────────────┘ Export Profile The export profile always defaults to your current project profile, but can be changed to target different profiles. [image] ┌──┬────────────────┬──────────────────────────┐ │# │ Name │ Description │ ├──┼────────────────┼──────────────────────────┤ │1 │ Choose Profile │ Select a profile for │ │ │ │ export │ └──┴────────────────┴──────────────────────────┘ Custom Profile Although OpenShot has more than 70 profiles included by default, you can also create your own custom profiles. Create a new file in the /.openshot_qt/profiles/ folder. Use the following text as your template (i.e. copy and paste this into the file): description=Custom Profile Name frame_rate_num=30000 frame_rate_den=1001 width=1280 height=720 progressive=1 sample_aspect_num=1 sample_aspect_den=1 display_aspect_num=16 display_aspect_den=9 Once you restart OpenShot, you will see your custom profile appear in the list of Profiles. Import & Export Video editing projects (including tracks, clips, and keyframes) can be imported and exported from OpenShot Video Editor in widely supported formats (EDL: Edit Decision Lists, and XML: Final Cut Pro format). For example, if you start editing a video in a different program (Adobe Premier, Final Cut Pro, etc…), but later need to move all your edits to OpenShot (or vice versa). EDL (Edit Decision Lists) The following features are supported when importing and exporting an EDL file with OpenShot. ┌────────────────┬──────────────────────────────────┐ │Name │ Description │ ├────────────────┼──────────────────────────────────┤ │EDL Format │ CMX-3600 (a very widely │ │ │ supported variation) │ ├────────────────┼──────────────────────────────────┤ │Single Track │ Only a single track can be │ │ │ imported at a time (this is a │ │ │ limitation of the EDL format) │ ├────────────────┼──────────────────────────────────┤ │Tape Name │ Only AX and BL tape names are │ │ │ currently supported in OpenShot │ ├────────────────┼──────────────────────────────────┤ │Edits (V and A) │ Only edits are currently │ │ │ supported (transitions are not │ │ │ yet supported) │ ├────────────────┼──────────────────────────────────┤ │Opacity │ Opacity keyframes are supported │ ├────────────────┼──────────────────────────────────┤ │Audio Levels │ Volume keyframes are supported │ └────────────────┴──────────────────────────────────┘ Example EDL format supported by OpenShot: TITLE: Clips - TRACK 5 FCM: NON-DROP FRAME 001 BL V C 00:00:00:01 00:00:03:17 00:00:00:01 00:00:03:17 001 AX V C 00:00:00:01 00:00:10:01 00:00:03:17 00:00:13:17 * FROM CLIP NAME: Intro.png 002 BL V C 00:00:00:01 00:00:05:09 00:00:13:17 00:00:18:25 002 AX V C 00:00:00:01 00:00:10:01 00:00:18:25 00:00:28:25 * FROM CLIP NAME: FileName.mp4 * OPACITY LEVEL AT 00:00:00:01 IS 0.00% (REEL AX) * OPACITY LEVEL AT 00:00:01:01 IS 100.00% (REEL AX) * OPACITY LEVEL AT 00:00:09:01 IS 100.00% (REEL AX) * OPACITY LEVEL AT 00:00:10:01 IS 0.00% (REEL AX) 003 BL V C 00:00:00:01 00:00:33:15 00:00:28:25 00:01:02:09 003 AX V C 00:00:14:25 00:00:34:29 00:01:02:09 00:01:22:13 003 AX A C 00:00:14:25 00:00:34:29 00:01:02:09 00:01:22:13 * FROM CLIP NAME: FileName2.mp4 004 BL V C 00:00:00:01 00:00:26:25 00:01:22:13 00:01:49:07 004 AX A C 00:00:00:01 00:02:20:01 00:01:49:07 00:04:09:07 * FROM CLIP NAME: Music.wav * AUDIO LEVEL AT 00:00:00:01 IS -99.00 DB (REEL AX A1) * AUDIO LEVEL AT 00:00:03:01 IS 0.00 DB (REEL AX A1) * AUDIO LEVEL AT 00:02:17:01 IS 0.00 DB (REEL AX A1) * AUDIO LEVEL AT 00:02:20:01 IS -99.00 DB (REEL AX A1) XML (Final Cut Pro format) The following features are supported when importing and exporting an XML file with OpenShot. This XML format is supported in many video editors (not just Final Cut Pro). In fact, most commercial video editors have some support for importing and exporting this same XML format. ┌─────────────┬──────────────────────────────────┐ │Name │ Description │ ├─────────────┼──────────────────────────────────┤ │XML Format │ Final Cut Pro format (but most │ │ │ commercial video editors also │ │ │ support this format) │ ├─────────────┼──────────────────────────────────┤ │All Tracks │ All video and audio tracks are │ │ │ supported │ ├─────────────┼──────────────────────────────────┤ │Edits │ All clips on all tracks are │ │ │ supported (video, image, and │ │ │ audio files). Transitions are │ │ │ not yet supported. │ ├─────────────┼──────────────────────────────────┤ │Opacity │ Opacity keyframes are supported │ ├─────────────┼──────────────────────────────────┤ │Audio Levels │ Volume keyframes are supported │ └─────────────┴──────────────────────────────────┘ Example XML format supported by OpenShot (abbreviated): <?xml version="1.0" ?> <!DOCTYPE xmeml> <xmeml version="4"> <sequence MZ.EditLine="3237704870400" MZ.Sequence.AudioTimeDisplayFormat="200" MZ.Sequence.EditingModeGUID="795454d9-d3c2-429d-9474-923ab13b7017" MZ.Sequence.PreviewFrameSizeHeight="480" MZ.Sequence.PreviewFrameSizeWidth="720" MZ.Sequence.PreviewRenderingClassID="1061109567" MZ.Sequence.PreviewRenderingPresetCodec="1685480224" MZ.Sequence.PreviewRenderingPresetPath="EncoderPresets/SequencePreview/795454d9-d3c2-429d-9474-923ab13b7017/QuickTime DV NTSC.epr" MZ.Sequence.PreviewUseMaxBitDepth="false" MZ.Sequence.PreviewUseMaxRenderQuality="false" MZ.Sequence.VideoTimeDisplayFormat="102" MZ.WorkInPoint="0" MZ.WorkOutPoint="5432902675200" MZ.ZeroPoint="8475667200" Monitor.ProgramZoomIn="0" Monitor.ProgramZoomOut="5432902675200" TL.SQAVDividerPosition="0.5" TL.SQAudioVisibleBase="0" TL.SQHeaderWidth="236" TL.SQHideShyTracks="0" TL.SQTimePerPixel="0.050923888888888894" TL.SQVideoVisibleBase="0" TL.SQVisibleBaseTime="0" explodedTracks="true" id="X3N90QWYU1"> <uuid>60cb1fb8-7dac-11e9-abb0-f81a67234bcb</uuid> <duration>249.215625</duration> <rate> <timebase>30.0</timebase> <ntsc>TRUE</ntsc> </rate> <name>Clips.xml</name> <media> <video> <format> <samplecharacteristics> <rate> <timebase>30.0</timebase> <ntsc>TRUE</ntsc> </rate> <codec>...</codec> <width>1280</width> <height>720</height> <anamorphic>FALSE</anamorphic> <pixelaspectratio>NTSC-601</pixelaspectratio> <fielddominance>lower</fielddominance> <colordepth>24</colordepth> </samplecharacteristics> </format> <track MZ.TrackTargeted="0" TL.SQTrackExpanded="0" TL.SQTrackExpandedHeight="25" TL.SQTrackShy="0"> <enabled>TRUE</enabled> <locked>FALSE</locked> <clipitem id="XAUWQHBX4K"> <name>Title.png</name> <enabled>TRUE</enabled> <duration>300.0</duration> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <start>340.79999999999995</start> <end>640.8</end> <in>0.0</in> <out>300.0</out> <pproTicksIn>0.0</pproTicksIn> <pproTicksOut>76204800000000.0</pproTicksOut> <alphatype>none</alphatype> <pixelaspectratio>square</pixelaspectratio> <anamorphic>FALSE</anamorphic> <file id="FL840TGBJK"> <name>Title.png</name> <pathurl>Title.png</pathurl> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <duration>301</duration> <timecode> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <string>00:00:00:00</string> <frame>0</frame> <displayformat>NDF</displayformat> <reel> <name>AX</name> </reel> </timecode> <media> <video> <samplecharacteristics> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <width>720</width> <height>480</height> <anamorphic>FALSE</anamorphic> <pixelaspectratio>square</pixelaspectratio> <fielddominance>lower</fielddominance> </samplecharacteristics> </video> <audio> <samplecharacteristics> <depth>16</depth> <samplerate>48000</samplerate> </samplecharacteristics> <channelcount>2</channelcount> </audio> </media> </file> <filter> <effect> <name>Opacity</name> <effectid>opacity</effectid> <effectcategory>motion</effectcategory> <effecttype>motion</effecttype> <mediatype>video</mediatype> <pproBypass>false</pproBypass> <parameter authoringApp="OpenShot"> <parameterid>opacity</parameterid> <name>opacity</name> <valuemin>0</valuemin> <valuemax>100</valuemax> <value>100</value> <keyframe> <when>1.0</when> <value>100.0</value> </keyframe> </parameter> </effect> </filter> <logginginfo> <description/> <scene/> <shottake/> <lognote/> <good/> <originalvideofilename/> <originalaudiofilename/> </logginginfo> <colorinfo> <lut/> <lut1/> <asc_sop/> <asc_sat/> <lut2/> </colorinfo> <labels> <label2>Violet</label2> </labels> </clipitem> <clipitem id="A2ZIIOZCH9"> <name>FileName.mp4</name> <enabled>TRUE</enabled> <duration>1558.400001525879</duration> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <start>2214.0</start> <end>3772.400001525879</end> <in>0.0</in> <out>1558.400001525879</out> <pproTicksIn>0.0</pproTicksIn> <pproTicksOut>395858534787597.6</pproTicksOut> <alphatype>none</alphatype> <pixelaspectratio>square</pixelaspectratio> <anamorphic>FALSE</anamorphic> <file id="SG00IW75Y5"> <name>FileName.mp4</name> <pathurl>FileName.mp4</pathurl> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <duration>301</duration> <timecode> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <string>00:00:00:00</string> <frame>0</frame> <displayformat>NDF</displayformat> <reel> <name>AX</name> </reel> </timecode> <media> <video> <samplecharacteristics> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <width>720</width> <height>480</height> <anamorphic>FALSE</anamorphic> <pixelaspectratio>square</pixelaspectratio> <fielddominance>lower</fielddominance> </samplecharacteristics> </video> <audio> <samplecharacteristics> <depth>16</depth> <samplerate>2</samplerate> </samplecharacteristics> <channelcount>48000</channelcount> </audio> </media> </file> <filter> <effect> <name>Opacity</name> <effectid>opacity</effectid> <effectcategory>motion</effectcategory> <effecttype>motion</effecttype> <mediatype>video</mediatype> <pproBypass>false</pproBypass> <parameter authoringApp="OpenShot"> <parameterid>opacity</parameterid> <name>opacity</name> <valuemin>0</valuemin> <valuemax>100</valuemax> <value>100</value> <keyframe> <when>1.0</when> <value>100.0</value> </keyframe> </parameter> </effect> </filter> <logginginfo> <description/> <scene/> <shottake/> <lognote/> <good/> <originalvideofilename/> <originalaudiofilename/> </logginginfo> <colorinfo> <lut/> <lut1/> <asc_sop/> <asc_sat/> <lut2/> </colorinfo> <labels> <label2>Violet</label2> </labels> </clipitem> </track> <track MZ.TrackTargeted="0" TL.SQTrackExpanded="0" TL.SQTrackExpandedHeight="25" TL.SQTrackShy="0"> <enabled>TRUE</enabled> <locked>FALSE</locked> <clipitem id="0E25FKQBWG"> <name>Credits.png</name> <enabled>TRUE</enabled> <duration>300.0</duration> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <start>105.6</start> <end>405.59999999999997</end> <in>0.0</in> <out>300.0</out> <pproTicksIn>0.0</pproTicksIn> <pproTicksOut>76204800000000.0</pproTicksOut> <alphatype>none</alphatype> <pixelaspectratio>square</pixelaspectratio> <anamorphic>FALSE</anamorphic> <file id="KTBZK4AR5A"> <name>Credits.png</name> <pathurl>Credits.png</pathurl> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <duration>301</duration> <timecode> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <string>00:00:00:00</string> <frame>0</frame> <displayformat>NDF</displayformat> <reel> <name>AX</name> </reel> </timecode> <media> <video> <samplecharacteristics> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <width>720</width> <height>480</height> <anamorphic>FALSE</anamorphic> <pixelaspectratio>square</pixelaspectratio> <fielddominance>lower</fielddominance> </samplecharacteristics> </video> <audio> <samplecharacteristics> <depth>16</depth> <samplerate>48000</samplerate> </samplecharacteristics> <channelcount>2</channelcount> </audio> </media> </file> <filter> <effect> <name>Opacity</name> <effectid>opacity</effectid> <effectcategory>motion</effectcategory> <effecttype>motion</effecttype> <mediatype>video</mediatype> <pproBypass>false</pproBypass> <parameter authoringApp="OpenShot"> <parameterid>opacity</parameterid> <name>opacity</name> <valuemin>0</valuemin> <valuemax>100</valuemax> <value>100</value> <keyframe> <when>1.0</when> <value>100.0</value> </keyframe> </parameter> </effect> </filter> <logginginfo> <description/> <scene/> <shottake/> <lognote/> <good/> <originalvideofilename/> <originalaudiofilename/> </logginginfo> <colorinfo> <lut/> <lut1/> <asc_sop/> <asc_sat/> <lut2/> </colorinfo> <labels> <label2>Violet</label2> </labels> </clipitem> <clipitem id="YBPQ8J4LC9"> <name>Overlay.png</name> <enabled>TRUE</enabled> <duration>300.0</duration> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <start>564.0</start> <end>864.0</end> <in>0.0</in> <out>300.0</out> <pproTicksIn>0.0</pproTicksIn> <pproTicksOut>76204800000000.0</pproTicksOut> <alphatype>none</alphatype> <pixelaspectratio>square</pixelaspectratio> <anamorphic>FALSE</anamorphic> <file id="MMRR3KIDHF"> <name>Overlay.png</name> <pathurl>Overlay.png</pathurl> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <duration>301</duration> <timecode> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <string>00:00:00:00</string> <frame>0</frame> <displayformat>NDF</displayformat> <reel> <name>AX</name> </reel> </timecode> <media> <video> <samplecharacteristics> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <width>720</width> <height>480</height> <anamorphic>FALSE</anamorphic> <pixelaspectratio>square</pixelaspectratio> <fielddominance>lower</fielddominance> </samplecharacteristics> </video> <audio> <samplecharacteristics> <depth>16</depth> <samplerate>48000</samplerate> </samplecharacteristics> <channelcount>2</channelcount> </audio> </media> </file> <filter> <effect> <name>Opacity</name> <effectid>opacity</effectid> <effectcategory>motion</effectcategory> <effecttype>motion</effecttype> <mediatype>video</mediatype> <pproBypass>false</pproBypass> <parameter authoringApp="OpenShot"> <parameterid>opacity</parameterid> <name>opacity</name> <valuemin>0</valuemin> <valuemax>100</valuemax> <value>100</value> <keyframe> <when>1.0</when> <value>0.0</value> </keyframe> <keyframe> <when>31.0</when> <value>100.0</value> </keyframe> <keyframe> <when>271.0</when> <value>100.0</value> </keyframe> <keyframe> <when>301.0</when> <value>0.0</value> </keyframe> </parameter> </effect> </filter> <logginginfo> <description/> <scene/> <shottake/> <lognote/> <good/> <originalvideofilename/> <originalaudiofilename/> </logginginfo> <colorinfo> <lut/> <lut1/> <asc_sop/> <asc_sat/> <lut2/> </colorinfo> <labels> <label2>Violet</label2> </labels> </clipitem> <clipitem id="SQ3995OKWV"> <name>FileName.mp4</name> <enabled>TRUE</enabled> <duration>603.9999999999999</duration> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <start>1868.0</start> <end>2471.9999999999995</end> <in>444.0</in> <out>1048.0</out> <pproTicksIn>112783104000000.0</pproTicksIn> <pproTicksOut>266208768000000.0</pproTicksOut> <alphatype>none</alphatype> <pixelaspectratio>square</pixelaspectratio> <anamorphic>FALSE</anamorphic> <file id="SG00IW75Y5"> <name>FileName.mp4</name> <pathurl>FileName.mp4</pathurl> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <duration>301</duration> <timecode> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <string>00:00:00:00</string> <frame>0</frame> <displayformat>NDF</displayformat> <reel> <name>AX</name> </reel> </timecode> <media> <video> <samplecharacteristics> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <width>720</width> <height>480</height> <anamorphic>FALSE</anamorphic> <pixelaspectratio>square</pixelaspectratio> <fielddominance>lower</fielddominance> </samplecharacteristics> </video> <audio> <samplecharacteristics> <depth>16</depth> <samplerate>2</samplerate> </samplecharacteristics> <channelcount>48000</channelcount> </audio> </media> </file> <filter> <effect> <name>Opacity</name> <effectid>opacity</effectid> <effectcategory>motion</effectcategory> <effecttype>motion</effecttype> <mediatype>video</mediatype> <pproBypass>false</pproBypass> <parameter authoringApp="OpenShot"> <parameterid>opacity</parameterid> <name>opacity</name> <valuemin>0</valuemin> <valuemax>100</valuemax> <value>100</value> <keyframe> <when>1.0</when> <value>100.0</value> </keyframe> </parameter> </effect> </filter> <logginginfo> <description/> <scene/> <shottake/> <lognote/> <good/> <originalvideofilename/> <originalaudiofilename/> </logginginfo> <colorinfo> <lut/> <lut1/> <asc_sop/> <asc_sat/> <lut2/> </colorinfo> <labels> <label2>Violet</label2> </labels> </clipitem> </track> </video> <audio> <numOutputChannels>2</numOutputChannels> <format> <samplecharacteristics> <depth>16</depth> <samplerate>44100</samplerate> </samplecharacteristics> </format> <outputs> <group> <index>1</index> <numchannels>1</numchannels> <downmix>0</downmix> <channel> <index>1</index> </channel> </group> <group> <index>2</index> <numchannels>1</numchannels> <downmix>0</downmix> <channel> <index>2</index> </channel> </group> </outputs> <track MZ.TrackTargeted="1" PannerCurrentValue="0.5" PannerIsInverted="true" PannerName="Balance" PannerStartKeyframe="-91445760000000000,0.5,0,0,0,0,0,0" TL.SQTrackAudioKeyframeStyle="0" TL.SQTrackExpanded="0" TL.SQTrackExpandedHeight="25" TL.SQTrackShy="0" currentExplodedTrackIndex="0" premiereTrackType="Stereo" totalExplodedTrackCount="2"> <enabled>TRUE</enabled> <locked>FALSE</locked> <outputchannelindex>1</outputchannelindex> <clipitem id="A2ZIIOZCH9-audio" premiereChannelType="stereo"> <name>FileName.mp4</name> <enabled>TRUE</enabled> <duration>1558.400001525879</duration> <rate> <timebase>30</timebase> <ntsc>FALSE</ntsc> </rate> <start>2214.0</start> <end>3772.400001525879</end> <in>0.0</in> <out>1558.400001525879</out> <pproTicksIn>0.0</pproTicksIn> <pproTicksOut>395858534787597.6</pproTicksOut> <file id="SG00IW75Y5"/> <sourcetrack> <mediatype>audio</mediatype> <trackindex>1</trackindex> </sourcetrack> <filter> <effect> <name>Audio Levels</name> <effectid>audiolevels</effectid> <effectcategory>audiolevels</effectcategory> <effecttype>audiolevels</effecttype> <mediatype>audio</mediatype> <pproBypass>false</pproBypass> <parameter authoringApp="OpenShot"> <parameterid>level</parameterid> <name>Level</name> <valuemin>0</valuemin> <valuemax>3.98109</valuemax> <value>1.0</value> <keyframe> <when>1.0</when> <value>1.0</value> </keyframe> </parameter> </effect> </filter> <logginginfo> <description/> <scene/> <shottake/> <lognote/> <good/> <originalvideofilename/> <originalaudiofilename/> </logginginfo> <colorinfo> <lut/> <lut1/> <asc_sop/> <asc_sat/> <lut2/> </colorinfo> </clipitem> </track> <track MZ.TrackTargeted="1" PannerCurrentValue="0.5" PannerIsInverted="true" PannerName="Balance" PannerStartKeyframe="-91445760000000000,0.5,0,0,0,0,0,0" TL.SQTrackAudioKeyframeStyle="0" TL.SQTrackExpanded="0" TL.SQTrackExpandedHeight="25" TL.SQTrackShy="0" currentExplodedTrackIndex="0" premiereTrackType="Stereo" totalExplodedTrackCount="2"> <enabled>TRUE</enabled> <locked>FALSE</locked> <outputchannelindex>2</outputchannelindex> <clipitem id="SQ3995OKWV-audio" premiereChannelType="stereo"> <name>FileName.mp4</name> <enabled>TRUE</enabled> <duration>603.9999999999999</duration> <rate> <timebase>30</timebase> <ntsc>FALSE</ntsc> </rate> <start>1868.0</start> <end>2471.9999999999995</end> <in>444.0</in> <out>1048.0</out> <pproTicksIn>112783104000000.0</pproTicksIn> <pproTicksOut>266208768000000.0</pproTicksOut> <file id="SG00IW75Y5"/> <sourcetrack> <mediatype>audio</mediatype> <trackindex>2</trackindex> </sourcetrack> <filter> <effect> <name>Audio Levels</name> <effectid>audiolevels</effectid> <effectcategory>audiolevels</effectcategory> <effecttype>audiolevels</effecttype> <mediatype>audio</mediatype> <pproBypass>false</pproBypass> <parameter authoringApp="OpenShot"> <parameterid>level</parameterid> <name>Level</name> <valuemin>0</valuemin> <valuemax>3.98109</valuemax> <value>1.0</value> <keyframe> <when>1.0</when> <value>1.0</value> </keyframe> </parameter> </effect> </filter> <logginginfo> <description/> <scene/> <shottake/> <lognote/> <good/> <originalvideofilename/> <originalaudiofilename/> </logginginfo> <colorinfo> <lut/> <lut1/> <asc_sop/> <asc_sat/> <lut2/> </colorinfo> </clipitem> <clipitem id="N2D64Q4B9F-audio" premiereChannelType="stereo"> <name>The Epic.wav</name> <enabled>TRUE</enabled> <duration>4200.46875</duration> <rate> <timebase>30</timebase> <ntsc>FALSE</ntsc> </rate> <start>3276.0</start> <end>7476.46875</end> <in>0.0</in> <out>4200.46875</out> <pproTicksIn>0.0</pproTicksIn> <pproTicksOut>1066986270000000.0</pproTicksOut> <file id="PTWYH9FRCD"> <name>The Epic.wav</name> <pathurl>The Epic.wav</pathurl> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <duration>4196</duration> <timecode> <rate> <timebase>30</timebase> <ntsc>TRUE</ntsc> </rate> <string>00;00;00;00</string> <frame>0</frame> <displayformat>DF</displayformat> </timecode> <media> <audio> <samplecharacteristics> <depth>16</depth> <samplerate>44100</samplerate> </samplecharacteristics> <channelcount>2</channelcount> </audio> </media> </file> <sourcetrack> <mediatype>audio</mediatype> <trackindex>2</trackindex> </sourcetrack> <filter> <effect> <name>Audio Levels</name> <effectid>audiolevels</effectid> <effectcategory>audiolevels</effectcategory> <effecttype>audiolevels</effecttype> <mediatype>audio</mediatype> <pproBypass>false</pproBypass> <parameter authoringApp="OpenShot"> <parameterid>level</parameterid> <name>Level</name> <valuemin>0</valuemin> <valuemax>3.98109</valuemax> <value>1.0</value> <keyframe> <when>1.0</when> <value>0.0</value> </keyframe> <keyframe> <when>91.0</when> <value>1.0</value> </keyframe> <keyframe> <when>4111.0</when> <value>1.0</value> </keyframe> <keyframe> <when>4201.0</when> <value>0.0</value> </keyframe> </parameter> </effect> </filter> <logginginfo> <description/> <scene/> <shottake/> <lognote/> <good/> <originalvideofilename/> <originalaudiofilename/> </logginginfo> <colorinfo> <lut/> <lut1/> <asc_sop/> <asc_sat/> <lut2/> </colorinfo> </clipitem> </track> </audio> </media> <timecode> <rate> <timebase>30.0</timebase> <ntsc>TRUE</ntsc> </rate> <string>00;00;00;01</string> <frame>1</frame> <displayformat>DF</displayformat> </timecode> </sequence> </xmeml> Developers If you are a programmer (or want to become a programmer), and are interested in developing new features, fixing bugs, or improving the user interface for OpenShot, the following sections will explain how to get started and get involved! The Big Picture OpenShot Video Editor has 3 main components, a Python & PyQt user interface (openshot-qt), a C++ audio library (libopenshot-audio) and a C++ video library (libopenshot). If you are not familiar with Python, PyQt, or C++, those would be great topics to research and learn more about at this point. However, many bugs and new features can be added with only Python knowledge, since the C++ components are not involved in the user interface at all. Python is an amazing language, and is super fun to learn, and is the only prerequisite skill needed to become an OpenShot developer! WARNING: The instructions that follow are for Ubuntu Linux, which is the easiest environment to configure for OpenShot development. If you are using another OS, I suggest running a virtual machine with Ubuntu LTS before continuing any further. If you must use a Windows or Mac system for development, start by referring to the build notes in the libopenshot wiki. Building the library with all of its dependencies is the most challenging part of the process. • Windows Build Instructions • Mac Build Instructions Getting the Latest Source Code Before we can fix any bugs or add any features, we need to get the source code onto your computer. Use git to clone our 3 repositories: git clone https://github.com/OpenShot/libopenshot-audio.git git clone https://github.com/OpenShot/libopenshot.git git clone https://github.com/OpenShot/openshot-qt.git Configuring your Development Environment In order to actually compile or run OpenShot, we need to install some dependencies on your system. The easiest way to accomplish this is with our Daily PPA. A PPA is an unofficial Ubuntu repository, which has our software packages available to download and install. sudo add-apt-repository ppa:openshot.developers/libopenshot-daily sudo apt-get update sudo apt-get install openshot-qt \ cmake \ libx11-dev \ libasound2-dev \ libavcodec-dev \ libavdevice-dev \ libavfilter-dev \ libavformat-dev \ libavresample-dev \ libavutil-dev \ libfdk-aac-dev \ libfreetype6-dev \ libjsoncpp-dev \ libmagick++-dev \ libopenshot-audio-dev \ libswscale-dev \ libunittest++-dev \ libxcursor-dev \ libxinerama-dev \ libxrandr-dev \ libzmq3-dev \ pkg-config \ python3-dev \ qtbase5-dev \ qtmultimedia5-dev \ swig At this point, you should have all 3 OpenShot components source code cloned into local folders, the OpenShot daily PPA installed, and all of the required development and runtime dependencies installed. This is a great start, and we are now ready to start compiling some code! libopenshot-audio (Build Instructions) This library is required for audio playback and audio effects. It is based on the JUCE audio framework. Here are the commands to build it: cd libopenshot-audio mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=dist .. make make install Essentially, we are switching to the libopenshot-audio/build folder, then running cmake .. on the parent folder. This finds dependencies and creates all the needed Makefiles used to compile this library. Then make uses those Makefiles to compile this library, and make install installs them in the location we specified. If CMAKE_INSTALL_PREFIX isn’t set, the files will install to /usr/local/ (by default) and make install will require administrative privileges to run. libopenshot (Build Instructions) This library is required for video decoding, encoding, animation, and just about everything else. It does all the heavy lifting of video editing and video playback. Here are the commands to build it: cd libopenshot mkdir build cd build cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist .. make Essentially, we are switching to the libopenshot/build folder, then running cmake .. on the parent folder. This finds dependencies and creates all the needed Makefiles used to compile this library. Then make uses those Makefiles to compile this library. Because we provided the location of our compiled libopenshot-audio installation, that version of the library will be used instead of the system version (if any). We don’t install our libopenshot after building, because we don’t need to. For testing purposes, we can tell OpenShot to use libopenshot right from our build directory. openshot-qt (Launch Instructions) This is our main PyQt Python application. Because it is written in Python, it does not require any compiling to run. To launch OpenShot from the source code with our newly-built libopenshot-audio and libopenshot libraries, use the following commands: cd openshot-qt PYTHONPATH=../libopenshot/build/src/bindings/python python3 src/launch.py This should launch the OpenShot user interface. Any changes you have made to the source code files (*.py Python files, *.ui PyQt UI files, etc…) will be included. This requires the libopenshot-audio and libopenshot libraries, and if anything went wrong with the steps above, OpenShot will likely not launch. If OpenShot launches at this point, congratulations! You now have a working local version of OpenShot, which is running off your local source code. Try making some changes to the source code and re-launch OpenShot… you should now see your changes! GitHub Issues Now that you have successfully compiled and launched OpenShot Video Editor, be sure to check out our list of bug reports on GitHub: OpenShot Issues. Also, feel free to send me an email: jonathan@openshot.org and introduce yourself! I’m always here to help if you have any questions. Share your Changes Once you have fixed a bug or added an amazing new feature, be sure to share it with the OpenShot team. Ideally, we can merge this into our main source code branch. The easiest way to share your changes is by creating a fork of our repo, pushing your changes back to GitHub, and creating a Pull Request. A Pull Request lets the OpenShot team know you have changes ready to be merged. Then we can review things, give feedback, and hopefully merge your changes into the main branch. Contributing Did you find a bug? • Please check if this bug was already reported by searching on GitHub under Issues. • If you’re unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and the steps to reproduce the crash or issue. • Please attach log files if you are reporting a crash. Otherwise, we will not be able to determine the cause of the crash. Please download our latest daily installer: 1. openshot.org/download - click the ‘DAILY BUILDS’ button, then grab the latest build from the list. (Use the buttons below to download installers for a different Operating System.) 2. Then enable ‘Debug Mode (Verbose)’ in the Preferences 3. Quit OpenShot and delete both log files: • Windows: OpenShot stores its logs in your user profile directory (%USERPROFILE%, e.g. C:\Users\username\) • %USERPROFILE%/.openshot_qt/openshot-qt.log • %USERPROFILE%/.openshot_qt/libopenshot.log • Linux/MacOS: OpenShot stores its logs in your home directory ($HOME, e.g. /home/username/) • $HOME/.openshot_qt/openshot-qt.log • $HOME/.openshot_qt/libopenshot.log 4. Re-launch OpenShot and trigger the crash as quickly as possible (to keep the log files small) 5. Attach both log files Did you write a patch that fixes a bug? • Open a new GitHub pull request with the patch. • Ensure the PR description clearly describes the problem and solution. Include the relevant issue number if applicable. • Before submitting, please ensure your PR passes all build / compilation / and unit tests. OpenShot Video Editor is a volunteer effort, and a labor of love. Please be patient with any issues you find, and feel free to get involved and help us fix them! Thanks! OpenShot Team Learn More We are working hard to expand this user guide, but if you are stuck and don’t know where to turn, please submit a question or bug report here: Issues.
AUTHOR
Jonathan Thomas
COPYRIGHT
2008-2024 OpenShot Studios, LLC