annotate TOOLS/mencvcd @ 5673:1186930949c0

cbr mp3 + wmp fixed (hopefully, untested)
author arpi
date Thu, 18 Apr 2002 14:23:07 +0000
parents b62460b1db74
children 00ac1397ecb7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
1 #!/bin/sh
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
2 #
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
3 # Version: 0.1.2
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
4 #
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
5 # Licence: GPL
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
6 #
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
7 # 2002/04/14 Jürgen Hammelmann <juergen.hammelmann@gmx.de>
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
8 #
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
9 # Script: MPlayer Sources (DVD) to (S)VCD ripping and burning
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
10 #
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
11 # requires: newest mplayer cvs version
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
12 # mjpegtools v1.6 beta
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
13 # vcdimager
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
14 # cdrdao
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
15 # lame
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
16 #
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
17 ################################################################################
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
18 #
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
19 # 2002/04/11 v0.1.0: first version
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
20 # 2002/04/12 v0.1.1:
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
21 # 2002/04/14 v0.1.2:
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
22 # - handles now multiple vcd's
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
23 # - support's mp3 audio as option
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
24 # - use of mp2enc/lame instead of toolame because of support
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
25 # of resampling and mp3
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
26 #
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
27 ################################################################################
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
28 #
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
29 # global config section, change them to your needs!
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
30
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
31 TMPDIR="." # path to directory for creating temporary files, recommended 2-3GB space
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
32
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
33 CDDRV="generic-mmc" # cdrdao: cdwriter driver
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
34 CDDEV="--device 0,1,0" # or comment out and create link /dev/cdrecorder to your cdwriter dev
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
35
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
36
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
37 ################################################################################
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
38 AUDIO="audiodump.wav"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
39 VIDEO="stream.yuv"
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
40 ################################################################################
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
41
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
42 function usage() {
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
43 echo "usage: $HOWCALLED <filename> [options] [mplayer options]"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
44 echo
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
45 echo "$HOWCALLED options:"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
46 echo
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
47 echo "-h|-? help"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
48 echo "-w outputs in wide screen format 16:9"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
49 echo "-abr <n> output audio bitrate in kbs [224]"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
50 echo "-asr <n> output audio sample rate in Hz [48000]"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
51 echo "-blank cleans cd-rw before burning"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
52 echo "-cdsize <n> maximal size of cd images [646]"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
53 echo "-denoise denoises mpeg stream"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
54 echo "-noburn disables burning"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
55 echo "-mp3 outputs audio in mp3 instead of mp2 format"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
56 echo "-mpg don't encode from source, multiplex/burn"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
57 echo " only the encoded mpg stream"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
58 echo "-vcdout encode to VCD format [default]"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
59 echo "-svcdout encode to SVCD format"
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
60 echo
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
61 echo "example:"
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
62 echo "'$HOWCALLED crazy -dvd 3 -w' encodes and burns dvd title 3 to VCD in 16:9."
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
63 }
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
64
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
65 HOWCALLED=`basename $0`
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
66 NAME=$1
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
67 if [ $# -le 1 ]; then
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
68 usage
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
69 exit 1
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
70 fi
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
71 shift 1
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
72
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
73 cd $TMPDIR
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
74 rm -f $VIDEO
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
75 rm -f $AUDIO
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
76 # create a named pipe for video stream
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
77 mkfifo -m 660 $VIDEO
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
78
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
79 # some inits
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
80 params=""
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
81 wide=""
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
82 blank=0
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
83 burn=1
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
84 mp3=0
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
85 mkstream=1
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
86 abr=224
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
87 abrset=0
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
88 asr=44100
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
89 denoise="cat -"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
90 norm="VCD"
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
91 mplexnorm="-f 2 -m 1 -V"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
92 max=646
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
93 mpegnorm="-f 2 -b 1152 -B 260"
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
94 imaget="-t vcd2"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
95 while [ "$1"x != "x" ]; do
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
96 case $1 in
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
97 -w)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
98 wide="-M WIDE2STD"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
99 ;;
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
100 -h|-?)
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
101 usage
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
102 exit 0
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
103 ;;
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
104 -abr)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
105 abr=$2
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
106 abrset=1
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
107 shift 1
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
108 ;;
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
109 -asr)
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
110 asr=$2
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
111 shift 1
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
112 ;;
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
113 -cdsize)
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
114 max=$2
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
115 shift 1
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
116 ;;
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
117 -blank)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
118 blank=1
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
119 ;;
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
120 -noburn)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
121 burn=0
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
122 ;;
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
123 -mp3)
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
124 mp3=1
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
125 ;;
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
126 -mpg)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
127 mkstream=0
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
128 ;;
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
129 -denoise)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
130 denoise="yuvdenoise"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
131 ;;
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
132 -vcdout)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
133 norm="VCD"
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
134 mplexnorm="-f 2 -m 1 -V"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
135 mpegnorm="-f 2 -b 1152 -B 260"
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
136 imaget="-t vcd2"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
137 ;;
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
138 -svcdout)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
139 norm="SVCD"
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
140 mplexnorm="-f 4 -m 2 -V"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
141 mpegnorm="-f 4 -b 2500 -B 260"
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
142 imaget="-t svcd"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
143 ;;
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
144 *)
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
145 params="$params $1"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
146 ;;
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
147 esac
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
148 shift 1
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
149 done
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
150
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
151 # some configs
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
152 if [ -n "$wide" ]; then
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
153 if [ "$norm" == "SVCD" ]; then
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
154 wide=""
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
155 mpegnorm="$mpegnorm -a 3"
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
156 fi
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
157 fi
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
158
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
159 # with mp3 audio set the default audio bitrate to 128 kbs
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
160 if [ $mp3 -eq 1 -a $abrset -eq 0 ]; then
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
161 abr=128
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
162 fi
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
163
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
164 # audio sample rate in kHz
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
165 ((a=$asr / 1000))
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
166 ((b=$asr % 1000))
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
167 [ $b -le 9 ] && b="00$b00"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
168 [ $b -le 99 ] && b="0$b00"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
169 kasr="$a.$b"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
170
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
171 # encode streams
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
172 if [ $mkstream -eq 1 ]; then
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
173 # start mplayer
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
174 mplayer -noframedrop -vo yuv4mpeg -ao pcm -waveheader $params &
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
175
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
176 # mjpegtools
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
177 ($denoise < $VIDEO | \
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
178 yuvscaler -v 0 $wide -O $norm | \
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
179 mpeg2enc -v 0 -s $mpegnorm -S $max -g 6 -G 15 -r 16 -o $NAME.mpv) &
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
180
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
181 # wait for finishing the subprocesses
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
182 wait
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
183
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
184 if [ $mp3 -eq 0 ]; then
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
185 # mp2enc/lame can't read audiodump.wav directly from named pipe,
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
186 # we have to read the whole file.
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
187 mp2enc -b $abr -r $asr -o $NAME.mpa < $AUDIO
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
188 else
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
189 lame -b $abr --resample $kasr - $NAME.mpa < $AUDIO
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
190 fi
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
191 fi
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
192
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
193 # remove pipe and wav file, won't need anymore!
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
194 rm -f $VIDEO
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
195 rm -f $AUDIO
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
196
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
197 # multiplex streams
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
198 [ -f $NAME.mpv -a -f $NAME.mpa ] || exit 1
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
199 rm -f ${NAME}*.mpg
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
200 mplex $mplexnorm $NAME.mpv $NAME.mpa -o ${NAME}%d.mpg
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
201
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
202 # create cd images
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
203 for mpg in ${NAME}*.mpg; do
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
204 [ -f $mpg ] || exit 1
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
205 cue="`basename $mpg .mpg`.cue"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
206 bin="`basename $mpg .mpg`.bin"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
207 rm -f $cue $bin
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
208 vcdimager $imaget -c $cue -b $bin $mpg
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
209 done
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
210
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
211 # burn the (s)vcd's
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
212 [ $burn -eq 0 ] && exit 0
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
213
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
214 for cue in ${NAME}*.cue; do
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
215 bin="`basename $cue .cue`.bin"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
216 [ -f $bin -a -f $cue ] || exit 1
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
217
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
218 echo "please insert a cd in your cdwriter, after a keypress we start:"
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
219 read -n 1 i
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
220
5633
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
221 if [ $blank -eq 1 ]; then
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
222 cdrdao blank --reload $CDDEV --driver $CDDRV --blank-mode minimal
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
223 fi
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
224 cdrdao write --reload $CDDEV --driver $CDDRV $cue
b62460b1db74 Updated to support resampling audio and multiple cds.
atmos4
parents: 5568
diff changeset
225 done
5568
772c627c1494 anything to (S)VCD encode script by Juergen Hammelmann <juergen.hammelmann at gmx.de>
atmos4
parents:
diff changeset
226 exit 0