# mplayer/cfg - "Build" settings for package #--------------------------------------------------------------------- [technotes] 1. For the current release of this package, the source tarball was constructed using the following script. "YYMMDD" specifies a six-digit date. If you attempt to reuse this script in the future, note that you may need to change the "ffmpeg" revision and source tarball path that is used. #!/bin/bash -e set -e OUTBASE=mplayer YYMMDD=241111 DIR=$OUTBASE-$YYMMDD INPBALL=mplayer-export-snapshot.tar.bz2 OUTBALL=$DIR.tar.bz2 URL=http://mplayerhq.hu/MPlayer/releases/$INPBALL rm -fr $INPBALL $OUTBALL rm -fr mplayer-export-20* $DIR wget $URL tar jxf $INPBALL mv mplayer-export-20* $DIR pushd $DIR #ifdef NOTDEF # git clone --depth 1 https://github.com/FFmpeg/FFmpeg ffmpeg #else tar jxf /src/*/*_ffmpeg6/ffmpeg-6.1.2.tar.bz2 || exit 1 mv ffmpeg-6.1.2 ffmpeg #endif popd chown -R 0.0 $DIR tar jcf $OUTBALL $DIR rm -fr $INPBALL #--------------------------------------------------------------------- 2. As of January 2010, the official version of "mplayer" had been broken for about a year with respect to FLAC support. Specifical- ly, it didn't play short FLAC files. This distro used a major kludge to work around the problem. Specifically, if somebody tried to make "mplayer" play a short FLAC file, the local version of "mplayer" passed control to another FLAC player (flac123) that *could* play short FLAC files. As of August 2011, the short-FLAC problem seemed to be corrected and the kludge was dropped. #--------------------------------------------------------------------- 3. Usually, the main MPlayer executable (mplayer) shouldn't be com- pressed. Explanation: Compression adds a slight delay to the startup time re- quired for large executables, and "mplayer" needs to start up quickly. Therefore, this "cfg" file's "settings" block shouldn't set "exepack = yes". However, it's O.K. to compress the MPlayer encoder executable (mencod- er). This "cfg" file runs "upx" explicitly to do so. Exception: When "mplayer" is copied into a LiveDistro, it's O.K. to run "upx --lzma" on the main executable at that point, because the LiveDistro is going to compress everything, regardless. However, if the LiveDistro compression mechanism used is reasonably good, there's no reason to precompress the executable. #--------------------------------------------------------------------- 4. Multi-pass mode was broken in MPlayer 1.0-pre8 and other versions produced subsequently. Specifically, if you ran the problematic ver- sions and used multi-pass mode, three different fatal errors occurred intermittently: (a) Encoding failed with the message "Error: 2pass curve failed to converge". (b) Encoding failed with the message "Overhead: nan% (0 / 0)". (c) Encoding failed due to an assertion failure in "libavcodec/ ratecontrol.c". The first two errors occurred when video bitrates were set too high. The limit was poorly defined (it varied from file to file). The third error wasn't tied directly to bitrate settings. As of Fall 2008, multi-pass mode seems to work more reliably. Note: If the problem returns, one work-around is to use single-pass mode and set MEncoder's "vqscale" parameter equal to two. For example: mencoder -ovc lavc -lavcopts mbd=2:trell:vqscale=2:... This mode is faster than multi-pass mode and should produce good-qual- ity output files. However, single-pass output files may be larger than multi-pass output files. More importantly, in a few cases, problems may occur with single-pass output files related to excessively high bitrates. #--------------------------------------------------------------------- 5. Some notes related to DVD playback: a. IMHO: As of mid-2007, "goggles" might be better than "mplay- er" for DVD playback purposes. However, "mplayer" is making progress in this area. b. Some DVDs won't work correctly unless you mount them and specify "iso9660" format explicitly. c. As of 2007, MPlayer supports an optional DVD playback mode named "dvdnav". The new mode supports DVD menus. However, this feature is experimental. In some cases, it works per- fectly. In other cases, it'll cause MPlayer to display error messages or abort. d. "dvdnav" offers another feature related to Sony DVDs. Some Sony DVDs have "bad blocks". This is intentional. Sony doesn't want you to be able to play DVDs under Linux, and the bad blocks are supposed to prevent this. However, "dvdnav" mode may fix the problem. e. "dvdnav" mode has at least two drawbacks. As mentioned above, its DVD-menu support is experimental. Additionally, "dvdnav" mode requires the "-nocache" switch, which may cause problems on some systems. f. To play a specific item in "dvdnav" mode, specify something like "-nocache dvdnav://1" (replace "1" with the appropriate item number). g. To access a DVD's menu, specify "-nocache dvdnav://" in- stead; i.e., omit the item number. Note: Remember that DVD menu support is experimental, and may not work in some cas- es. h. If the mouse doesn't seem to work correctly with DVD menus, add the following line to the file "~/.mplayer/config" and restart MPlayer: mouse-movements=1 Note: The "mouse-movements" setting shown here should fix the DVD-menus problem. However , as a side effect, this setting may make it difficult to pause playback. Any mouse motion across the playback screen will un-pause the current DVD or video clip. i. Update: As of mid-2007, the MPlayer developers have added a command-line option switch named "-mouse-movements". The new option is apparently similar to the "mouse-movements" setting described previously. Summary: If "dvdnav" mode is enabled, and you have problems playing DVDs, try commands similar to the following, which incorporate some of the preceding tips: mount -t iso9660 /dev/cdrom /cdrom mplayer -mouse-movements -nocache dvdnav:// -dvd-device /cdrom or mplayer -mouse-movements -nocache dvdnav://1 -dvd-device /cdrom umount /cdrom #--------------------------------------------------------------------- 6. As of late 2007, MPlayer assumes that pixels are square (as on LCD displays). If video clips consistently appear squashed or stretched, try the runtime switch "-monitoraspect 4:3". This selects alternate pixel-shape rules that may (or may not) fix the problem. #--------------------------------------------------------------------- [buildtimes] 00.09 hours (or 005.55 minutes) - HP EliteBook 8560w 32GB RAM 00.12 hours (or 007.48 minutes) - ThinkPad W530 i7 4x2 32GB RAM 00.15 hours (or 008.82 minutes) - Dell Inspiron 6400 2.0 GHz Intel Duo 7200 2GB RAM 00.43 hours (or 025.63 minutes) - ThinkPad E540 i7 4x2 16GB RAM 00.52 hours (or 031.00 minutes) - Compaq 1.7 GHz Intel Pentium 4 512MB RAM #--------------------------------------------------------------------- [settings] altpkg = yes exepack = no # "mplayer" should _not_ be compressed ldafter = libass/ass_fontconfig.o -lfontconfig -lfreetype license = GNU General Public License, version 2 (June 1991) makejail = yes tmpsize = 218M unpack = relaxed dontfind = \ giflib4 liblzo \ openjpeg15 openjpeg21 openjpeg23 openjpeg24 setpaths = \ fontconfig giflib5 gtkcore jackone \ libaom libdvdcss libdvdnav librtmp \ libvpx114 live555 openjpeg x264 \ xorg #--------------------------------------------------------------------- [depends] a52dec # May not be needed aalib alsa bzip2 cdparanoia enca esound flac # May not be needed flac123 # Used by wrapper at runtime fontconfig freetype2 fribidi gawk giflib4 giflib5 gtk12 jackone jpeg ladspa lame libaom libass libcaca libcdio libdca libdv libdvdnav libdvdread libgsm liblzo liblzo2 libmad libmng libmpcdec libpng librtmp libungif libvorbis libvpx114 live555 mpg123 nas ncurses openjpeg pulseaudio rtmpdump schroedinger sdl slang soundbase speex theora timidity twolame unrar x264 xvidcore xorg yasm zlib #--------------------------------------------------------------------- [configure] CODECSDIR=$PKGDIR_PROD/codecs ETCDIR=$PKGDIR_PROD/etc MANBASE=$PKGDIR_PROD/man treetextsub \ --pattern=FFInputFormat \ --newtext=AVInputFormat \ --keeptimes export LACINCDIRS=$PRODTREE/livecom/liveMedia/include:$LACINCDIRS mkdir -p $CODECSDIR $ETCDIR $MANBASE rm -fr ffmpeg/mp_auto_pull sed -e 's/_x11_headers="no"/_x11_headers="yes"/' -i configure bash ./configure \ --prefix=$PKGDIR_PROD \ --confdir=$ETCDIR \ --mandir=$MANBASE \ \ --disable-debug \ --disable-ggi \ --disable-ggiwmh \ --disable-gl \ --disable-inet6 \ --disable-live \ --disable-nemesi \ --disable-sgiaudio \ --disable-smb \ --disable-vm \ --disable-xinerama \ --disable-xmms \ \ --disable-altivec \ --disable-armv5te \ --disable-armv6 \ --disable-armv6t2 \ --disable-armvfp \ --disable-neon \ --disable-shm \ --disable-ssse3 \ \ --enable-ass-internal \ --enable-cdparanoia \ --enable-fbdev \ --enable-fontconfig \ --enable-freetype \ --enable-gui \ --enable-librtmp \ --enable-menu \ --enable-real \ --enable-runtime-cpudetection \ --disable-vesa \ \ --target=$LACARCHBUILD \ --codecsdir=$CODECSDIR #--------------------------------------------------------------------- [build] export APPENDLIBSW="-lschroedinger-1.0 \ -lliveMedia -lUsageEnvironment \ -lBasicUsageEnvironment -lgroupsock \ -ldvdnav -lfontconfig -lrtmp" export LACINCDIRS=$PRODTREE/livecom/liveMedia/include:$LACINCDIRS smpmake smpmake install #--------------------------------------------------------------------- [postbuild] BINDIR=$PKGDIR_PROD/bin ETCDIR=$PKGDIR_PROD/etc CODECMDIR=$PKGDIR_SPECIAL/codecs CODECSDIR=$PKGDIR_PROD/codecs mkdir -p $BINDIR $ETCDIR mkdir -p $CODECSDIR cp -p etc/*.conf $ETCDIR/ cd $PKGDIR_PROD MPSHAREDIR=$PKGDIR_PROD/share/mplayer mkdir -p $MPSHAREDIR cd $MPSHAREDIR ln -sfv /usr/X11R6/lib/X11/fonts/TTF/luxisri.ttf \ subfont.ttf MPSKINDIR=$MPSHAREDIR/skins rm -fr $MPSKINDIR mkdir -p $MPSKINDIR cd $MPSKINDIR SKINSRC=$PKGDIR_SPECIAL/skins bzip2 -cd $SKINSRC/changuito-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/handheld-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/hayraphon-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/iTunes-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/phony-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/ultrafina-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/Cyrus-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/DVDPlayer-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/OpenDoh-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/PowerPlayer-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/WMP6-*.tar.bz2 | tar -xf - bzip2 -cd $SKINSRC/XFce4-*.tar.bz2 | tar -xf - ln -sfv handheld default chown -R 0.0 $PKGDIR_PROD sed -e "s|sub,\s*-1,\s*-1,\s*640,\s*480|sub,-1,-1,500,300|" \ -i $MPSKINDIR/Cyrus/skin cd $BINDIR ln -s mplayer mplater ln -s mplayer mpalyer ln -s mplayer mplyaer (upx --lzma mencoder || true) cd $BINDIR mv mplayer mplayer.bin sed -e "s|__META_BINDIR__|$SYSDIR_BIN|g" \ -e "s|__META_PREFIX__|$PKGDIR_PROD|g" \ < $PKGDIR_SPECIAL/wrappers/mplayer.wrapper.in \ > mplayer chmod 755 mplayer cd $BINDIR touch gmplayer gmplayer.bin rm gmplayer gmplayer.bin ln -s mplayer.bin gmplayer.bin sed -e "s|__META_PREFIX__|$PKGDIR_PROD|g" \ < $PKGDIR_SPECIAL/wrappers/gmplayer.wrapper.in \ > gmplayer chmod 755 gmplayer #--------------------------------------------------------------------- # Original URLs. These URLs were valid at one point, but may have died # since then. If you download newer versions of tarballs [etc.], don't # delete the original versions, as you may not be able to replace # them. [urls] url_debian = tbd url_home = http://www.mplayerhq.hu/ url_lfs = http://www.linuxfromscratch.org/blfs/view/stable/\ multimedia/mplayer.html url_tarball = See "technotes" in "cfg" file #--------------------------------------------------------------------- [history] 170530 Updated from 170326 to 170530 170912 Updated to 170912 171212 Updated to 171212 180306 Updated to 180306 180505 Updated to 180505 180902 Updated to 180902 181023 Updated to 181023 190412 Updated to 190412 210815 Updated to 210815 240121 Updated to 240121 241111 Updated to 241111