테스트용으로
channel  / samping rate / bitrate  등을 변경하기 위한 방법

#!/bin/sh

# CBR - channel / bitrate / resample
# VBR - channel / quality / resample

# bitrate - CBR
# MPEG1 - 320 256 224 192 160 128 118 96 80 64 56 48 40 32
# MPEG2 - 160 144 128 112 96 80 64 56 48 40 32 24 16 8

# bitrate - VBR
# 9 8 7 6 5 4 3 2 1 0

# sampling
# mpeg1-3 48 44.1 32
# mpeg2-3 24 22.05 16
# mpeg2.5-3 12 11.025 8

for rate in 48 44.1 32
do
        for bps in 320 256 224 192 160 128 118 96 80 64 56 48 40 32
        do
                lame -b ${bps} -m s --resample ${rate} $1 C${bps}bps_${rate}KH_2ch.mp3
                lame -b ${bps} -m m --resample ${rate} $1 C${bps}bps_${rate}KH_1ch.mp3
        done
done

for rate in 48 44.1 32
do
        for bps in 9 8 7 6 5 4 3 2 1 0
        do
                lame -V ${bps} -m s --resample ${rate} $1 V${bps}bps_${rate}KH_2ch.mp3
                lame -V ${bps} -m m --resample ${rate} $1 V${bps}bps_${rate}KH_1ch.mp3
        done
done 

위와 같이 변경하니. 320kbps가 
---
mp3가 mpeg1 layer3인데.
mpeg2 layer3 와
mpeg2.5 layer3는 도무지 뭔지 ㅠㅠ

       -m mode
              mode = s, j, f, d, m

              Joint-stereo is the default mode for stereo files with VBR  when  -V  is  more  than  4  or  fixed
              bitrates  of  160kbs  or  less.   At  higher fixed bitrates or higher VBR settings, the default is
              stereo.

              (s)imple stereo
              In this mode, the encoder makes no use of potentially existing correlations between the two  input
              channels.   It  can, however, negotiate the bit demand between both channel, i.e. give one channel
              more bits if the other contains silence or needs less bits because of a lower complexity.

              (j)oint stereo
              In this mode, the encoder will make use of a correlation between both channels.  The  signal  will
              be  matrixed into a sum ("mid"), computed by L+R, and difference ("side") signal, computed by L-R,
              and more bits are allocated to the mid channel.  This will effectively increase the  bandwidth  if
              the  signal  does  not have too much stereo separation, thus giving a significant gain in encoding
              quality.

              Using mid/side stereo inappropriately can  result  in  audible  compression  artifacts.   To  much
              switching  between mid/side and regular stereo can also sound bad.  To determine when to switch to
              mid/side stereo, LAME uses a much more sophisticated algorithm than that described in the ISO doc‐
              umentation, and thus is safe to use in joint stereo mode.

              (f)orced MS stereo
              This  mode  will  force  MS stereo on all frames.  It is slightly faster than joint stereo, but it
              should be used only if you are sure that every frame of the input file has very little stereo sep‐
              aration.

              (d)ual mono
              In  this  mode,  the  2  channels  will  be totally independently encoded.  Each channel will have
              exactly half of the bitrate.  This mode is designed for applications like dual languages  encoding
              (for example: English in one channel and French in the other).  Using this encoding mode for regu‐
              lar stereo files will result in a lower quality encoding.

              (m)ono
              The input will be encoded as a mono signal.  If it was a stereo signal, it will be downsampled  to
              mono.  The downmix is calculated as the sum of the left and right channel, attenuated by 6 dB. 

       --resample sfreq
              sfreq = 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48
              Select output sampling frequency (only supported for encoding).
              If not specified, LAME will automatically resample the input when using high compression ratios. 

       CBR (constant bitrate, the default) options:

       -b n   For MPEG1 (sampling frequencies of 32, 44.1 and 48 kHz)
              n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320

              For MPEG2 (sampling frequencies of 16, 22.05 and 24 kHz)
              n = 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160

              Default is 128 for MPEG1 and 64 for MPEG2.

       --cbr  enforce use of constant bitrate

       ABR (average bitrate) options:

       --abr n
              Turns  on encoding with a targeted average bitrate of n kbits, allowing to use frames of different
              sizes.  The allowed range of n is 8 - 310, you can use any integer value within that range.

              It can be combined with the -b and -B switches like: lame --abr 123 -b 64 -B 192 a.wav a.mp3 which
              would limit the allowed frame sizes between 64 and 192 kbits.

              The  use  of  -B  is NOT RECOMMENDED.  A 128 kbps CBR bitstream, because of the bit reservoir, can
              actually have frames which use as many bits as a 320 kbps frame.  VBR modes minimize  the  use  of
              the  bit  reservoir,  and  thus  need  to allow 320 kbps frames to get the same flexibility as CBR
              streams.

       VBR (variable bitrate) options:

       -v     use variable bitrate (--vbr-old)

       --vbr-old
              Invokes the oldest, most tested VBR algorithm.  It produces very good quality files, though is not
              very fast.  This has, up through v3.89, been considered the "workhorse" VBR algorithm.

       --vbr-new
              Invokes the newest VBR algorithm.  During the development of version 3.90, considerable tuning was
              done on this algorithm, and it is now considered to be on par with the original --vbr-old.  It has
              the added advantage of being very fast (over twice as fast as --vbr-old).

       -V n   0 <= n <= 9
              Enable  VBR  (Variable BitRate) and specifies the value of VBR quality (default = 4).  0 = highest
              quality.

[링크 : http://tuxtweaks.com/2008/08/how-to-resample-mp3-audio-files-on-linux-using-lame/

'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

ffmpeg armv5te performance  (0) 2014.09.26
ffmpeg armv5te 옵션  (0) 2014.09.25
ubuntu에서 ffmpeg 컴파일하기  (0) 2010.01.14
ffserver.conf 때려잡기  (0) 2009.11.24
ffserver의 상태페이지 (stat.html)  (0) 2009.11.05
Posted by 구차니