From 3a7b071517dfdb83e7a9ba7f8b327b6c476f638e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Fri, 21 Jan 2011 01:55:40 +0100 Subject: TOOLS: Remove most of the mencoder scripts and references --- TOOLS/README | 94 +---------- TOOLS/aconvert.sh | 13 -- TOOLS/avi-fix.c | 3 +- TOOLS/divx2svcd.sh | 369 ---------------------------------------- TOOLS/dvd2divxscript.pl | 256 ---------------------------- TOOLS/mencvcd.sh | 440 ------------------------------------------------ TOOLS/qepdvcd.sh | 297 -------------------------------- 7 files changed, 5 insertions(+), 1467 deletions(-) delete mode 100755 TOOLS/aconvert.sh delete mode 100755 TOOLS/divx2svcd.sh delete mode 100755 TOOLS/dvd2divxscript.pl delete mode 100755 TOOLS/mencvcd.sh delete mode 100755 TOOLS/qepdvcd.sh diff --git a/TOOLS/README b/TOOLS/README index eaa75bf0de..d1e3775684 100644 --- a/TOOLS/README +++ b/TOOLS/README @@ -5,8 +5,7 @@ Preamble -------- In this directory you can find some nice scripts and code that makes -using MPlayer and MEncoder easier, for example scripts for DVD track -encoding in three pass mode or creating SVCDs from a movie. +using MPlayer easier. FIXME: Document the following tools: @@ -86,93 +85,6 @@ Usage: wma2ogg [options] <-f FILE1 | -f FILE2 ... | -a> -del remove WMA file(s) after the transcoding - -MEncoder scripts in the TOOLS dir ---------------------------------- - -divx2svcd.sh - -Author: Miklos Vajna - -Description: A simple utility that creates an SVCD from a video in an AVI - container. - -Usage: divx2svcd.sh [options] - see 'divx2svcd.sh -h' for more info - - -mencvcd.sh - -Author: Jürgen Hammelmann - -Description: Converts DVD (or anything else that MPlayer plays) to (S)VCD - -Usage: mencvcd.sh [mencvcd.sh options] [mplayer options] - see 'mencvcd.sh -h' for more info - -Note: Requires MPlayer, mjpegtools, VCDImager, cdrdao, and optionally - LAME, tooLAME and SoX. - - -dvd2divxscript.pl - -Author: Florian Schilhabel - -Description: Yet another DVD to divx helper script. - This script encodes a DVD track in three pass mode to MPEG-4 with - libavcodec. Optionally it writes the resulting movie file to - CD-ROM the corresponding audio track to MP3. It can also shut - down the computer when it finishes. If you like, you can - watch the MEncoder output on /dev/tty8. - -Usage: --help show help - --abr (AudioBitRate) Please enter the desired bitrate this - can be either [96|128|192] kbit/sec (default: 128). - --lang Specify the Language of the audio track this can be - for example or (default: ). - --dvd Specify the DVD track you want to encode. - --cdsize Specify the size of your CD-ROM (default: 700MB). - --shutdown Shutdown the system, when the encoding process has - finished. Needs appropriate privileges. - --out Specify the name of your encoded movie. The file - extension will be appended automatically. - --writecd Takes the newly created movie and writes it to a - CD-ROM. - --writedev cdrecord device identifier, for example 0,1,0 - --speed writing speed (default: 4) - --dvd-device device to pull the video off (default: /dev/dvd) - - -aconvert.sh - -Author: Jonas Jermann - -Description: A hack to allow MEncoder to read respectively encode from audio - only files. - -Usage: aconvert.sh <"input file"> <"output file"> <"options"> - If no options are specified the following is assumed: - -oac lavc -lavcopts acodec=mp3:abitrate=192 - -Note: The script is probably bash dependent and it's just a quick - hack, feel free to improve it (or much better: fix MEncoder ;). - - - -qepdvcd.sh - -Author: Reynaldo H. Verdejo Pinochet - -Description: converter from any supported format to VCD/SVCD PAL/NTSC - -Usage: qepdvcd.sh file - Run with no arguments to see the list of options. - -Note: You will need vcdimager/cdrecord to master/burn the resulting - files. - - - Tech scripts in the TOOLS dir ----------------------------- @@ -302,8 +214,8 @@ Description: A simple tool to fix chunk sizes in RIFF AVI files. Usage: avi-fix [-fix] -Note: It does not check or fix the index, to do this use - 'mencoder -forceidx -oac copy -ovc copy'. +Note: It does not check or fix the index. You can try to fix it with + ffmpeg -i ... -acodec copy -vcodec copy. checktree.sh diff --git a/TOOLS/aconvert.sh b/TOOLS/aconvert.sh deleted file mode 100755 index 1cae2732eb..0000000000 --- a/TOOLS/aconvert.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# Author: Jonas Jermann -# Description: A hack to allow mencoder to encode from an audio only file - -if [ "$1" = "" ]; then - echo "Usage: $0 <\"input file\"> <\"output file\"> <\"options\">" - exit 0 -fi - -options=${3:-"-oac mp3lame"} - -mencoder -demuxer rawvideo -rawvideo w=1:h=1 -ovc copy -of rawaudio -endpos `mplayer -identify $1 -frames 0 2>&1 | grep ID_LENGTH | cut -d "=" -f 2` -audiofile $1 -o $2 $options $1 diff --git a/TOOLS/avi-fix.c b/TOOLS/avi-fix.c index 2dfd48a955..e4d6600ad6 100644 --- a/TOOLS/avi-fix.c +++ b/TOOLS/avi-fix.c @@ -1,6 +1,7 @@ /* avi-fix v0.1 (C) A'rpi * simple tool to fix chunk sizes in a RIFF AVI file - * it doesn't check/fix index, use mencoder -forceidx -oac copy -ovc copy to fix index! + * it doesn't check/fix index. You can try to fix it with ffmpeg -i ... -acodec + * copy -vcodec copy * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/TOOLS/divx2svcd.sh b/TOOLS/divx2svcd.sh deleted file mode 100755 index 4192e0f782..0000000000 --- a/TOOLS/divx2svcd.sh +++ /dev/null @@ -1,369 +0,0 @@ -#!/bin/bash - -# (c) 2003 Vajna Miklos -# divx2svcd for MPlayer -# distributed under GPL License - -# simple utility that creates a SVCD from a video in an AVI container - -# The newest version of this utility can be found at -# http://vmiklos.uw.hu/divx2svcd/divx2svcd -# MPlayer available at -# http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre3try2.tar.bz2 - -###changelog### -#nobody cares about it :-) -cat >/dev/null < -- support for toolame instead of mp2enc -- suppert for libavcodec mpeg2video codec instead of mpeg2enc - -0.2 -- support for tcmplex instead of mplex - -0.1rc2-rc4 -- small bugfixes - -0.1rc1 -- initial release - -EOF - - -###preparing### -#help - -usage() -{ - cat </dev/null 2>&1 -bcbin=`which bc 2>/dev/null` -if [ $? != 0 ]; then - cat </dev/null 2>&1 -bcbin=`which vcdimager 2>/dev/null` -if [ $? != 0 ]; then - cat </dev/null 2>&1 -if [ $? = 0 ]; then - tcp_path=`which tcmplex-panteltje 2>&1` -else - tcp_path="x" -fi -which tcmplex >/dev/null 2>&1 -if [ $? = 0 ]; then - tc_path=`which tcmplex 2>&1` -else - tc_path="x" -fi - -if [ -x $tcp_path ]; then - tcbin=tcmplex-panteltje - tcopt=-0 -elif [ -x $tc_path ]; then - tcbin=tcmplex - tcopt=-p -else - cat </dev/null 2>&1 -cdrbin=`which cdrecord 2>/dev/null` -if [ $? != 0 ]; then - cat <= 2.01a14 - echo -n "Checking for cdrecord version >= 2.01a14... " - $cdrbin cuefile=a 2>&1 |grep 'Bad Option' >/dev/null 2>&1 - if [ "$?" = 0 ]; then - cat <= 2.01a14. You can download it at -ftp://ftp.berlios.de/pub/cdrecord/alpha/cdrtools-2.01a20.tar.gz -EOF - else - echo "`$cdrbin -version |cut -d ' ' -f 2`" - fi -fi -fi - -#checking for sub avariable - -if [ -f "$nev.sub" ]; then - subopts=$nev.sub -else - subopts='' -fi - -if [ "x$subopts" = "x" ]; then - subs='' -else - subs='-sub ' -fi - -#checking for what height needed -inputwidth=`mplayer -vo null -ao null "$input" -frames 1 2>/dev/null |grep '=>'|cut -d ' ' -f 5|cut -d x -f 1` -inputheight=`mplayer -vo null -ao null "$input" -frames 1 2>/dev/null |grep '=>'|cut -d ' ' -f 5|cut -d x -f 2` -svcdaspect=`echo -e "scale=10\n1.596/($inputwidth/$inputheight)"|bc /dev/stdin` -height=`echo -e "scale=10\n$svcdaspect*480"|bc /dev/stdin|cut -d . -f 1` - -#checking for ratios less than 1.33 -istoohigh=`expr $height \> 577` -if [ "$istoohigh" = 1 ]; then - height=576 -fi - -#find out the vf options -if [ "$height" = 576 ]; then - vfopts='-vf scale=480:576' -else - #-vf processes filters in reverse order - exy=`echo -e "scale=10\n(576-$height)/2"|bc /dev/stdin|cut -d . -f 1` - vfopts="-vf scale=480:$height,expand=480:576:0:$exy:1" - echo "Using filter options: '$vfopts'" -fi - -#finish displaying informations -if [ "$burning" = 1 ]; then -#asking for cd -cat < template - $tcbin -i "$nev.m2v" $tcopt "$nev.mp2" -o "$nev.mpg" -m s -F template - rm template - rm "$nev.m2v" "$nev.mp2" -fi - -for i in *mpg -do - nev2=`basename "$i" .mpg` - #creating images - vcdimager -t svcd -c "$nev2.cue" -b "$nev2.bin" "$i" - #burning if needs - if [ "$burning" = 1 ]; then - if [ "$firstcd" != 1 ]; then - cat < -# -# -# version 0.1 initial release 22/08/2002 -# -# -# If you have any comments, suggestions, etc., feel free to send me a mail ;-)) -# flames and other things like that should go to /dev/null -# thankx to all the mplayer developers for this really *great* piece of software -# -# -# This script is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This script is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -# -# -use Getopt::Long; - -# specify your default Settings here... - -$abr_default = 128; # The default AudioBitRate -$lang_default = "de"; # ... the language -$cdsize_default = 700; # ... the CD-Rom Size -$writedev_default = "0,1,0"; # ... the CD Writer Device -$speed_default = 4; # ... the writer speed -$dvd_device = "/dev/dvd"; # and the DVD Rom Device - -# end of default Settings - - - -sub delete_tempfiles { - if (open(FILE, "< audio.stderr")) { - close (FILE); - system ("rm audio.stderr") - } - if (open(FILE, "< frameno.avi")) { - close (FILE); - system ("rm frameno.avi"); - } - if (open(FILE, "< lavc_stats.txt")) { - close (FILE); - system ("rm lavc_stats.txt"); - } -} - -GetOptions( "help" => \$help, - "abr=i" => \$abr, - "lang=s" =>\$lang, - "cdsize=i" => \$cdsize, - "dvd=i" => \$dvd_track, - "keeptemp" => \$keeptemp, - "shutdown" => \$shutdown, - "out=s" => \$output, - "writecd" => \$writecd, - "writedev=s" => \$writedev, - "speed=i" => \$speed, - "dvd-device=s" => \$dvd_device ); - -if ($help) { - print "Welcome to the DVD to DIVX Helper Script\n"; - print "\n"; - print "this script encodes a DVD track in 3-pass mode to libavcodec's mpeg4\n"; - print "Optionally it writes the resulting MovieFile to a CD-Rom\n"; - print "as well as the corresponding audio track to mp3\n"; - print "Optionally it writes the resulting MovieFile to a CD-Rom\n"; - print "and shuts down the Computer.\n"; - print "If you like, you can watch the mencoder output on /dev/tty8\n"; - print "Usage:\n"; - print "--help show this text\n"; - print "--abr (AudioBitRate) Please enter the desired bitrate\n"; - print " this can be either [96|128|192] kbit/sec.\n"; - print " Default: 128 kbit/sec.\n"; - print "--lang specify the Language of the audio track\n"; - print " this can be for example or \n"; - print " Default: \n"; - print "--dvd specify the DVD Track, you want to encode\n"; - print "--cdsize specify the Size of your CD-ROM\n"; - print " Default: 700MB\n"; - print "--shutdown Shutdown the System, when the encoding process has finished\n"; - print " this will only be possible if you are root\n"; - print "--out Specify the Name of your encoded Movie\n"; - print " The File Extension will be appended automatically\n"; - print "--writecd takes the newly created Movie and writes it to a CD-Rom\n"; - print "--writedev is the usual cdrecord device identifier\n"; - print " for example 0,1,0\n"; - print "--speed the writing speed\n"; - print " Default: 4\n"; - print "--dvd-device device to pull the video off\n"; - print " Default: /dev/dvd\n"; - exit; -} - -delete_tempfiles(); - -# testing user values && set defaults... - -if ($abr == 96){} -elsif ($abr == 128) {} -elsif ($abr == 192) {} -elsif ($abr == 0 ) { - print "No AudioBitRate specified - Setting to Default Value\n"; - $abr = $abr_default; -} -else { -print "AudioBitRate not valid. please choose [96|128|192]\n"; -exit; -} - -if ($lang eq "") { - print "No Language specified - Setting to Default Value\n"; - $lang = $lang_default; -} -else {} - -if ($dvd_track == 0 ) { - print "No DVD Track selected - You must specify one with: --dvd trackno.\n"; - exit; -} - -if ($cdsize == 650) {} -elsif ($cdsize == 700) {} -elsif ($cdsize == 800) {} -elsif ($cdsize == 0 ) { - print "No CD Size Specified - Setting to Default Value\n"; - $cdsize = $cdsize_default; -} - -else { -print "CD Size not valid. please choose [650|700|800]\n"; -exit; -} - -if ($output eq "") { - print "No MovieName given - You must specify one with: --out [movie_name]\n"; - exit; -} -else { - ($name, $extension) = split(/./, $out); - if ($extension eq "avi") { - $vob_tempfile = "$name.vob"; - $avi_filename = "$output"; - } - else { - $vob_tempfile = "$output.vob"; - print "VOB CacheFile set to $vob_tempfile\n"; - $avi_filename = "$output.avi"; - print "Movie Filename set to $avi_filename\n"; - } -} - -if ($shutdown) { - # test who i am - $user = `id -u`; - if ($user == 0) { - print "System will be shut down after Movie encoding\n"; - } - else { - print "Cannot shutdown the system after Movie encoding - you are not 'root'\n"; - exit; - } -} - -if ($writecd) { - if ($writedev == "") { - print "Setting CD Writer Device to Default Value\n"; - $writedev = $writedev_default; - } - if ($speed == 0) { - print "Setting CD Writer Speed to Default value\n"; - $speed = $speed_default; - } - -} - - - -### - -print "Your Settings for this run are:\n"; -print "AudioBitRate: $abr\n"; -print "Language: $lang\n"; -print "DVD-Track: $dvd_track\n"; -print "CD-Rom Size: $cdsize\n"; -print "Movie FIlename: $avi_filename\n"; -if ($writecd) { - print "CD Writer Dev.: $writedev\n"; - print "Writer Speed: $speed\n"; -} - -# here comes the fun part... - -print "precacheing...\n"; -$status = system ("mencoder dvd://$dvd_track -ovc copy -oac copy -dvd-device $dvd_device -alang $lang -o $vob_tempfile 1>/dev/tty8 2>/dev/tty8"); -die "Prechacheing failed. mencoder exited with Status Code $?" unless $status == 0; - -print "Encoding Audio...\n"; -$status = system ("mencoder $vob_tempfile -ovc frameno -oac mp3lame -lameopts br=$abr:cbr:vol=3 -o frameno.avi 1>./audio.stderr 2>/dev/tty8"); -die "Encoding Audio failed. mencoder exited with Status Code $?" unless $status == 0; - -# now we have to find out the recommended bitrate for the Video encoding process... -# my current method to find this out is, hmm, well, *strange* -# but anyway, it works ;-)) - -open(FILE, "< audio.stderr") or die "Unable to open audio.stderr."; -@lines = ; -foreach $line (@lines) { - ($index, $zz) = split(" ", $line); - if ($index eq "Recommended") { - ($a, $b, $c, $d, $size, $f, $bitrate) = split(" ", $line); - if ($cdsize == $size) { - $video_bitrate = $bitrate; - print "Setting Videobitrate to $video_bitrate\n"; - } - } -} -close (FILE); - -print "Encoding Video Stream, 1st pass...\n"; -$status = system ("mencoder $vob_tempfile -ovc lavc -lavcopts vpass=1:vcodec=mpeg4:vbitrate=$video_bitrate:vhq -oac copy -o $avi_filename 1>/dev/tty8 2>/dev/tty8"); -die "Encoding Video Stream failed. mencoder exited with Status Code $?" unless $status == 0; - -print "Encoding Video Stream, 2nd pass...\n"; -$status = system ("mencoder $vob_tempfile -ovc lavc -lavcopts vpass=2:vcodec=mpeg4:vbitrate=$video_bitrate:vhq -oac copy -o $avi_filename 1>/dev/tty8 2>/dev/tty8"); -die "Encoding Video Stream failed. mencoder exited with Status Code $?" unless $status == 0; - -print "finished encoding\n"; - - -if ($writecd) { - print "Now writing CD-Rom\n"; - $status = system("mkisofs -r -J $avi_filename | cdrecord speed=$speed dev=$writedev -data - 2>/dev/tty8 1>/dev/tty8"); - die "Writing CD failed. cdrecord exited with Status Code $?" unless $status == 0; -} -delete_tempfiles(); - -print "Finished - have a nice day ;-)\n"; -if ($shutdown) { - system("halt"); - exit; -} -exit; diff --git a/TOOLS/mencvcd.sh b/TOOLS/mencvcd.sh deleted file mode 100755 index 6e2650f85a..0000000000 --- a/TOOLS/mencvcd.sh +++ /dev/null @@ -1,440 +0,0 @@ -#!/bin/bash -# -# Version: 0.2.2 -# -# Licence: GPL -# -# 2002/09/21 Jürgen Hammelmann -# -# Script: MPlayer Sources (DVD) to (S)VCD ripping and burning -# -# requires: mplayer -# mjpegtools -# vcdimager -# cdrdao -# lame (optionally) -# toolame (optionally) -# sox (optionally) - -for exe in mplayer mpeg2enc mp2enc mplex yuvscaler ; do - if [ -z "`which $exe`" ]; then - echo "ERROR: $exe must be in your path $PATH!" - exit 1 - fi -done -for exe in vcdimager lame cdrdao yuvdenoise sox toolame normalize; do - if [ -z "`which $exe`" ]; then - echo "WARNING: $exe is not found in your path $PATH!" - fi -done - -################################################################################ -# -# 2002/04/11 v0.1.0: first version -# 2002/04/12 v0.1.1: -# 2002/04/14 v0.1.2: -# - handles now multiple vcd's -# - support's mp3 audio as option -# - use of mp2enc/lame instead of toolame because of support -# of resampling and mp3 -# 2002/04/16 v0.1.3: -# - new option "-burnonly" -# - new option "-vbr" -# - removes mpg file after mastering cd image -# (mplayer can read bin images!) -# - bugfixes -# 2002/04/22 v0.1.4 -# - bugfixes / changes -# - more options -# 2002/05/06 v0.1.5 -# - new option "-norm" -# 2002/05/08 v0.1.6 -# - bugfixes -# - new option "-vfr" -# - "-norm" renamed to "-vnorm" -# 2002/05/15 v0.1.7 -# - bugfixes -# - more help -# 2002/05/26 v0.1.8 -# - new option "-sync" -# 2002/06/19 v0.1.9 -# - new option "-mpgonly" -# 2002/09/21 v0.1.10 -# - bug fixes -# - tests now, if the commands are in path and give warnings -# and errors. -# 2002/11/01 v0.2 -# - bug fixes -# - new options: "-sox", "-volume", "-toolame" -# - renamed "-mpg" to "-mpegsrc" -# - default cd size changed to 800mb -# 2002/11/18 v0.2.1 -# - aspect ratio for vcd's, too -# - pulldown mode... -# 2002/12/01 v0.2.2 -# - -normalize -# -################################################################################ -# -# global config section, change them to your needs! - -TMPDIR="." # path to directory for creating temporary files, recommended 2-3GB space - -CDDRV="generic-mmc" # cdrdao: cdwriter driver -CDDEV="--device 0,1,0" # or comment out and create link /dev/cdrecorder - # to your cdwriter dev -CDMAXSIZE=800 - -################################################################################ -AUDIO="audiodump.wav" -VIDEO="stream.yuv" -VCDMODE=2 -SVCDMODE=5 -################################################################################ - -usage() { - echo "Usage: $HOWCALLED [$HOWCALLED options] [mplayer options]" - echo - echo " is used as basename of the resulting mpg/bin files." - echo - echo "For mplayer options see mplayer help and manual." - echo - echo "$HOWCALLED options:" - echo - echo "-?|-h help." - echo "-a sets the aspect ratio (for SVCD):" - echo " 1 - 1:1 display" - echo " 2 - 4:3 display" - echo " 3 - 16:9 display" - echo " 4 - 2.21:1 display" - echo "-abr output audio bitrate in kbs [224]." - echo "-asr output audio sample rate in Hz [44100]." - echo "-blank cleans cd-rw before burning." - echo "-burnonly burn only the premastered *.cue/*.bin images." - echo "-cdsize maximal size of cd images [800 = 80min raw cd]." - echo "-denoise denoises mpeg stream." - echo "-mp3 outputs audio in mp3 instead of mp2 format." - echo "-mpegsrc don't encode from source, multiplex/burn the " - echo " encoded mpg stream." - echo "-mpgonly do only encoding to mpeg 1/2 format." - echo "-noburn disables burning." - echo "-normalize use 'normalize'." - echo "-overburn enables overburning a cd." - echo "-pulldown enable pulldown mode in output." - echo "-ratio output ratio size of frames, see yuvscaler (1)." - echo "-size x sets output size of frames." - echo "-sox use sox for audio resampling." - echo "-svcdout encode to SVCD format [VCD default]." - echo "-sync set the presentation timestamp offset of video" - echo " stream w.r.t. audio stream (video-audio) in mSec." - echo "-toolame use toolame instead of mp2enc." - echo "-v change amplitude (floating point); less than 1.0" - echo " decreases, greater than 1.0 increases. Use that only" - echo " together with sox!" - echo "-vbr output video bitrate in kbs [VCD:1152, SVCD:2500]." - echo "-vfr sets the frame-rate of the output-stream. Currently" - echo " only the standard MPEG rates are supported:" - echo " 0 - illegal" - echo " 1 - 24000.0/1001.0 (NTSC 3:2 pulldown converted FILM)" - echo " 2 - 24.0 (NATIVE FILM)" - echo " 3 - 25.0 (PAL/SECAM VIDEO / converted FILM)" - echo " 4 - 30000.0/1001.0 (NTSC VIDEO)" - echo " 5 - 30.0" - echo " 6 - 50.0 (PAL FIELD RATE)" - echo " 7 - 60000.0/1001.0 (NTSC FIELD RATE)" - echo " 8 - 60.0" - echo "-vnorm sets the input video norm p, n or s:" - echo " forces the input stream to be treated as PAL|NTSC|SECAM" - echo " regardless of what the stream header might suggest." - echo "-w outputs in wide screen format 16:9." - echo - echo "examples:" - echo - echo "'$HOWCALLED teneriffa teneriffa.avi'" - echo "this creates a VCD from an avi file." - echo - echo "'$HOWCALLED crazy dvd://3 -w':" - echo "encodes and burns dvd title 3 to VCD in 16:9." - echo - echo "'$HOWCALLED carter dvd://1 -sid 0 -aid 128 -ss 3:00 -frames 1500 \\" - echo " -noburn -vnorm n -vfr 1':" - echo "this encodes 1500 frames of dvd title 1 with subtitle 0 and audio stream" - echo "128 starting from 3:00 with frame rate 29.97 fps and input video norm NTSC" - echo "and output frame rate 23.98 fps because of the 3:2 pulldown method in NTSC." - echo - echo "'$HOWCALLED bj -size 640x272 -vf expand=640:480:0:104:0 \\" - echo " -cdsize 645 -noburn bj.avi'" - echo "this example above shows you, how to deal with movies which are not" - echo "created with aspect ratios of 4:3 or 16:9." -} - -HOWCALLED=`basename $0` -if [ $# -le 1 ]; then - usage - exit 1 -fi -case $1 in - -*) - usage - exit 1 - ;; - *) - NAME=$1 - shift 1 - ;; -esac - -cd $TMPDIR -rm -f $VIDEO -rm -f $AUDIO -# create a named pipe for video stream -mkfifo -m 660 $VIDEO - -# some inits -sub="" -size="" -aratio="" -ratio="" -params="" -wide="" -blank=0 -burn=1 -burnonly=0 -mp3=0 -mpgonly=0 -mkstream=1 -abr=224 -abrset=0 -asr=44100 -vbr=1152 -vbrset=0 -denoise="cat -" -vnorm="VCD" -mplexnorm="-f $VCDMODE -m 1 -V -b 46" -imaget="-t vcd2" -yuvin="" -framerate="" -sync="" -sox=0 -toolame=0 -volume="1.0" -overburn="" -pd="" -norm=0 - -while [ "$1"x != "x" ]; do - case $1 in - -a) - aratio="-a $2" - shift 1 - ;; - -w) - wide="-M WIDE2STD" - ;; - -h|-?) - usage - exit 0 - ;; - -abr) - abr=$2 - abrset=1 - shift 1 - ;; - -asr) - asr=$2 - shift 1 - ;; - -cdsize) - CDMAXSIZE=$2 - shift 1 - ;; - -blank) - blank=1 - ;; - -noburn) - burn=0 - ;; - -burnonly) - burnonly=1 - burn=1 - ;; - -overburn) - overburn="--overburn" - ;; - -pulldown) - pd="-p" - ;; - -vfr) - framerate="-F $2" - shift 1 - ;; - -mp3) - mp3=1 - ;; - -mpegsrc) - mkstream=0 - ;; - -mpgonly) - mpgonly=1 - ;; - -normalize) - norm=1 - ;; - -vnorm) - yuvin="-n $2" - shift 1 - ;; - -volume) - volume="$2" - shift 1 - ;; - -denoise) - denoise="yuvdenoise" - ;; - -ratio) - ratio=$2 - shift 1 - ;; - -sid) # mplayer option: have to set vf expand, too!!! - sub="-vf pp,expand=-1:-1:-1:-1:1 -sid $2" - shift 1 - ;; - -size) - size=$2 - shift 1 - ;; - -svcdout) - vnorm="SVCD" - ;; - -sync) - sync="-O $2" - shift 1 - ;; - -sox) - sox=1 - ;; - -toolame) - toolame=1 - ;; - -vbr) - vbr=$2 - vbrset=1 - shift 1 - ;; - *) - params="$params $1" - ;; - esac - shift 1 -done - -# some configs -mpegnorm="-f $VCDMODE -b $vbr -B 260 -V 46" -if [ "$vnorm" = "SVCD" ]; then - [ $vbrset -eq 0 ] && vbr=2500 - mplexnorm="-f $SVCDMODE -m 2 -V -b 230" - mpegnorm="-f $SVCDMODE -b $vbr -B 260 -V 230" - imaget="-t svcd" -fi - -# ratio overwrites wide sizing, size overwrites default frame size -[ -n "$ratio" ] && wide="-M $ratio" -[ -n "$size" ] && size="-O SIZE_$size" - -# with mp3 audio set the default audio bitrate to 128 kbs -[ $mp3 -eq 1 -a $abrset -eq 0 ] && abr=128 - -# audio sample rate in kHz -a=$(($a=$asr / 1000)) -b=$(($b=$asr % 1000)) -[ $b -le 9 ] && b="00$b00" -[ $b -le 99 ] && b="0$b00" -kasr="$a.$b" - -# start de-/encoding -if [ $burnonly -eq 0 ]; then - # encode streams - if [ $mkstream -eq 1 ]; then - # start mplayer - command="mplayer -noframedrop -vo yuv4mpeg -ao pcm:waveheader -v -osdlevel 0 $sub $params" - echo "$command" - $command & - - # mjpegtools - ($denoise < $VIDEO | \ - yuvscaler -v 0 $wide -O $vnorm $size $yuvin | \ - mpeg2enc -v 0 -s $mpegnorm $aratio -S $CDMAXSIZE -g 6 -G 15 -r 16 \ - $pd $framerate $yuvin -4 2 -2 1 -o $NAME.mpv) & - - # wait for finishing the subprocesses - wait - - # normalize sound - [ $norm -eq 1 ] && (echo "normalizing sound..."; normalize $AUDIO) - - # do resampling with sox - if [ $sox -ne 0 ]; then - echo "wait, do resampling with sox..." - sox $AUDIO -v $volume -r $asr $NAME.wav resample -qs - mv -f $NAME.wav $AUDIO - fi - - if [ $toolame -ne 0 -a $mp3 -eq 0 ]; then - # do mp2 encoding with toolame - echo "wait, encoding to mp2 audio with toolame..." - toolame -b $abr $AUDIO - mv -f `basename $AUDIO .wav`.mp2 $NAME.mpa - elif [ $toolame -eq 0 -a $mp3 -eq 0 ]; then - # mp2enc/lame can't read audiodump.wav directly from named pipe, - # we have to read the whole file. - echo "wait, encoding to mp2 audio with mp2enc..." - mp2enc -b $abr -r $asr -o $NAME.mpa < $AUDIO - elif [ $mp3 -ne 0 ]; then - echo "wait, encoding to mp3 audio with lame..." - lame -b $abr --resample $kasr - $NAME.mpa < $AUDIO - fi - fi - - # remove wav file, won't need anymore! - rm -f $AUDIO - - # multiplex streams - [ -f $NAME.mpv -a -f $NAME.mpa ] || exit 1 - rm -f ${NAME}*.mpg - mplex $mplexnorm $sync $NAME.mpv $NAME.mpa -o ${NAME}%d.mpg - - # remove pipe, won't need anymore! - rm -f $VIDEO - - # should i create only the mpeg file? - [ $mpgonly -eq 1 ] && exit 0 - - # create cd images - for mpg in ${NAME}*.mpg; do - [ -f $mpg ] || exit 1 - cue="`basename $mpg .mpg`.cue" - bin="`basename $mpg .mpg`.bin" - rm -f $cue $bin - vcdimager $imaget -c $cue -b $bin $mpg - [ -f $bin -a -f $cue ] && rm -f $mpg - done - -# end of streaming/mastering -fi - -# burn the (s)vcd's -[ $burn -eq 0 ] && exit 0 - -for cue in ${NAME}*.cue; do - bin="`basename $cue .cue`.bin" - [ -f $bin -a -f $cue ] || exit 1 - - echo "please insert a cd in your cdwriter, after a keypress we start:" - read -n 1 i - - if [ $blank -eq 1 ]; then - cdrdao blank --reload $CDDEV --driver $CDDRV --blank-mode minimal - fi - cdrdao write $overburn --reload $CDDEV --driver $CDDRV $cue -done -exit 0 diff --git a/TOOLS/qepdvcd.sh b/TOOLS/qepdvcd.sh deleted file mode 100755 index 0cc1e187e5..0000000000 --- a/TOOLS/qepdvcd.sh +++ /dev/null @@ -1,297 +0,0 @@ -#!/bin/bash -# -# QEPDVCD -# -# Most of this stuff comes straight from MPlayer documentation. -# Options are limited only to a small useful subset, if you -# want more control, RTFM and DIY. -# -# Version: 0.1 -# -# Licence: GPL -# -# Author: Reynaldo H. Verdejo Pinochet -# -# Script: MPlayer Sources. Anything supported to vcd/svcd pal/ntsc -# -# requires: mencoder -# -# sugests: vcdimager / cdrecord -# -# Thanks to: Carlos Navarro Salas - name author ;) -# -# - -# Defaults - -MYNAME=`basename $0` -TARGET="svcd" -ENCQ="2" -ABPS="224" -VBPS="2000" -NORM="NTSC" -SPLIT="0" -TOLERANCE="85" -OUTNAME="mencodedvcd" -SUBFILENAME=0 - -EDLFILENAME="pass.edl" -HAVESUB=0 -WORKDIR="." -RATIOX=4 -RATIOY=3 - -OPTIONS="INPUTFILENAME TARGET ENCQ ABPS VBPS NORM SPLIT TOLERANCE OUTNAME" - -usage() -{ -echo "" -echo "usage $MYNAME inputfile [options]" -echo "" -echo "Options: [Default value]" -echo "" -echo "-t Target svcd|vcd [svcd]" -echo "-q Encoding quality 0|1|2 [2]" -echo "-a Audio bitrate in kbps [224]" -echo "-v Video bitrate in kbps [2000 For SVCD, 1150 For VCD]" -echo "-n Norm NTSC|PAL [NTSC]" -echo "-d Divide/split movie at given times time1:time2:... [no split]" -echo "-s Shitty TV screen tolerance %, afects subtitle positioning [85]" -echo "-u Subtitle file name [No subtitle]" -echo "-o Output basename [mencodedvcd]" -echo "" -echo "In case you want to use -a/-v please read:" -echo "http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html" -echo "" -} - -test_needed() -{ - -for i in mencoder; do - if [ -z "`which $i`" ]; then - echo "[ERROR] mencoder not found in $PATH!" - exit 1 - fi -done - -} - -test_sugested() -{ - -for i in vcdimager cdrecord; do - if [ -z "`which $i`" ]; then - echo "[WARNING] $i not found in $PATH!" - echo "You'll likely need it after we finish." - exit 1 - fi -done -} - -test_needed -test_sugested - -if [ $# -lt 1 ]; then - echo "" - echo "[ERROR] Input filename parameter is mandatory." - echo "" - usage - exit 1 -fi - -case $1 in - -*) - usage - exit 1 - ;; - *) - INPUTFILENAME=$1 - shift 1 - ;; -esac - -while [ "$1"x != "x" ]; do - case $1 in - -t) - TARGET=$2 - shift 1 - ;; - -q) - ENCQ=$2 - shift 1 - ;; - -a) - ABPS=$2 - shift 1 - ;; - -v) - VBPS=$2 - shift 1 - ;; - -n) - NORM=$2 - shift 1 - ;; - -d) - SPLIT=$2 - shift 1 - ;; - -s) - TOLERANCE=$2 - shift 1 - ;; - -u) - SUBFILENAME="$2" - HAVESUB=1 - shift 1 - ;; - -o) - OUTNAME=$2 - shift 1 - ;; - esac - shift 1 -done - -echo "" -echo "[STATUS] Will re-encode using the following parameters:" -echo "" -for i in $OPTIONS ; do - echo "$i ${!i}"; -done - -# Parameter Sanity Check ########################################### -# We need to check supplied params against known format constraints -#################################################################### - -if [ $TARGET = "svcd" ]; then - if [ $ABPS -gt 384 ]; then - echo "[ERROR] SVCD maximum abitrate is 384kbps." - exit 1 - fi - if [ $VBPS -gt 2600 ]; then - echo "[ERROR] SVCD maximum vbitrate is 2600kbps." - exit 1 - fi -else [ $TARGET = "vcd" ] - if [ $ABPS -eq 224 ]; then - echo "[ERROR] VCD abitrate must be 224kbps." - exit 1 - fi - if [ $VBPS -gt 1150 ]; then - echo "[ERROR] VCD maximum vbitrate is 1150kbps." - exit 1 - fi -fi - -# Set encoding options ############################################## - -if [ $TARGET = "svcd" ]; then - FORMAT="xsvcd" - VCODEC="mpeg2video" - VRCMINRATE=4 - VRCMAXRATE=2500 - VRCBUFSIZE=917 - if [ $NORM = "NTSC" ]; then - SCALEX=480 - SCALEY=480 - KEYINT=18 - OFPS="24000/1001" - TELECINE=":telecine" - else [ $NORM = "PAL" ] - SCALEX=480 - SCALEY=576 - KEYINT=15 - OFPS=25 - fi -else [ $TARGET = "vcd" ] - FORMAT="xvcd" - VCODEC="mpeg1video" - VRCMINRATE=$VBPS - VRCMAXRATE=$VBPS - VRCBUFSIZE=327 - if [ $NORM = "NTSC" ]; then - SCALEX=352 - SCALEY=240 - KEYINT=18 - OFPS="24000/1001" - else [ $NORM = "PAL" ] - SCALEX=352 - SCALEY=288 - KEYINT=15 - OFPS=25 - fi -fi - -# Start reencoding ################################################### - -cd $WORKDIR - -if [ $(($HAVESUB+1)) -eq 1 ]; then - SUBTITLESTRING="/dev/null" -else - SUBTITLESTRING="$SUBFILENAME" -fi - -if [ $SPLIT = "0" ]; then - CICLES=0 - TIMESTRING="" -else - if [ -e $EDLFILENAME ]; then - echo "[ERROR]" - echo "The -d option needs to generate a temporary file called" - echo "$EDLFILENAME. You already have one in this directory," - echo "please remove/rename it and run $MYNAME again." - echo "" - exit 1 - else - EDLSTRING=$(echo $SPLIT | sed -e s/:/' '/g) - EDLARRAY=($EDLSTRING) - CICLES=$(echo $EDLSTRING | wc -w) - TIMESTRING="-edl $EDLFILENAME -hr-edl-seek" - fi -fi - - -for j in $(seq 0 $CICLES); do - - NEWNAME=$OUTNAME"_PART"$j".mpg" - echo "" - echo "Making $NEWNAME, wish me luck ;-)" - echo "" - -# Create EDLFILENAME ################################################# - - if [ $CICLES -ge 1 ]; then - for i in $(seq 0 $CICLES) - do - if [ $i -eq $j ]; then - if [ $j -ne 0 ]; then - echo "0 ${EDLARRAY[$(($i-1))]} 0" > $EDLFILENAME - fi - if [ $i -ne $CICLES ]; then - echo "${EDLARRAY[$(($i))]} 999999 0" >> $EDLFILENAME - fi - fi - done - fi - -# Mencoder Time ;-) ################################################### - -mencoder \ --ovc lavc -oac lavc -vf expand=:::::$RATIOX/$RATIOY:1,scale=$SCALEX:$SCALEY,harddup \ --srate 44100 -af lavcresample=44100 -lavcopts acodec=mp2:abitrate=$ABPS:vcodec=$VCODEC:\ -vbitrate=$VBPS:keyint=$KEYINT:mbd=$ENCQ:vrc_buf_size=$VRCBUFSIZE:vrc_maxrate=$VRCMAXRATE:\ -vrc_minrate=$VRCMINRATE:vi_qfactor=0.1:vi_qoffset=1.5:aspect=$RATIOX/$RATIOY -of mpeg \ --mpegopts format=$FORMAT$TELECINE -sub $SUBTITLESTRING -subpos $TOLERANCE -subwidth \ -$TOLERANCE -ofps $OFPS $TIMESTRING -o $NEWNAME $INPUTFILENAME - -echo "Encoding of $NEWNAME finished." -echo "Run vcdimager -t svcd/vcd $NEWNAME and burn with cdrecord." - -done - -echo "$(($CICLES+1)) VCD/SVCD file(s) created!!!" -echo "Happy to be of some help ;-) have fun." -exit 0 -- cgit v1.2.3