Java GUI to create video slideshow scripts
- Generates
bash
scripts that create video slideshows using FFmpeg - Supports
- Both image and video inputs
- Audio inside video inputs
- Background Audio
- 32 transition types
- Intro/outro transitions for all transition types
- Text messages
- Overlay images
- Zoom & pan
- Background image
- Save/Load video slideshow (.vssg) files
You need to have Java 8
or later installed on your computer to run Video Slideshow Script Generator
.
Scripts generated by Video Slideshow Script Generator
requires ffmpeg 3.x
or later. If you compile FFmpeg
from source you need to provide --enable-libfreetype
flag on ./configure
.
You can install the latest demo version from the Releases page. Demo version can be used to preview all features except script generation.
Video Slideshow Script Generator
is decommissioned and not distributed anymore.
Double-click Video Slideshow Script Generator
jar file or run it using java -jar <jar path>
.
Adding Components
Use File
menu to add new components.
Moving Components
You can change the order of elements in a slideshow by moving them using the control
menu.
All elements except the Settings
frame include a control
menu at the top right corner.
Also, Audio
frame includes a control
menu but it does not have navigation
buttons.
Deleting Components
Use the delete button in Control
menu to delete an element. All elements, except the Settings
frame which is
mandatory, can be deleted.
Generating Script
Click File
-> Generate Script
menu item to generate the script of your slideshow. Script will be created under the
Default save location
folder defined in Preferences
and have the name defined in Settings
.
You can add images into a slideshow using File
-> Add Image
and File
-> Add Images From Folder
menu items.
Image element allows you to
- Select an image file
- Set duration
- Select fill mode
- Specify input filters
- Add text on top of the image
- Add overlay images on top of the image
- Zoom & pan
You can add videos into a slideshow using File
-> Add Video
and File
-> Add Videos From Folder
menu items.
Video element allows you to
- Select a video file
- Trim video
- Select fill mode
- Specify input filters
- Add text on top of the video
- Add overlay images on top of the video
- Zoom & pan
Transitions can be added using File
-> Add Transition
menu item.
Transition element allows you to select a transition and set transition specific options.
There is also a File
-> Add Random Transition
option to automatically add a random Transition to all adjacent
Image and Video elements in the slideshow.
Settings
element is mandatory in all slideshows. It is the last element, and it can't be deleted or moved.
Settings element allows you to
- Specify script name
- Specify slideshow file name
- Set background color
- Set background image
- Specify slideshow video options
By default, audio streams in video inputs are ignored and dropped. Audio
element allows to preserve audio and use
silence for images and videos without audio.
Audio element allows you to specify slideshow audio options.
Background Audio element allows you to select an audio file and use it in your slideshow as audio.
Preferences frame allows you to
- Set overwrite options
- Define default save location for scripts
- Specify FFmpeg / FFprobe path
Fonts frame allows you to register fonts available for Text elements.
You can add unlimited number of text messages on top of your images/videos.
Text element allows you to
- Set text message
- Select a registered font
- Specify text size and color
- Set text position
- Define a text box
You can add unlimited number of overlay images on top of your images/videos.
Overlay Image element allows you to
- Select an overlay image file
- Specify input filters
- Set image opacity
- Set image position
- Set image size
Input filters block allows you to apply custom filters for files imported in Images/Videos/Overlay Images elements.
Examples
format=rgba
= Specify input pixel format
colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3
= Convert input to grayscale
boxblur=10:4
= Apply blur effect
Below you can see the video created for the example.vssg
slideshow.
-
Collapse Circular
,Expand Circular
,Fade In Two
,Rotate
,Sliding Bars
andSpin Blur Rotation
transitions require alpha channel. If your input file type does not support alpha channel then these transitions will not work as expected. You can overcome this situation by specifyingformat=rgba
as input filter for input files connected to those transitions. -
Transitions supporting bar count require bar count to be defined according to the following rule.
On horizontal transitions 'height/(bar count)', on vertical transitions 'width/(bar count)' should be even. If not, horizontal/vertical lines may appear during the transition.
-
You can see the following messages if you enable audio in your slideshows. They are for informational purposes only and do not cause any errors.
[Parsed_amerge_128 @ 0x7ffca1c7d440] No channel layout for input 1 [Parsed_amerge_128 @ 0x7ffca1c7d440] Input channel layouts overlap: output layout will be determined by the number of distinct input channels
-
If the sum of transition durations for a video is equal or bigger than the video duration then your script fill fail with the following error. You need to review transition durations and decrease if necessary.
Assertion start_sample < end_sample || (start_sample == end_sample && !frame->nb_samples) failed at libavfilter/trim.c:303
- Scripts can consume too much memory depending on your input file count and characteristics. If you experience memory issues, split your images/videos into two or more smaller sets, create partial videos for each set and concatenate them in a new slideshow.
Feel free to submit issues. Please include your slideshow (.vssg file) and input media information in your issues.
Video Slideshow Script Generator
binary releases are licensed under the ARTHENICA Personal License
.
Video Slideshow Script Generator
source code and scripts are licensed under the ARTHENICA Commercial License
.
Icons used in Video Slideshow Script Generator
are published in Dripicons 2.0 which is licensed under the Creative Commons Attribution 4.0 International License.
FFmpeg
is a trademark of Fabrice Bellard, originator of the FFmpeg project
use | copy | modify | merge | publish | distribute | sublicense | sell | |
---|---|---|---|---|---|---|---|---|
ARTHENICA Personal License | Yes | Yes | Yes | Yes | - | - | - | - |
ARTHENICA Commercial License | Yes | Yes | Yes | Yes | - | Yes | Yes | Yes |
ARTHENICA Personal License
Copyright (c) 2019-2022, Taner Sener (https://github.com/tanersener), All rights reserved.
Permission is hereby granted, to any person obtaining a copy of this software and associated documentation files (the "Software"), to use, copy, modify and merge, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ARTHENICA Commercial License
Copyright (c) 2019-2022, Taner Sener (https://github.com/tanersener), All rights reserved.
Permission is hereby granted, to any person obtaining a copy of this software and associated documentation files (the "Software"), to use, copy, modify, merge, distribute, sublicense, and/or sell copies of the Software, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.