- Added an option to select the "program chain" (or "PGC") and angle to transcode when reading DVD content as input file. In most cases, transcoding the complete VOB files may work. But, with multi-PGC movies, it won't. With these options, transcoding a DVD movie is always safe.
- Added an option to set the DVD burning speed (passed to growisofs).
- Bug fix: The total duration of an input DVD movie was incorrectly computed as the sum of the durations of all PGC's. In the rare cases where a DVD movie had several PGC's, the duration could be wrong. This is fixed.
- The help system now uses the external browser. The style of the help files has been reworked in a more modern way. In the settings, each tab now has a "Help" button to get help on options on this tab.
- Transcoding is now possible directly from an encrypted DVD. Previously, you had to rip the DVD using an external tool and then transcode the extracted files. QtlMovie now integrates libdvdcss, a public library to read encrypted DVD's. This means that transcoding from encrypted DVD's is possible on all platforms and that the decryption keys are shared with all other tools using libdvdcss such as the VLC media player.
- A new "DVD Extraction" option is available from the "Tools" menu. This new tool can extract DVD content, either as a complete ISO image, by Video Title Set (VTS) or individual files. This embedded tool is available on all platforms and can replace third-party platform-dependent DVD ripping tools.
- Limit the initial search of Closed Captions to the ffprobe duration. This was the previous behavior before V1.8.
- Added an option (enabled by default) to cleanup SRT/SSA/ASS subtitles files. This removes all invalid nul characters inside these files. It has been observed that some MKV files had ASS subtitles using metadata containing a trailing zero character. This invalid character broke ffmpeg and the subtitles were not burned into the video. This new option fixes this issue.
- Added an option (disabled by default) to downgrade SSA/ASS subtitles to SRT before insertion in the video. For SSA/ASS subtitles with weird presentation, this option removes the formatting.
- Bug fix: When clicking in the log window, the color of the subsequent messages could be incorrect. This is fixed.
- Precompiled Windows and Mac binaries use Qt 5.7.0.
- Precompiled Windows and Mac binaries use recent snapshot versions of ffmpeg.
- Precompiled Windows binaries now longer include the third party tool "DVD Decrypter". It is now replaced by the embedded tool "DVD Extraction".
- The support page has moved to the GitHub issue tracker at https://github.com/qtlmovie/qtlmovie/issues
- Improved US Closed Captions (EIA-608, CEA-708) detection and processing using CCextractor version 0.80.
- Added an option to "capitalize" (suppress ALL CAPS) in US Closed Captions.
- Windows and Mac installers include CCextractor 0.80 binaries.
- Fedora and Ubuntu packages for CCextractor 0.80 are available on QtlMovie SourceForge project (and required to install QtlMovie 1.8).
- Removed dependency on Telxcc as an independent application. Telxcc is no longer maintained. Telxcc has been removed from the Windows and Mac installers. The Fedora and Ubuntu packages no longer depend on telxcc. QtlMovie now performs Teletext extraction internally, using some code from Telxcc. Many thanks to Petr Kutalek for having developed Telxcc.
- When encoding for NTSC DVD's, now use 29.97 f/s instead of 30 previously.
- Added support for iPhone SE and iPad Pro screen sizes.
- Added support for Android devices. The generated encoding format is the same as iOS devices. Added support for some popular devices screen sizes.
- QtlMovie is available on Mac OS X. The .dmg package contains precompiled versions of all media tools and is self-sufficient, like its Windows counter-part. QtlMovie 1.6 has been tested on Mac OS X 10.11 "El Capitan". Feedbacks on older versions are welcome.
- Bug fix: Converting to H.264 (iPad, iPhone) failed when the input video had chroma format 4:2:2 (as found in MJPEG files from some photo cameras). This is fixed (output format now forced to 4:2:0).
- Bug fix: In batch mode, when the output file was modified to a non-default value, it was reset to the default value when the file was edited again. This is fixed.
- Bug fix: In file name edit boxes, when the file name was edited and the cursor arrived to 2 adjacent backslashes, the cursor jumped to the end of line. This is fixed.
- Removed new spurious messages from FFmpeg 3.0.x.
- Precompiled Windows binary uses Qt 5.6.0.
- Windows installer includes FFmpeg 3.0.1.
- Mac installer includes FFmpeg 3.0.2.
- Bug fix: When using drag & drop of input files in batch mode, the error "no output file selected" was reported if the tasks were not edited first. This is fixed.
- Windows installer includes FFmpeg 2.8.4.
- Adaptive bitrate computation for AVI, iPhone, iPad. Previously, one bitrate value was defined for iPhone, one for iPad and one for AVI. But, when the screen size was changed (change iPad model for instance), the same bitrate was used, which is not appropriate and needed manual adjustment. Moreover, on iPad, iPhone and AVI, the screen size is a maximum bounding box, not an actual output size. When the original video is smaller than the screen size, the image is not resized and the bandwidth was too high for the size. Now the settings no longer specify a "bit rate" but a "video quality" which is is a number of bits per pixel per 100 frames. The actual bitrate is computed from the actual output image size and this video quality indicator.
- Bug fix: On iPhone, the iPad video bitrate was used instead of the iPhone one. This is fixed with adaptive bitrate.
- Bug fix: In the very specific case when a DVD was converted into a DVD-MPEG file and a subtitle track was selected and the original size of the video was exactly 720x576, then the subtitles were not inserted. This is fixed.
- More reliable checking of new version online.
- Windows installer includes FFmpeg 2.8.3.
- Added the ability to drag and drop several files in the main window in batch mode. This automatically creates one task per file.
- Added an option to specify the default output type (DVD, iPad, etc.)
- Added options to disable the automatic selection of original audio track with subtitles.
- Precompiled Windows binary uses Qt 5.5.1.
- Windows installer includes FFmpeg 2.8.1.
- Automatically detect the default DVD burner if not specified in the settings (Windows and Linux only).
- In the settings, the selection of existing DVD burners is proposed in a combo box instead of a free-form text line edit (Windows and Linux only). If no DVD burner is found, keep the traditional free edit / browse selection for the burner (in case QtlMovie missed the actual device).
- Accept more than one input file in the command line (for batch mode).
- Added command line option "-d" to initially activate the debug messages.
- Prevent editing a task while it is running.
- Bug fix: In batch mode, when editing a completed task, no longer complain that the existing output file will be overwritten.
- Bug fix: In batch mode, the background color of the running job was sometimes dashed, sometimes not. This is fixed.
- Bug fix: When an error occured during the start of a transcoding job (for instance if the output file was not specified), subsequent jobs always failed with "Internal error, transcoding job already created". This is fixed.
- Tested OK on Windows 10.
- Added a "multi-file batch mode" which allows the processing of multiple files in sequence. The main window shows a list of files to be processed. The transcoding operation processes all files in the list. Adding other files to process is allowed during the transcoding of the previous files. By default, QtlMovie uses its classical "single file mode", where all transcoding options are directly accessible in one-click in the main window. It is possible to switch between the two modes using the "Tools" menu or the settings. Using the classical single file mode remains the easiest solution but the batch mode is uselful when many files need to be transcoded. The user can define all the planned conversions and then let all the conversions work for hours.
- New options for: - Automatically clear the log panel before starting transcoding. - Automatically save the log panel at the transcoding completion. - FFprobe execution timeout in seconds. Setting a larger value may be useful when the input file is on a slow DVD drive.
- The format of the saved settings has changed and now uses a more native format. On Windows, the settings are saved in the registry. On Unix and Linux, they are saved in $HOME/.config/QtlMovie/QtlMovie.conf. Settings from the previous versions of QtlMovie (if present) are converted to the new format the first time QtlMovie 1.3 is run. The converted settings file is kept for reference into the user's home directory as .qtlmovie.old but is no longer used and may be manually deleted.
- Bug fix: In the specific combination where the input was a DVD with multiple VOB's and the output was a DVD MPEG file, only one VOB was processed. This is fixed.
- Bug fix: The "forced display aspect ratio" was not always enforced. This is fixed.
- Bug fix: On Windows (case-insensitive file systems), the default output file could clash with the input file if they differed by letter case only. Now add the .transcoded suffix, as with identical input and output files.
- Bug fix: Sometimes, the deletion of temporary files failed, maybe due to a race condition with terminating processes. This is (probably) fixed.
- When editing DVD Burner settings on Windows, now browse directly to the "Computer" virtual folder. This is now possible thanks to Qt 5.5.
- Added support for iPhone 6 and 6 Plus.
- Precompiled Windows binary uses Qt 5.5.0.
- Windows installer includes FFmpeg 2.7.
- Save the size and position of all windows. Useful for screens with a size or resolution which are not well suited for the default geometry of the application windows. Resize once and keep the same size and position forever.
- Precompiled Windows binary uses Qt 5.3.0.
- Windows installer includes FFmpeg 2.2.2.
- Ubuntu 14.04 LTS .deb package is now built for QtlMovie. Be sure to read the user documentation for a description of how to install FFmpeg on Ubuntu.
- Ubuntu packages for CCextractor 0.69 and telxcc 2.5.3 are available on QtlMovie SourceForge project.
- Added an optional sound notification at the end of the transcoding process.
Must be enabled in the Settings / Transcoding tab.
- Windows installer includes FFmpeg 2.2.1 and CCextractor 0.69.
- Linux RPM's for CCextractor 0.69 is available on QtlMovie SourceForge project.
- Added the possibility to force a new display aspect ratio. Useful when the input file is, for example, incorrectly labeled as 4:3 while it should be 16:9.
- Linux RPM package for Fedora 20.
- Precompiled Windows binary uses Qt 5.2.1.
- Windows installer includes FFmpeg 2.1.4, CCextractor 0.68 and telxcc 2.5.3.
- Linux RPM's for CCextractor 0.68 and telxcc 2.5.3 are available on QtlMovie SourceForge project (Fedora 20).
- Display full translated language names (when available) for audio and subtitle tracks instead of language codes.
- On Windows, the progress bar overlay on the application icon is no longer used for Windows versions prior to Windows 7. Crashes were reported on Vista when the application exits (maybe a Qt 5.2.0 problem).
- Fixed a performance problem during the initial audio level analysis when audio normalization was required.
- Prebuilt Windows binary uses Qt 5.2.0 final.
- Use the "rotate" metadata from the input file to apply the corresponding rotation on video. This is useful for video files from an iPhone which are sometimes upside down, depending on the iPhone orientation at the time the video was shot. Can be disabled in the settings.
- Added "iPhone" output type. Same kind of conversion as iPad but size and bitrate parameters are different.
- Video frame rate for iPad and iPhone is now 30 f/s instead of 25.
- Added audio normalization. Not enabled by default, edit settings first. See help on audio settings for more details.
- Reorganized "Edit Settings" tabs.
- Fixed a problem with option -threads in ffmpeg.
- On Windows with Aero desktop, added a progress bar on the application icon. Require Qt 5.2 or higher.
- Fixed a problem when searching for a new version behind one specific brand of proxy server (did not like the default Qt User-Agent).
- Integrated official FFmpeg 2.1.1 with Windows installer.
- Prebuilt Windows binary uses Qt 5.2.0.
- Provide a RPM package for QtlMovie on Fedora Linux. Added scripts to build custom RPM packages for ccextractor and telxcc which do not have packages in standard repositories.
Version 1.2.9 (2013-11-03)
- Added "AVI" output type for highly compressed file storage and exchange.
- Integrated official FFmpeg 2.1 with Windows installer.
- Windows installer is now internationalized.
- Windows executable is now statically linked and the installer no longer embeds Qt DLL's. The installer is smaller and the risk to miss required new DLL's is reduced.
Version 1.2.8 (2013-13-27)
- Fixed a performance problem when opening a file without Closed Captions. The search for the presence of CC delayed the display of the other streams. Now, all other streams are displayed at once. The (unsuccessful) search for CC completes in the background.
- Added a "release notes" viewer".
Version 1.2.7 (2013-13-26)
- Help files are now fully translated. QtlMovie can work completely in another languages. Current translations are English and French. Native speakers will be required for additional languages.
Version 1.2.6 (2013-13-22)
- Bug fix: On Windows, if the output file name contained a single quote (') and text subtitles from the input file were inserted in the output file, the conversion failed. Fixed.
- Fixed typos in help files and translations.
- Added check for a new version either when the application starts (can be disabled in the settings) or manually from the "Help" menu.
- US Closed Captions subtitles (CEA-608/708) are now supported thanks to the integration of CCExtractor. Currently, the CC are numbered as follow: 1: channel 1, field 1, 2: channel 1, field 1, 3: channel 2, field 1, 4: channel 2, field 2. This may not be ideal. Feedback from US users required.
- Bug fix: On Windows, enforce the DVD burner device to be a drive name.
Version 1.2.4 (2013-10-19)
- Encoding for DVD now transcodes audio to AC-3 instead of MPEG-2 Audio Layer 2.
- When encoding for DVD, if the input video stream is already DVD-compliant, do not re-encode video. Simply re-encode audio and remux. This is useful for video files from analog-to-digital acquisition cards which produce DVD-compliant files with MPEG-2 audio instead of AC-3. Previously, the re-encoding was skipped only if the complete file was DVD_compliant.
- Automatic detection DVD-compliant files (full file or video only) can be disabled in the settings. This is useful to force a transcoding when the file seems DVD-compliant but is not really (too large for instance).
- QtlMovie is now internationalized. The current only maintained translation is French. Looking for volunteers for other languages. Help files are not yet translated. The system locale is used by default (when supported by QtlMovie). Another locale can be specified on the command line. Example: "QtlMovie -l en" starts in English.
- Bug fix: When editing the input or output file name, the cursor jumped to the end of line after each character. Fixed.
Version 1.2.3 (2013-10-16)
- Bug fix: "Test Audio" feature was not working well. Fixed.
- Workaround for a bug in ffmpeg on Windows: When the option -passlogfile contains non-ASCII characters, the path of the log file as built by ffmpeg is wrong and ffmpeg fails with "no such file or directory". Now use the DOS 8.3 short path of the temporary directory for temporary ffmpeg pass log files.
- Bug fix: When a file was dragged/dropped into the edit box for input file, output file or subtitle file and not otherwise edited, the application was not properly notified and the file was ignored.
- Added settings to specify the video bitrate for iPad. The default value remains 2.5 Mb/s.
- Added settings to specify the iPad screen size (iPad 1/2/mini vs. iPad 3/4).
- Windows installer now intergrates official telxcc v 2.5.1 (required to support M2TS files, previous version of QtlMovie used a patched version of telxcc).
Version 1.2.1 (2013-10-12)
- Added settings to create NTSC or PAL DVD.
Version 1.2.0 (2013-10-11)
- Improved help files.
- Support M2TS input files.
- Fixed deployment problem on Windows.
The Qt DLL's which were copied still referenced the hardcoded path the Qt
build environment. Now the installer includes the required Qt plugins.
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.
Basically, the main workflow of QtlMovie is:
Open a movie file of any type, including a DVD file structure, 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 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.