USAGE
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:18k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. % lame [options] inputfile [outputfile]
  2. =======================================================================
  3. Examples:
  4. =======================================================================
  5. fixed bit rate jstereo 128kbs encoding:
  6. % lame sample.wav  sample.mp3      
  7. fixed bit rate jstereo 128kbs encoding, highest quality:  (recommended)
  8. % lame -h sample.wav  sample.mp3      
  9. To disable joint stereo encoding (slightly faster, but less quality at bitrates<=128kbs)
  10. % lame -m s sample.wav  sample.mp3     
  11. Fast encode, low quality  (no psycho-acoustics)
  12. % lame -f sample.wav  sample.mp3     
  13. Variable Bitrate (VBR): (use -V n to adjust quality/filesize)
  14. % lame -h -v sample.wav sample.mp3
  15. Note: VBR is currently under heavy development.  Right now it can
  16. often result in too much compression.  I would recommend using VBR
  17. with a minimum bitrate of 112kbs.  This will let LAME increase
  18. the bitrate for difficult-to-encode frames, but prevent LAME from
  19. being too aggressive for simple frames:
  20. % lame -h -v -b 112  sample.wav sample.mp3
  21. =======================================================================
  22. LOW BITRATES
  23. =======================================================================
  24. At lower bitrates, (like 24kbs per channel), it is recommended that
  25. you use a 16kHz sampling rate combined with lowpass filtering.  LAME,
  26. as well as commercial encoders (FhG, Xing) will do this automatically.
  27. However, if you feel there is too much (or not enough) lowpass
  28. filtering, you may need to try different values of the lowpass cutoff
  29. and passband width (--lowpass and --lowpass-width options).
  30. =======================================================================
  31. STREAMING EXAMPLES
  32. =======================================================================
  33. Streaming mono 22.05kHz raw pcm, 24kbs output:
  34. % cat inputfile | lame -r -m m -b 24 -s 22.05 - - > output
  35. Streaming mono 22.05kHz raw pcm, with downsampling to 16kHz:
  36. % cat inputfile | sox -t raw -x -w -s -c 1 -r 22050 -  -t raw -x -w -s -c 1 -r 16000 - resample 0.66 | lame -r -m m -b 24 -s 16 - - > output
  37. You may or may not need one or both of the "-x" (swap bytes) option in Sox.  
  38. =======================================================================
  39. For more options, just type:
  40. % lame --help
  41. Scripts are included to run lame on multiple files:
  42. bach script:  mlame     Run "mlame -h" for instructions.
  43. sh script:    auenc     Run auenc for instructions
  44. =======================================================================
  45. options guide:
  46. =======================================================================
  47. These options are explained in detail below.
  48. Quality related:
  49. -m m/s/j/f     mode selection
  50. -k             disable all filtering
  51. -d             allow block types to differ between channels
  52. --athonly      ignore psy-model output, only use masking from the ATH
  53. --voice        experimental voice encoding mode
  54. --noshort      disable short blocks
  55. Constant Bit Rate (CBR)
  56. -b  n          set bitrate (8,16,24,...,320)
  57. -h             higher quality but slower
  58. -f             disable psycho-acoustics.  Encoding much faster but lower quality
  59. Variable Bit Rate (VBR)
  60. -v             VBR
  61. -V n           VBR quality setting  (0=highest quality, 9=lowest)
  62. -b  n          specify a minimum allowed bitrate (8,16,24,...,320)
  63. -B  n          specify a maximum allowed bitrate (8,16,24,...,320)
  64. -t             disable Xing VBR informational tag 
  65. --nohist       disable display of VBR bitrate histogram
  66. Experimental (undocumented):  may work better or worse:
  67. -X n           try different quality measures (when comparing quantizations)
  68. -Y             try to use scalefac_select 
  69. -Z             try to use subblock_gain
  70. Operational:
  71. -r             assume input file is raw PCM
  72. -s  n          input sampling frequency in kHz (for raw PCM input files)
  73. --resample n   output sampling frequency
  74. --mp3input     input file is an MP3 file.  decode using mpglib/mpg123
  75. -x             swap bytes of input file
  76. -a             downmix stereo input file to mono .mp3
  77. -e  n/5/c      de-emphasis
  78. -p             add CRC error protection
  79. -c             mark the encoded file as copyrighted
  80. -o             mark the encoded file as a copy
  81. -S             don't print progress report, VBR histogram
  82. -g             run MP3x, the graphical frame analyzer
  83. id3 tagging:
  84. --tt "title"     title of song (max 30 chars)
  85. --ta "artist"    artist who did the song (max 30 chars)
  86. --tl "album"     album where it came from (max 30 chars)
  87. --ty "year"      year in which the song/album was made (max 4 chars)
  88. --tc "comment"   additional info (max 30 chars)
  89. --tg "genre"     genre of song (name or number)
  90. options not yet described:
  91. --nores            disable bit reservoir
  92. --noath            disable ATH
  93. --cwlimit <freq>   specify range of tonality calculation
  94. --lowpass
  95. --lowpass-width
  96. --highpass
  97. --highpass-width
  98. =======================================================================
  99. Detailed description of all options in alphabetical order
  100. =======================================================================
  101. =======================================================================
  102. downmix
  103. =======================================================================
  104. -a  
  105. mix the stereo input file to mono and encode as mono.  
  106. This option is only needed in the case of raw PCM stereo input 
  107. (because LAME cannot determine the number of channels in the input file).
  108. To encode a stereo PCM input file as mono, use "lame -m s -a"
  109. For WAV and AIFF input files, using "-m m" will always produce a
  110. mono .mp3 file from both mono and stereo input.
  111. =======================================================================
  112. ATH only
  113. =======================================================================
  114. --athonly
  115. This option causes LAME to ignore the output of the psy-model and
  116. only use masking from the ATH.  Might be useful at very high bitrates
  117. or for testing the ATH.  
  118. =======================================================================
  119. bitrate
  120. =======================================================================
  121. -b  n
  122. For MPEG1 (sampling frequencies of 32, 44.1 and 48kHz)
  123. n =   32,40,48,56,64,80,96,112,128,160,192,224,256,320
  124. For MPEG2 (sampling frequencies of 16, 22.05 and 24kHz)
  125. n = 8,16,24,32,40,48,56,64,80,96,112,128,144,160
  126. The bitrate to be used.  Default is 128kbs MPEG1, 80kbs MPEG2.
  127. When used with variable bitrate encodings (VBR), -b specifies the
  128. minimum bitrate to use.  This is useful to prevent LAME VBR from
  129. using some very aggressive compression which can cause some distortion
  130. due to small flaws in the psycho-acoustic model.
  131. =======================================================================
  132. max bitrate
  133. =======================================================================
  134. -B  n
  135. For MPEG1 (sampling frequencies of 32, 44.1 and 48kHz)
  136. n =   32,40,48,56,64,80,96,112,128,160,192,224,256,320
  137. For MPEG2 (sampling frequencies of 16, 22.05 and 24kHz)
  138. n = 8,16,24,32,40,48,56,64,80,96,112,128,144,160
  139. Maximum allowed bitrate when using VBR.
  140. =======================================================================
  141. copyright
  142. =======================================================================
  143. -c   
  144. mark the encoded file as copyrighted
  145. =======================================================================
  146. block type control
  147. =======================================================================
  148. -d 
  149. Allows the left and right channels to use different block types.
  150. Normally this is not allowed, only because the FhG encoder does
  151. not seem to allow it either.  If anyone finds a sample where -d
  152. produces better results, let me know.  (mt@sulaco.org)
  153. =======================================================================
  154. de-emphasis
  155. =======================================================================
  156. -e  n/5/c   
  157.   n = (none, default)
  158.   5 = 0/15 microseconds
  159.   c = citt j.17
  160. All this does is set a flag in the bitstream.  If you have a PCM
  161. input file where one of the above types of (obsolete) emphasis has
  162. been applied, you can set this flag in LAME.  Then the mp3 decoder
  163. should de-emphasize the output during playback, although most 
  164. decoders ignore this flag.
  165. A better solution would be to apply the de-emphasis with a standalone
  166. utility before encoding, and then encode without -e.  
  167. =======================================================================
  168. fast mode
  169. =======================================================================
  170. -f   
  171. disable psycho-acoustics.  Encoding much faster but lower quality
  172. =======================================================================
  173. graphical frame analyzer
  174. =======================================================================
  175. -g
  176. run MP3x, the graphical frame analyzer analysis on the inputfile.  The
  177. inputfile can be either an .mp3 file or uncompressed audio file.  MP3x
  178. support must be compiled into LAME, and requires GTK 1.2.
  179. Documentation is under the About pull down menu.
  180. =======================================================================
  181. high quality
  182. =======================================================================
  183. -h
  184. use (maybe) some quality improvements
  185. LAME 3.21 and up:  -h enables specialized mid/side masking thresholds to
  186. be used in jstereo mode.  Will sound better in jstereo mode
  187. but is 20% slower.  No effect for mono files.
  188. LAME 3.58beta and up: -h also enables a more accurate but slightly
  189. slower quantization formula.  
  190. =======================================================================
  191. sfb=21 cutoff
  192. =======================================================================
  193. -k   
  194. keep all frequencies.  (Disable all filters)
  195. Without -k, LAME will automatically apply various types of lowpass
  196. filters.  This is because the high frequency coefficients can take up
  197. a lot of bits that would be better used for lower, more important
  198. frequencies.
  199. =======================================================================
  200. Modes:
  201. =======================================================================
  202. -m m           mono.  
  203. -m s           stereo
  204. -m j           jstereo
  205. -m f           forced mid/side stereo
  206. mono is the default mode for mono input files.  If "-m m" is specified
  207. for a stereo input file, the two channels will be averaged into a mono
  208. signal.  
  209. jstereo is the default mode for stereo files with fixed bitrates of
  210. 128kbs or less.  At higher fixed bitrates, the default is stereo.
  211. For VBR encoding, jstereo is the default for VBR_q >4, and stereo
  212. is the default for VBR_q <=4.  You can override all of these defaults
  213. by specifing the mode on the command line.  
  214. jstereo means the encoder can use (on a frame by frame bases) either
  215. regular stereo (just encode left and right channels independently)
  216. or mid/side stereo.  In mid/side stereo, the mid (L+R) and side (L-R)
  217. channels are encoded, and more bits are allocated to the mid channel
  218. than the side channel.  This will effectively increase the bandwidth
  219. if the signal does not have too much stereo separation.  
  220. Mid/side stereo is basically a trick to increase bandwidth.  At 128kbs,
  221. it is clearly worth while.  At higher bitrates it is less usefull.  
  222. Using mid/side stereo inappropriately can result in audible
  223. compression artifacts.  To much switching between mid/side and regular
  224. stereo can also sound bad.  To determine when to switch to mid/side
  225. stereo, LAME uses a much more sophisticated algorithm than that
  226. described in the ISO documentation.
  227. -m f forces all frames to be encoded mid/side stereo.  It 
  228. should only be used if you are sure every frame of the input file
  229. has very little stereo seperation.  
  230. =======================================================================
  231. MP3 input file
  232. =======================================================================
  233. --mp3input
  234. Assume the input file is a MP3 file.  Usefull for downsampling from
  235. one mp3 to another.  If the filename ends in ".mp3" LAME will assume
  236. it is an MP3.  For stdin or MP3 files which dont end in .mp3 you need
  237. to use this switch.
  238. =======================================================================
  239. disable historgram display
  240. =======================================================================
  241. --nohist
  242. By default, LAME will display a bitrate histogram while producing
  243. VBR mp3 files.  This will disable that feature.
  244. =======================================================================
  245. disable short blocks
  246. =======================================================================
  247. --noshort
  248. Encode all frames using long blocks.
  249. =======================================================================
  250. non-original
  251. =======================================================================
  252. -o   
  253. mark the encoded file as a copy
  254. =======================================================================
  255. CRC error protection
  256. =======================================================================
  257. -p  
  258. turn on CRC error protection.  
  259. Yes this really does work correctly in LAME.  However, it takes 
  260. 16 bits per frame that would otherwise be used for encoding.
  261. =======================================================================
  262. input file is raw pcm
  263. =======================================================================
  264. -r  
  265. Assume the input file is raw pcm.  Sampling rate and mono/stereo/jstereo
  266. must be specified on the command line.  Without -r, LAME will perform
  267. several fseek()'s on the input file looking for WAV and AIFF headers.
  268. Not supported if LAME is compiled to use LIBSNDFILE.
  269. =======================================================================
  270. output sampling frequency in kHZ
  271. =======================================================================
  272. --resample  n
  273. where n = 16, 22.05, 24, 32, 44.1, 48
  274. Output sampling frequency.  Resample the input if necessary.  
  275. If not specified, LAME may sometimes resample automatically 
  276. when faced with extreme compression conditions (like encoding
  277. a 44.1khz input file at 16kbs).  
  278. =======================================================================
  279. sampling frequency in kHZ
  280. =======================================================================
  281. -s  n
  282. where n = sampling rate in kHz.
  283. Required for raw PCM input files.  Otherwise it will be determined
  284. from the header information in the input file.
  285. LAME will automatically resample the input file to one of the
  286. supported MP3 samplerates if necessary.
  287. =======================================================================
  288. silent operation
  289. =======================================================================
  290. -S
  291. don't print progress report
  292. =======================================================================
  293. disable Xing VBR tag
  294. =======================================================================
  295. -t              
  296. Disable writing of the Xing VBR Tag (only valid if -v flag is
  297. specified) This tag in embedded in frame 0 of the MP3 file.  It lets
  298. VBR aware players correctly seek and compute playing times of VBR
  299. files.
  300. =======================================================================
  301. variable bit rate  (VBR)
  302. =======================================================================
  303. -v
  304. Turn on VBR.  There are several ways you can use VBR.  I personally
  305. like using VBR to get files slightly bigger than 128kbs files, where
  306. the extra bits are used for the occasional difficult-to-encode frame.
  307. For this, try specifying a minimum bitrate to use with VBR:
  308. lame -v -b 112  input.wav output.mp3
  309. If the file is too big, use -V n, where n=0..9
  310. lame -v -V n   -b 112  input.wav output.mp3
  311. If you wan to use VBR to get the maximum compression possible,
  312. and for this, you can try:  
  313. lame -v  input.wav output.mp3
  314. lame -v -V n input.wav output.mp3         (to very quality/filesize)
  315. =======================================================================
  316. VBR quality setting
  317. =======================================================================
  318. -V n       
  319. n=0..9.  Specifies the value of VBR_q.  default=4.  0=highest quality.
  320. How is VBR_q used?
  321. OVER = number of scalefactor bands with distortion that exceeds the
  322. allowed distortion given by the masking thresholds.  OVER is computed
  323. by outer_loop, and the masking thresholds are computed by the
  324. psycho-acoustic model. 
  325. VBR_q = the minimum value of OVER which is to be allowed.
  326. LAME will choose the smallest bitrate for which OVER <= VBR_q.  
  327. (a minimum allowed bitrate can be set with -b.  default=64kbs)
  328. If the frame contains short blocks, then the minimum bitrate is made
  329. much larger since the OVER does not adequately measure distortion
  330. caused by pre-echo.  LAME uses bitrates of at least 160kbs for short
  331. blocks to make sure they sound good.
  332. *NOTE* No psy-model is perfect, so there can often be distortion which
  333. is audible even though the psy-model claims it is not!  Thus using a
  334. small minimum bitrate can result in some aggressive compression and
  335. audible distortion even with -V 0.  Thus using -V 0 does not sound
  336. better than a fixed 256kbs encoding.  For example: suppose in the 1kHz
  337. frequency band the psy-model claims 20db of distortion will not be
  338. detectable by the human ear, so LAME VBR-0 will compress that
  339. frequency band as much as possible and introduce at most 20db of
  340. distortion.  Using a fixed 256kbit framesize, LAME could end up
  341. introducing only 2db of distortion.  If the psy-model was correct,
  342. they will both sound the same.  If the psy-model was wrong, the VBR-0
  343. result can sound worse.
  344. =======================================================================
  345. voice encoding mode
  346. =======================================================================
  347. --voice
  348. An experimental voice encoding mode.  Tuned for 44.1kHz input files.
  349. =======================================================================
  350. swapbytes   
  351. =======================================================================
  352. -x
  353. swap bytes in the input file.  for sorting out little endian/big endian
  354. type problems.  If your encodings sound like static, try this first.