iCaption 2.4.2 Released

iCaption 2.4.2 has been released today, to address the following issue:

– Fixed a bug from iCaption 2.4.0 where loading subtitles previously made would result in bad times on systems with region settings using ‘.’ as a number separator and ‘,’ as a decimal separator.


iCaption 2.4.1 Released

iCaption 2.4.1 has recently arrived, as a bug fix release. See changes below.

– Fixed a bug from iCaption 2.4.0 where the video playback and seeking started from the markers with a timing tolerance (in some cases a few seconds).
– Fixed a crash from iCaption 2.4.0 where the playback to the very end of the video crashed the application.
– Fixed a crash when loading another video while still playing a first video would crash the application.
– Fixed a rendering artifact in the waveform visualization when jumping between sections in the video and playing them out of sequence.


iCaption 2.4.0 Released

iCaption 2.4.0 has recently been released, adding new features requested by the users.

The audio and video core of iCaption has been re-written to take advantage of OSX 10.9 Mavericks’ AVFoundation (the QuickTime API is deprecated in 10.9). Warning: All OSX versions prior to 10.9 are now unsupported. Support for non-Apple-friendly media formats will be affected as a consequence. For Snow Leopard, Lion or Mountain Lion support please continue to use iCaption 2.3.0.

  • Added the ability to instantly edit the subtitle’s start and end times in the timeline by dragging them (without pressing the Apply to Subtitle button afterwards). Apply is still used to move the entire subtitle.
  • Added the ability “Add Next Subtitle”, which starts at the end of the currently selected subtitle, with the same duration.
  • Added drag and drop for opening supported media formats.
  • Added drag and drop for opening supported subtitle formats.
  • Fixed search for subtitle translations to use the new search API by AllSubs.org.


iCaption 2.3.0 Released

iCaption 2.3.0 has recently been released, adding new features requested by the users.

  • The Preview is now combined with Play/Pause, which is toggled with the Command + P shortcut.
  • Added the ability to add subtitles on the fly while the video is playing, using the ‘[‘ and ‘]‘ keys in combination with Command for the new subtitle’s start and end times respectively.
  • Added trackpad support for the changing the timeline scope.
  • Two-finger horizontal swipe while the pointer is in the time line will move the scope one minute forward or backward.
  • The pinch/stretch gesture while the pointer is in the time line will zoom in and out of the scope.
  • Updated the documentation.

iCaption 2.2.0 Released

Another follow-up on the 2.x series includes mostly bug fixes, a more flexible timeline size and online translation search capabilities from allsubs.org.

  • Added the ability to adjust the height of the subtitle timeline, taking further advantage of the multi-resolution waveform visualization algorithm, and allowing for finer-grained study of the audio track.
  • Added a feature to search for translations of the currently loaded media.
  • Fixed a sandbox connection denied issue after selecting a video, which may have occurred for users who have dictation input enabled in Mountain Lion, causing iCaption to not be able to load reference videos.
  • Fixed a bug (from 2.0.0) with Adjust All Subtitles where the durations were incorrect.
  • Fixed a bug (from 2.0.0) with automatic subtitle duration was not automatically setting the same duration that it was reporting.
  • Fixed a bug when the subtitles list is filtered by a search, and clicking on a subtitle will show a preview from the unfiltered list.

iCaption 2.1.0 Released

