Alex Raccuglia runs through the features of his new app, Ulti.Media Converter, a very simple but powerful file converter.
Hi everyone, my name is Alex Raccuglia and I'm a videomaker and a podcaster, but before doing this job I was a software programmer.
Today I want to tell you about the path that led me to develop a new app that, for a few months now, is the program I use most often in my day-to-day work: Ulti.Media Converter.
Compressing Video
As I've already said, I'm a video maker and a podcaster, which means that I'm constantly working with video and audio (but often with images as well), and, nearly every day, I have to compress or transcode files from one format to another.
Over the past 20 years I've used a lot of programs for compressing media files, the application I've always used the most was Apple's Compressor, but in recent times, since Compressor didn't support all of these file types, I've also often used iSkysoft Video Converter and Adobe Media Encoder; and on more than one occasion I've taken advantage of VLC's capabilities or even went to the command line with FFMPEG.
Not to mention all the times I have to work with audio, so I've always brought up Adobe Audition or Audacity; or Photoshop for photos and images.
In short, if you're a video maker you have to use (and know how to use) a lot of programs.
During the summer of 2021, I told myself that it would be useful to have a program that could encapsulate the potential I was interested in from all of these apps.
Not only that, when I'm exporting files, for example to send them to a client or publish them on YouTube, I also need to do things that have to do with the workflow, and not only with compression or transcoding.
Simply put, I told myself that it would be nice to have an application that, in a single space, in a single window on my desk, would allow me to do all these things.
The first version of the application
I simply wanted something that would present me with a series of droplets, basically an on-screen icon on which I could drag a file, and then start a workflow that would first of all compress it into files with the desired characteristics, but then do something else with the result.
And after a very short time, a few weeks, I had the first version of this app of mine ready, which was focused on just that: taking a few minutes, or a few seconds, to set up the compression parameters once and for all, and then simply allowing me to drag and drop the files I wanted to compress onto an on-screen rectangle, and automatically take care of the encoding and subsequent workflow, which involves moving the compressed files into a folder or subfolder, or changing the name of the generated files.
Technologies
I've packed a lot of different technologies into this application, from those made available by Apple to FFMPEG libraries and other open source products.
My goal was to create not an application that would allow you to compress any format to any other format, but one that would actually focus on those that are used 99% of the time by videomakers like myself.
So I chose to focus only on MPEG-4 (with H.264 and H.265 codecs) and QuickTime ProRes for video, while for audio I decided to support only Wave, MP3 and AAC (MPEG-4 Audio).
In addition, for the features and specifications of the formats I chose to focus only on a few parameters, the most common ones but which are basically always needed: in the end, as with all the apps I've ever developed, this is a program that I wrote first of all for myself, and only after I decided to "clean up" it a bit to put it on the market.
Setting Workflows
As I said the application allows you to create workflows, not just compression presets, so when creating a new setting, you are presented with these panels that allow you to specify the name, the short name and the color, which make it easy to identify the rectangle (the droplet) once the workflow is created.
Next we move on to defining the type of media to be created (video, audio or image) with all the appropriate specifications, resolution, frames per second, data rate, ...
Finally in this last panel you have to specify what to do with the created files, providing many different possibilities depending on the intended use of the file, or how we want to organize the production and post production.
A starting point
Having structured the application in this way I really started using it right away, and, surprising even myself, I realized that I had created not only a compression program, but a real infrastructure that allows you to transform media and add many small utilities.
How do you use it?
Once you have created the workflow (but there are already some by default) all you have to do is drag the file or files you want to compress to the droplet and Ulti.Media Converter will take care of transcoding and moving the files to the specified folder, renaming them, adding for example a suffix or the date, and eventually removing spaces.
Images
Immediately after, I added the possibility of compressing images, putting as output format only JPEG or PNG, which are used essentially in almost all occasions.
Soon after, however, thanks to some friends and beta testers, I discovered that there is a great need to make conversions of image type, starting from different formats, and that is why I added the possibility to accept as input files like Photoshop, TIFF, WebP, DNG (for example those taken by the iPhone) and also RAW files from Canon cameras (.CR2).
PDF to images
One day a client sent me a storyboard for a video in PDF format, and in order to turn this storyboard into a series of animations in Adobe After Effects, I converted all the pages of this document into images using Photoshop.
I don't know if you guys have ever converted a multi-page PDF file in Photoshop, but I can assure you that it's a very nice pain in the ass.
So I said to myself, but why not add the option to do it with this application of mine?
In a very short time, a couple of days, I not only added the ability to convert a PDF file to images, but also prepared a window that, in an immediate, fast and efficient way, allows you not to waste time and allows you to choose which and how many images to convert.
And this is completely automatic: dragging a PDF file to an image workflow directly activates this feature, without any request to the user.
I decided at that point that the application could and should always behave in the most intuitive way: when trying to transcode from one media to another, Ulti.Media Converter always chooses the most logical way to operate.
Audio Utilities
Since Ulti.Media Converter had now become a platform and not just an application, I started adding a lot of little features that work on audio files.
For example, you can choose to split the left and right channels of a stereo file and save them as individual mono files.
Or the ability to concatenate several audio files, specifying the order in which they should be put together (by file name date of creation).
I also added the option to normalize a sound to 0 dB, and also a feature that allows you to eliminate pauses.
All of these things help me a lot in both my work as a video maker and as a podcaster.
Poster frame
When I need to upload a video to YouTube I like to choose the image to use as a placeholder before the video starts, and exporting a single frame from a video, choosing it in an agile way, has always been a bit... "cumbersome".
That's why I've now created this interface that, when dragging and dropping a video file onto an image-type workflow, allows you to choose a single frame and export it by simply pressing the "continue" button.
But I didn't stop there: since sometimes I need to capture several frames of a single movie, now this same interface allows you to select several frames and then export them in one block.
The names of the exported files also have the timecode of the frame they are captured from.
Time-lapse and image sequences
On more than one occasion I've had the need to create timelapses, putting together several photographs taken in sequence.
The easiest solution? Drag and drop all these photos onto a video workflow and a movie will be automatically created at the specified number of frames per second.
Similarly, you can automatically capture frames at regular intervals by dragging a video file onto an image workflow and selecting the corresponding menu item:
Alternatively, you can also export all frames.
People extractor
During Apple's last WWDC, the annual conference where new frameworks and technologies are presented, I saw the possibility to use an API initially designed for photographic special effects on the iPhone, which allows you to separate a human subject from the background in a photograph (using segmentation, an application of Machine Learning for image analysis).
Then I thought to myself that it would be really cool to be able to use it and create an app for it.
I was already starting to think about how to write the code when I realized that I could put this feature directly into Ulti.Media Converter.
Quickly said, in the span of only two hours I added this feature that allows you to make the separation of a person from the background by saving it with the alpha channel.
This feature only works when you choose to export in PNG format and is only available, unfortunately, from macOS version 12 and later.
Automatic cropping of the alpha channel
Often I download from sites to which I have subscribed some images to use as icons, so PNG with the alpha channel.
Often I need to crop them in order to have the minimum rectangle that contains them.
I used to do this in Photoshop, which also has a function that does the snapping of the crop, but it has always been a long and tedious operation.
Obviously I added this feature to Ulti.Media Converter: now the images are automatically cropped to the minimum rectangle that contains them.
And of course this "filter" is applicable in combination with the one that extracts people by erasing the background.
Text Deletion
Explaining this function is a little bit more complicated, mostly to make the sense of it, I'll try anyway to tell it as simple as possible.
I've added a function that allows you to apply a black rectangle to all text found in a photograph; this can be useful for making license plates or signs illegible.
However, I've taken the feature to another level, so that it can be used in tandem with the previous feature: basically you can delete a text from the alpha channel.
In this way, once I have granted rights to the content creator, I can automatically crop the icons downloaded from The Nuon Project.
An evolving project
I started writing the first line of code for this app in mid-September 2021, and I'm writing this article four months later.
I'm very excited and happy with the work I've done so far, especially since it's an app I use every day, all the time, and I've managed to pack everything I used to do with three or four other apps into one place.
I'm not saying this little app can take the place of all the others I use, however, it has sped up my workflow considerably.
And I'm continuing to work towards achieving new features, either at the request of users or for personal needs.
The upgrade has always been free since the first release, and I've tried to keep the price as low as possible, because I firmly believe it's one of the most beautiful and rewarding projects I've worked on in recent years.
Since I started I've added support for many other audio, video and image formats, such as Animated GIFs, and will continue to do so as I or my clients need it.
But what about the call to action?
Simple: go to the Ulti.Media/Converter site and download the trial version, which is fully functional in all its features.
You can try this version for seven days and then decide if it's for you and in that case, purchase it.
What do you guys think?
Since I had the honor, the pleasure and the privilege to write an article for this site, which I believe to be one of the most complete in the world of videomaking, now I ask you who have finished reading these lines: what would you like me to add to this application?
What feature do you think would be useful in your workflow?
I'm not just asking for feedback: consider this just as a survey, what do you think is missing in this application that you would like to have added?
Please know that I will read every comment and take cues and inspiration from them to continue to update and improve this program!
With that being said, thank you for getting this far.
See you next time!