Mercurial > mplayer.hg
annotate TOOLS/mencvcd @ 5633:b62460b1db74
Updated to support resampling audio and multiple cds.
author | atmos4 |
---|---|
date | Mon, 15 Apr 2002 14:01:07 +0000 |
parents | 772c627c1494 |
children | 00ac1397ecb7 |
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 |