iCaption 2.1.0 is a natural evolution of the 2.0.0 release. While this is a point release, it boasts just as many improvements as the last major release but continues to play on the same theme of improved timeline based subtitle editing, which was revamped in version 2.0.0. The single biggest new feature is waveform visualization right in your subtitle timeline. It comes at zero loading time cost, but only sections you have played will be made available. There are also many small improvements among editing and previewing, and new options which put you in control of fine tuning and preview playback.

  • Keeping bugs in check
    • Fixed a memory leak in the time formatting code.
    • Fixed selection still in timeline after deleting or clearing.
    • Fixed a bug in 10.7 Lion and greater, where the encodings dialog was freezing when the “ask on load” preference was set.
  • Added waveform visualization of the loaded video’s audio track.
    • Waveform data is overlayed right over the subtitles in the same timeline view.
    • Waveform samples are collected in real-time for the portion you are editing as you play the video, so there is no loading.
    • The waveform visualization algorithm is highly optimized for speed and memory efficiency, even with a large video.
  • Easy access for fine-tuned editing.
    • Added keyboard shortcuts and menu items for start/end/maker area nudging/scrubbing.
    • Added keyboard shortcuts and menu items for scrubbing video to previous and next frame.
    • Added keyboard shortcut and menu item for toggling fullscreen video mode.
    • Added the ability to scope the timeline to the area bounded by the markers (e.g. full zoom to the marked area).
    • Adding a subtitle in between two others in the timeline will now be considered an implied insert; explicit insert is still available.
  • Further preview and playback improvements
    • Preview playback can now start from anywhere; there is a separate ‘Preview from Beginning’ which restarts from the beginning.
    • During preview playback you may now click on any subtitle in the list to continue the preview from that spot.
    • Updated the video playback controls, and added a progress meter.
  • New categorized modeless preferences window allows you to try out the preferences in iCaption while keeping the preferences window open.
    • Added a preference which allows opening subitile files to append to the current subtitle list.
    • Added a preference to turn the waveform visualization on or off.
    • Added a preference to set the start/end marker scrubbing amount in milliseconds, for fine tuning.
    • Added a preference to set preview timer precision in milliseconds.
    • Added preset optimization options for performance-affecting preferences.
  • Support for 32-bit Snow Leopard while still supporting Mountain Lion.
  • Translucency for the film cell-like application dock icon.
  • Updated the documentation.

-Jeffrey Bakker

iCaption – Development Life After 2.0

Development on iCaption 2.0 stopped over a month ago, winding down to the final phases before the end of the release cycle. While this version is huge, with many great new features, there are some wish list items which just couldn’t make the cut.

The most notable and sought-after feature, by myself and from customers, is waveform visualization, which happens to be the next natural step after implementing the new timeline view. Waveform visualization didn’t make the 2.0 cut simply because it’s difficult; the development scope could have easily doubled the timeline feature scope size, were it to be in this release.

There are multiple points of difficulty with waveform visualization and left unaddressed the application, frankly, will feel like shit, which will in turn soil the user experience rather than enrich it. I’ve seen an audio application make me wait for what felt like a minute, to analyze a 4 minute song – an algorithm like that would never fly if you’re trying to subtitle a 120 minute long movie.

Algorithmically there’s analyzing each frame of a video’s audio track in a timely manner, keeping the application responsive while operating on the former (which may include background loading or streaming while also keeping the video available to the user) and waveform data cache management. The background thread is tricky because a QTMovie must detach from the main thread in order to become accessible from another thread, but that would cause the video to be unavailable to the user, whom will be interacting via the main thread. There’s also coming up with a reasonably fast approach to drawing tens or hundreds of thousands of audio samples on screen at any time without the user noticing pegs in the CPU (and it can’t simply use a pre-render for each draw because the waveform should squish/stretch and cull based on the current view of the timeline).

On the API side, as far as I can tell the examples I’ve found for audio frequency level extraction which Apple provided seem to have no 64-bit support, forcing me to drop down and compile iCaption as 32-bit-only. This should in theory still work fine in the 64-bit Mountain Lion, but it’s unsettling at best to make your project have to “go there”. There may be some newer API but if it exists, I’m sure I’d have to drop Snow Leopard or even Lion support, as I’m seeing a trend for favouring Mountain Lion specific APIs. Worse case I would try to make one final Snow Leopard compatible release of iCaption before switching to the 10.8 SDK.

In ferocious spite of the above, I have already made enough serious headway with iCaption 2.1.0’s WIP to leave you all with a bit of a teaser.


Version 2.1.0 will be done when it’s done; don’t hold your breath.

iCaption 2.0.0 Released

