Upgrading nuvexport to version 0.4

This weekend, I decided to update nuvexport from version 0.3, the version that I’d used back in December 2005, when I first wrote about it for Linux Journal.

As part of that process, I’m reminded how much I love package systems. When I first attempted to install it, Gentoo’s Portage system told me about all that I was missing. It told me that I needed to modify my transcode support:

* media-video/transcode is missing mjpeg support. Please add
* ‘mjpeg’ to your USE flags, and re-emerge media-video/transcode.

!!! ERROR: media-tv/nuvexport-0.4_p20061203 failed.
Call stack:
ebuild.sh, line 1562: Called dyn_setup
ebuild.sh, line 665: Called pkg_setup
nuvexport-0.4_p20061203.ebuild, line 30: Called die

!!! transcode needs mjpeg support
!!! If you need support, post the topmost build error, and the call stack if relevant.

Rebuilding transcode with USE=”mjpeg mpeg mp3 jpeg a52 xml” emerge transcode ook care of that problem, and I was on my way.

Next up, the old version of ffmpeg that I’d installed was no longer any good:
* media-video/ffmpeg is missing necessary support. Please add
* ‘aac encode threads xvid’ to your USE flags, and re-emerge
* media-video/ffmpeg.

!!! ERROR: media-tv/nuvexport-0.4_p20061203 failed.
Call stack:
ebuild.sh, line 1562: Called dyn_setup
ebuild.sh, line 665: Called pkg_setup
nuvexport-0.4_p20061203.ebuild, line 37: Called die

!!! ffmpeg needs USE=’aac encode threads xvid’
!!! If you need support, post the topmost build error, and the call stack if relevant.

The new ffmpeg that emerge wanted to bring in was far newer, too. I’d had lots of problems with the existing version of mpeg, and had been using mencoder instead since installation. ffmpeg would run fine, but on anything greater than a half hour program, the mythtranscode process would grow until it had consumed 85% of the system memory and swapping would grind the system to a halt. That was too bad, since ffmpeg is much faster than mencoder. I’ve since upgraded MythTV, so I had hopes that I could use ffmpeg. To make emerge happy, I ran the command USE=”3dnow aac encode threads xvid flac” emerge ffmpeg.

With the previous version, there were a few points that I had to discover and work into my current practice (use mencoder instead of ffmpeg, don’t use the cutlist). With the new version, many of the bugs have been fixed. A few notes on the new version:

  • It’s possible to export even hour-long HDTV programs with ffmpeg. The bug in mythtranscode that resulted in its monster memory consumption has been fixed. That’s great, because ffmpeg is so much faster than mencoder. mencoder would require about six hours to export a 720p program to XviD; two-pass encoding with ffmpeg takes only three and a half.
  • ffmpeg also provides great file size benefits. The two-pass XviD encoding increases quality in addition to reducing file size. On my first try, a one-pass hour-long 720p program turned out as an 881 MB file. Two-pass encoding of the same video stream looks even better, and it’s only 485 MB to boot! (Video transcoding options were identical.)
  • Using the cutlist works. With the previous version, any time I tried to use the cutlist, the transcoding programs would bomb out right after starting. Now, when I use the MythTV cutlist, everything works fine. It saves time because I don’t need to compute heavily on the commercials, and the resulting file is a bit smaller. Once I enabled the cutlist, that 485 MB hour-long program became 347 MB.

2 Responses to “Upgrading nuvexport to version 0.4”

  1. […] Surfing the Luminiferous Ether A former physicist tries to make sense of technology « Upgrading nuvexport to version 0.4 […]

  2. […] Well, the new nuvexport doesn’t work with nohup. Fortunately, Google led me to Rob Newcater’s BasicallyTech blog, where I learned about the magic of disown in bash. It’s much more convenient than using nohup because if I forget to start the job in the correct way, I can background it and disown it without restarting from square one. […]

Leave a Reply