SmallDVD 2.3

SmallDVD 2.3 is available for download. This release adds the ability to create DVDs without menus and optionally play the videos in a loop. There is also an updated version of ffmpeg, and a change to the way MPEG2 files are handled.

A new DVD settings tab has been added, which allows you to specify whether the DVD should be created with a menu or not (by default, a menu is created). If you put several videos on a menuless DVD, they will play in sequence. If the DVD has no menu, you can specify whether the videos should play in a continuous loop. Also, the aspect, format and chapter settings have been moved from the DVD menu tab to the DVD settings tab.

This release also makes two changes to the way ffmpeg is used. The short reason for this is to improve the compatibility with MPEG2 input videos.

If you’re interested in the long explanation, first, a word of explanation. ffmpeg is the fabulous video conversion command line utility which SmallDVD uses for converting and remultiplexing video files ready for placed on a DVD. It is constantly evolving, supporting more file formats. As ffmpeg doesn’t have formal releases, it is typically built from source code using all the latest enhancements submitted. But it appears that “latest” is not always “greatest”.

All versions of SmallDVD up to and including 2.0 used a version of ffmpeg I compiled back in March 2007. For SmallDVD 2.1 (and subsequently 2.2), I compiled a new version to enable a wider variety of files to be accepted by SmallDVD. However, this later version had two problems:

  • Videos saved from MPEGStreamClip as “MPEG2 with MP2 audio” were no longer accepted by SmallDVD.
  • In some cases, chapter marks were not being inserted correctly in MPEG2 videos.

The first of these problems was an ffmpeg bug, which was fixed by building a newer version. However, this still showed the second problem. Therefore, while I have included a new version of ffmpeg (r21020) in SmallDVD 2.3, I have also reinstated the original version I was using (r8320) up until SmallDVD 2.0.

So, in SmallDVD 2.3, MPEG2 input video which does not require conversion will use the old ffmpeg. All other video which does require conversion will use the new ffmpeg (this includes MPEG2 files you have explicitly set to be converted).

The end result, hopefully, will be better compatibility with as many types of files as possible. Ideally, I would like to use just one ffmpeg, but until I can get the new version working as reliably on MPEG2 files as the old version did, I will retain both.


]]>

MPEGStreamClip and SmallDVD 2.1/2.2

A number of people (myself included) have run into a problem where SmallDVD 2.1 and 2.2 can no longer recognise video files saved from MPEGStreamClip. This appears to be caused by the new version of ffmpeg added to SmallDVD 2.1 not recognising files in this format. My initial research hasn’t found anything obviously wrong, so it may be an ffmpeg bug.

In the short term, the workaround is to save from MPEGStreamClip using “Convert to TS with MP2 audio”. But I will look into why it’s not working with the standard format saved by MPEGStreamClip.
Alternatively, you could revert to SmallDVD 2.0.

I use the combination of MPEGStreamClip + SmallDVD a lot, so am highly motivated to fix this!


]]>

SmallDVD roadmap

When I first created SmallDVD, it had a very specific purpose – putting MPEG2 files onto a DVD with a very simple menu. This is why it remained unchanged for 2 years prior to v1.0 being released. Then v2.0 added a commonly requested feature – the ability to convert video from non-MPEG2 formats; I wrote about this here.

Since then, I’ve had a lot of requests for greater control over the DVD menus and burning the image to DVD. I was initially resistant to these as I felt that this was really iDVD’s domain – if you want quick and easy DVD authoring, use SmallDVD; if you want fancy menus, use iDVD. But I have now been convinced by a couple of people that the simplicity of SmallDVD can be retained while adding more flexibility to the menus, and that it would continue to serve a purpose that iDVD does not.

So I am planning a number of 2.x releases to incrementally enhance the menu functionality.

  • 2.2 has been released today. It adds more control over font selection, and allows additional text to be added to the menu.
  • 2.3 will (probably) add the option of creating DVDs without menus.
  • 2.4 will (probably) give greater control over the background of the menu, and maybe the button and text colours.

Additionally, the documentation is getting a long way out of date, and needs a significant update.

However, the current AppleScript code for SmallDVD is becoming increasingly hard to maintain. What started as 100 fairly elegant lines of AppleScript has now becoming a rather more unwieldy 1300+ lines that has been added to regularly over the last 4 years. At the start, AppleScript seemed like a nice, easy way of creating a simple user interface to the command line tools that do all the hard work in SmallDVD. But it’s not a great way of building larger applications. Also, from Mac OS X 10.6, Apple seem to have deprecated the AppleScript Studio part of the development tools, encouraging greater use of Objective C. This is a pity in many ways, and not a very developer-friendly thing to do. However, there’s no doubt that SmallDVD’s code needs an overhaul, so it makes sense to convert it to Objective C.

So, in parallel with the 2.x releases, I am going to start work on SmallDVD 3.0, which will be a complete rewrite in Objective C. The initial releases will almost certainly have less functionality than the latest 2.x version, but over time it should catch up and overtake. It should also provide a more sustainable basis for future enhancement.

The priority with SmallDVD 3.0 will continue to be keeping it as simple as possible. If a feature would require too much complexity in the user interface, it probably won’t get in.

As always, all suggestions very gratefully received. The forums on Get Satisfaction are the best way to submit feedback, but you can also e-mail me directly.


]]>

SmallDVD 2.2

SmallDVD 2.2 is available for download. This release makes a number of improvements to the DVD menu creation, based on requests I’ve received. These are:

  • Additional text can be placed on the menu without being linked to any video file. This would typically be used for creating a title for the menu or other labels. To create a label, add text to the button position table (see image below for an example). Anything without text specified will be used as a button.
  • Fonts for buttons and labels can be specified separately, and can be set from Font Book. Clicking the font icon next to font name will take the currently selected font in Font Book. If the Font Book application is not running, it will open it first.
  • The default menu template now has 8 buttons instead of 4.
  • The menu template defaults have been moved to a proper preferences file (this was something I only discovered how to do after the initial release of SmallDVD, and had never got round to changing). This does mean that SmallDVD 2.2 ignores defaults saved in previous versions, but it makes it feasible to edit these outside SmallDVD using the Property List Editor. Open the file Library/Preferences/uk.co.smallsoftware.smalldvd.plist file if you need to do this.


]]>