The new major version bump to iCaption 2.0 is warranted, because this update is huge! I have taken into consideration the helpful input from customers, and have applied these ideas into a tangible, intuitive user experience. The main focus of this release is the new and powerful timeline editing which increases your workflow productivity, with a secondary focus on previewing, and tertiary improvements for an altogether better subtitle editing environment. Continue reading for the full feature list:

  • Subtitle editing improvements, made possible by a new timeline view, which features the following:
    • All subtitles are visualized in the timeline view.
    • Selected subtitles will visualize overlapping to neighboring subtitles, in addition to the non-selected subtitles with overlapping times shown in red in the table view.
    • Draggable start and end markers, which are used to add new subtitles or apply to existing subtitle start and end times.
    • Markers can be moved individually, or panned together across the timeline.
    • Show start and end marker position in real time while dragging.
    • Scrub through the reference video by dragging the markers.
    • Markers can also be nudged in either direction by a quarter of a second at a time.
    • Zoom in and out of the timeline, changing the current scope of your view of the timeline.
    • Panning the current scope relative to the timeline as a whole.
    • Display of the scope start and the scope end times.
    • Timeline panning and zooming are done with left mouse drag and right mouse drag respectively, complete with Shift and Control key modifiers to make it go faster or slower.
    • Transferring times from the video position itself is no longer the workflow, but is still supported. (Since markers also do video scrubbing, transferring from marker position has the same effect)
  • Subtitle previewing improvements:
    • The preview is now layered right into the video view, rather than the hacky looking floating window. This also means that for now you can no longer detach the preview and move it around yourself.
    • With certain file types the QTMovieLayer appears to have much smoother video scaling than previously.
    • The preview font is much larger and has a black shadow under it.
    • The preview timing is accurate to 250ms now instead of 300ms.
  • Added the ability to play a selected video segment in a loop.
  • All human readable times shown in the application are now easier to read (dropped the QuickTime formatting).
  • Added a more prominent Help button on the toolbar.
  • Main menu and toolbar updates.
  • Updated the documentation.
  • Updated the application icon.




iCaption is a simple-to-use soft subtitle editor, utilizing timeline based editing. The file formats currently supported are SubRip and YouTube.

What are soft subtitles? Soft subs are external files stored separately from the video file. They are called soft, because they are not hard-encoded into each video frame; they are rendered in real-time. Most modern video players support soft subs and can manage multiple files for quick and easy swapping of languages.

Features and Capabilities

  • A robust, elegant user interface.
  • Powerful timeline editing, with or without a reference video loaded.
  • Waveform visualization in the timeline, overlaying onto subtitle time time visualization.
  • Transfer subtitle times from the reference video or the timeline selection.
  • Automatically determine the subtitle duration.
  • Real-time checking and visualization for overlapping subtitle times.
  • Easily adjust all subtitle times with one edit.
  • Search subtitles allows you to filter the subtitle list.
  • Previewing allows you to test subtitles without an external viewer.
  • Create, edit, open and save YouTube (.sbv) files.
  • Create, edit, open and save SubRip (.srt) files.
  • Convert SubRip to YouTube format and vice versa.
  • Complete abstraction from the subtitle file formats.



In order to run iCaption, your Mac computer must meet the following requirements:

  • Intel-based Mac with OSX 10.6.7 (Snow Leopard) or greater
  • 1 GB Memory
  • 4 MB Free hard disk space


Frequently Asked Questions

You should be able find all you need to know about iCaption in the in-app help; just click the Help button on the toolbar. For all issues/concerns not answered in the FAQ below, nor in the in-app help, email jeffrey@seatoskyware.com and include your hardware info and version of Mac OSX.

Where can I get iCaption Editor? ^top
It is available in the Mac App Store.

I am trying to make subtitles for an .mkv video and I can’t load it as a reference in iCaption Editor. ^top
iCaption Editor uses an embedded QuickTime movie view and therefore supports only the formats supported by QuickTime. If you are the creator of the video, it is more than likely that QuickTime supports your source format. If are not the creator of the video file, be aware that creating subtitles for certain videos you do not own the rights to may be considered as copyright infringement. It is possible to get QuickTime add-ons for more file formats, here orhere, but that is not directly supported neither by iCaption Editor nor QuickTime.

Which reference video formats does iCaption Editor support? ^top
As mentioned above, iCaption Editor supports the media formats supported by QuickTime, as well as the formats supported by any QuickTime add-ons you have installed.

The miliseconds for my subtitle times don’t look right (in version 1.x only). ^top
There is nothing wrong with your subtitle times. When iCaption transfers the times from the movie, the miliseconds are shown as a timescale. This is because QuickTime understands time scales instead of miliseconds, where the number is displayed as frames/timescale, where timescale can be different between videos and frame rates. Don’t worry; upon saving the subtitle iCaption Editor will properly convert the timescale to 1000, its equivalent in miliseconds. Another thing to note is that timescales have no leading zero’s, so 62 milliseconds would be displayed in the table as .62/1000, not .062/1000.