[FFmpeg-user] Announcing QtlMovie, a specialized Qt front-end to FFmpeg

Thierry Lelegard thierry at lelegard.fr
Sat Oct 12 00:08:07 CEST 2013


Dear FFmpeg users,

I am pleased to announce the public availability of QtlMovie, a simple
specialized graphical front end to FFmpeg using the Qt framework.

Why another front-end to FFmpeg? So many different ones already exist.

QtlMovie is NOT a general-purpose GUI for FFmpeg, interfacing its rich
set of options and filters.

Instead, QtlMovie only performs a few repetitive specialized tasks which
proved to be difficult or boring with other tools. In short, I developed
QtlMovie primarily for my own usage to automate tasks which took me too
long and I now share it.

So, what is QtlMovie for?

It is mostly the answer to the following needs:

* I am a movie fan and want to watch movies exclusively in original audio
  version with subtitles when necessary.

* I record many movies from TV (digital TV and MPEG-converted analog
  recordings) as well as collect other movie files and I want to create
  DVD's out of them.

* I own an iPad and many DVD's and want to watch those DVD's on the iPad.

Sounds reasonable? Yes. Or at least I thought so.

Sounds simple? Not so simple in fact. Before developing QtlMovie, I needed
to use a dozen different tools depending on the type of input and output
files: MediaInfo (always a good starting point), AviDemux, ProjectX,
VirtualDub, MediaCoder, DVD Decrypter, VOB Merge, DeeVeeDee, Nero, several
more or less functional subtitle conversion tools and, for desperate cases,
a good old long ffmpeg command line. None of these tools could be removed
from the toolbox. There was always a specific case (mostly because of the
subtitle formats hell) where one of them was necessary. See some more on
that below. Note that I only mention free tools. There may be some magic
and expensive tools which do what I want but I am simply not interested.

This is why I deciding to unify all of them behind a common GUI which
interfaces (but does not hide) ffmpeg and other command line tools.
FFmpeg is the key tool which does most of the work. But additional tools
are added to extract Teletext subtitles or create DVD file systems and
media. A log window shows the generated commands and their output. To
understand why QtlMovie can be useful, the log window shows no less than
10 successive commands to generate a DVD media from a TV recording
containing Teletext subtitles.

Using QtlMovie: Basically, the main workflow of QtlMovie is the following

* Open a movie file of any type, including DVD file structures, with any
  combination and formats of audio, video and subtitles.

* Five clicks: 1. select video track, 2. select audio track, 3. select
  subtitle track, 4. select output type, 5. start. All selections use
  simple radio buttons in one single window (no complex menus, no
  drop-down or combo boxes, etc.)

* Everything is automated to create either a DVD (MPEG file, ISO image or
  burn the media, your choice) or an iPad movie file. The resulting output
  media is basic and simple: one video track with hardcoded subtitles, one
  audio track, that's all (no menu, no track selection).

Why is this complicated ?

Interestingly, although the most complex technical task, the video and
audio transcoding was never a problem. Most tools handle that gracefully,
mostly thanks to back-ends like FFmpeg and its libraries.

Here is a list of some technical difficulties I had to face. No traditional
tool can manage them all, I needed a combination of tools. And when a
solution existed in a tool, I needed to select multiple options and make
some calculation each time. I hate to repeat the same or (worse) similar
operations when a technical solution could exist to automate them.

* Video size, display and pixel aspect ratio. Example: Considering an input
  video size 1280x536 with pixel aspect ratio 1:1. How do you resize and
  pad it to obtain a DVD video with size 720x576 and display aspect ratio
  16:9? Need some simple but boring math every time.

* Identification of audio and subtitle language and properties (standard,
  forced, for hearing/visual impaired). VOB files from DVD do not carry
  this information. You have to analyze the .IFO file for that. With some
  tools, the properties are not clearly reported, making the selection
  decision more difficult.

* Text subtitles. Which format: SRT, SSA, ASS. Which source: a stream in
  the input file or an external file. How to burn them in the video.
  AviDemux is mostly OK but unreliable, its support for SRT vs. ASS keeps
  changing with versions and I faced repeated and irritating crashes.

* Teletext subtitles (common in DTTV and IP-TV). The only GUI which can
  extract them is ProjectX. But it works only on MPEG transport stream
  files and its GUI is complex and counter-intuitive.

* Bitmap subtitles (DVD and DVB) position and size. The video and subtitle
  frames have sometimes distinct sizes and overlaying them needs some manual
  adjustments (after hours of nervous breakdown the first time, trying to
  figure out why those damn subtitles did not show up).

* DVD subtitle colors. The VOB files from a DVD contains bitmap subtitles
  without any color information. The result is ugly and barely watchable
  subtitles in the video. You have to dig into the .IFO file in the DVD
  to extract (and convert) the color palette for the subtitle.

* And other difficulties I have now forgotten.

Well, enough is enough. I just wanted to open a file, 5 clicks, go for a
coffee (or a "magret de canard") and later collect my DVD media or iPad
movie. So I developed QtlMovie.

QtlMovie is a not a sophisticated tool. It does not manipulate video and
other complex bitstreams. It simply synchronizes the work of other
excellent and complex tools such as FFmpeg. But "simply" is exactly the
word that was missing and I hope that QtlMovie will bring it to you.

QtlMovie is open source and released under the BSD license. It is developed
in C++ using Qt 5 and should work on any platform supporting Qt 5, ffmpeg
and the other media tools. QtlMovie is primarily developed on Windows but
is also tested on Linux.

QtlMovie is available on SourceForge at http://qtlmovie.sourceforge.net/

The source code is available both as one archive file per version and as
a git repository.

Binary installers for 32-bit and 64-bit Windows are available. These binary
installers come pre-packaged with recent versions of ffmpeg, ffprobe, 
dvdauthor, telxcc, mkisofs and growisofs so that they are self-sufficient
for end users.

Please report problems using the ticket tracker on the project page at
https://sourceforge.net/projects/qtlmovie/

A discussion forum is available. Anonymous postings are enabled but will
be moderated first. Registered users of SourceForge may post without
restriction.

Acknowledgements: I would like to thank the authors of ffmpeg, dvdauthor,
telxcc, mkisofs and growisofs. They developed great tools. QtlMovie is
just providing the glue...

-Thierry


More information about the ffmpeg-user mailing list