- dvdauthor
- expat 1.x
- Gtkmm 2.4 or later
-- ffmpeg or mjpegtools
+- ffmpeg or mjpegtools 1.8 or later
- Mozilla 1.8 or later, or XULRunner
- netpbm
- Xvfb (from XFree86 or X.org)
By default, VideoLink now calls ffmpeg to generate MPEG-2 streams for
menus. If you want it to use mjpegtools as it previously did, you
-must add the option "--encoder mjpegtools". If you use mjpegtools
-1.6.2 or earlier you must instead use "--encoder mjpegtools-old".
-This is due to an incompatible change in the syntax of the ppmtoy4m
-command between versions 1.6.2 and 1.8.
+must add the option "--encoder mjpegtools".
If this is successful you can then use mkisofs to create a DVD image
from the output directory. Alternately you can write this directory
}
else
{
- assert(encoder_ == mpeg_encoder_mjpegtools_old
- || encoder_ == mpeg_encoder_mjpegtools_new);
+ assert(encoder_ == mpeg_encoder_mjpegtools);
command_stream
<< "pngtopnm " << background_name
<< " | ppmtoy4m -v0 -n" << menu_duration_frames(frame_params_)
<< " -F" << frame_params_.rate_numer << ":" << frame_params_.rate_denom
<< " -A" << frame_params_.pixel_ratio_width
<< ":" << frame_params_.pixel_ratio_height
- << " -Ip ";
- // The chroma subsampling keywords changed between
- // versions 1.6.2 and 1.8 of mjpegtools. There is no
- // keyword that works with both.
- if (encoder_ == mpeg_encoder_mjpegtools_old)
- command_stream << "-S420_mpeg2";
- else
- command_stream << "-S420mpeg2";
- command_stream <<
+ << " -Ip -S420mpeg2"
" | mpeg2enc -v0 -f8 -a2 -o/dev/stdout"
" | mplex -v0 -f8 -o/dev/stdout /dev/stdin";
}
// unspecified; not compared!)
};
- // We can try using any of these encoders to convert PNG to MPEG.
+ // We can try using either of these encoders to convert PNG to MPEG.
enum mpeg_encoder
{
mpeg_encoder_ffmpeg, // ffmpeg
- mpeg_encoder_mjpegtools_old, // mjpegtools before version 1.8
- mpeg_encoder_mjpegtools_new // mjpegtools from version 1.8
+ mpeg_encoder_mjpegtools // mjpegtools from version 1.8
};
dvd_generator(const video::frame_params & frame_params,
"Usage: " << command_name << " [gtk-options] [--preview]\n"
" [--video-std {525|525/60|NTSC|ntsc"
" | 625|625/50|PAL|pal}]\n"
- " [--encoder {mjpegtools|mjpegtools-old}]\n"
+ " [--encoder {ffmpeg|mjpegtools}]\n"
" menu-url [output-dir]\n";
}
{
encoder = dvd_generator::mpeg_encoder_ffmpeg;
}
- else if (std::strcmp(argv[argi + 1], "mjpegtools-old") == 0)
+ else if (std::strcmp(argv[argi + 1], "mjpegtools") == 0)
{
- encoder = dvd_generator::mpeg_encoder_mjpegtools_old;
- }
- else if (std::strcmp(argv[argi + 1], "mjpegtools") == 0
- || std::strcmp(argv[argi + 1], "mjpegtools-new") == 0)
- {
- encoder = dvd_generator::mpeg_encoder_mjpegtools_new;
+ encoder = dvd_generator::mpeg_encoder_mjpegtools;
}
else
{