2016-10-20 20:17:45来源:CSDN作者:HQC17人点击





afconvert [option…] input_file [output_file]

    Options may appear before or after the direct arguments. If output_file

    is not specified, a name is generated programmatically and the file

    is written into the same directory as input_file.

afconvert input_file [-o output_file [option…]]…

    Output file options apply to the previous output_file. Other options

    may appear anywhere.

General options:

    { -d | –data } data_format[@sample_rate][/format_flags][#frames_per_packet]

        [-][BE|LE]{F|[U]I}{8|16|24|32|64}          (PCM)

            e.g.   BEI16   [email protected]

        or a data format appropriate to file format (see -hf)

        format_flags: hex digits, e.g. ‘80’

        Frames per packet can be specified for some encoders, e.g.: samr#12

        A format of “0” specifies the same format as the source file,

            with packets copied exactly.

        A format of “N” specifies the destination format should be the

            native format of the lossless encoded source file (alac, FLAC only)

    { -c | –channels } number_of_channels

        add/remove channels without regard to order

    { -l | –channellayout } layout_tag

        layout_tag: name of a constant from CoreAudioTypes.h

          (prefix “kAudioChannelLayoutTag_” may be omitted)

        if specified once, applies to output file; if twice, the first

          applies to the input file, the second to the output file

    { -b | –bitrate } total_bit_rate_bps

         e.g. 256000 will give you roughly:

             for stereo source: 128000 bits per channel

             for 5.1 source: 51000 bits per channel

                 (the .1 channel consumes few bits and can be discounted in the

                 total bit rate calculation)

    { -q | –quality } codec_quality

        codec_quality: 0-127

    { -r | –src-quality } src_quality

        src_quality (sample rate converter quality): 0-127 (default is 127)

    { –src-complexity } src_complexity

        src_complexity (sample rate converter complexity): line, norm, bats

    { -s | –strategy } strategy

        bitrate allocation strategy for encoding an audio track

        0 for CBR, 1 for ABR, 2 for VBR_constrained, 3 for VBR

    –prime-method method

        decode priming method (see AudioConverter.h)

    –prime-override samples_prime samples_remain

        can be used to override the priming information stored in the source

        file to the specified values. If -1 is specified for either, the value

        in the file is used.


        don’t page-align audio data in the output file


        analyze audio, add SoundCheck data to the output file

    –media-kind “media kind string”

        media kinds are: “Audio Ad”, “Video Ad” 


        set a single precision floating point value to

        indicate the anchor loudness of the content in dB


        generate an SHA-1 hash of the input audio data and add it to the output file.

    –codec-manuf codec_manuf

        specify the codec with the specified 4-character component manufacturer


    –dither algorithm

        algorithm: 1-2


        enable channel downmixing

    { -u | –userproperty } property value

        set an arbitrary AudioConverter property to a given value

        property is a four-character code; value can be a signed

        32-bit integer or a single precision floating point value.

        e.g. ‘-u vbrq ’ sets the sound quality level

             (: 0-127)

        May not be used in a transcoding situation.

    -ud property value

        identical to -u except only applies to a decoder. Fails if there is no


    -ue property value

        identical to -u except only applies to an encoder. Fails if there is no


Input file options:

    –read-track track_index

        For input files containing multiple tracks, the index (0..n-1)

        of the track to read and convert.

    –offset number_of_frames

        the starting offset in the input file in frames. (The first frame is

        frame zero.)


         read SoundCheck data from source file and set it on any destination

         file(s) of appropriate filetype (.m4a, .caf).


         copy an SHA-1 hash chunk, if present, from the source file to the output file.

    –gapless-before filename

        file coming before the current input file of a gapless album

    –gapless-after filename

        file coming after the current input file of a gapless album

Output file options:

    -o filename

        specify an (additional) output file.

    { -f | –file } file_format

        use -hf for a complete list of supported file/data formats

    –condensed-framing field_size_in_bits

        specify storage size in bits for externally framed packet sizes.

        Supported value is 16 for aac in m4a file format.

Other options:

    { -v | –verbose }

        print progress verbosely

    { -t | –tag }

        If encoding to CAF, store the source file’s format and name in a user

        chunk. If decoding from CAF, use the destination format and filename

        found in a user chunk.

    { –leaks }

        run leaks at the end of the conversion

    { –profile }

        collect and print performance information

关于file format(也就是支持转换的格式):

Audio file and data formats:

    ‘3gpp’ = 3GP Audio (.3gp)

               data_formats: ‘Qclp’ ‘aac ’ ‘aace’ ‘aacf’ ‘aach’ ‘aacl’ 

                             ‘aacp’ ‘samr’ 

    ‘3gp2’ = 3GPP-2 Audio (.3g2)

               data_formats: ‘Qclp’ ‘aac ’ ‘aace’ ‘aacf’ ‘aach’ ‘aacl’ 

                             ‘aacp’ ‘samr’ 

    ‘adts’ = AAC ADTS (.aac, .adts)

               data_formats: ‘aac ’ ‘aach’ ‘aacp’ 

    ‘ac-3’ = AC3 (.ac3)

               data_formats: ‘ac-3’ 

    ‘AIFC’ = AIFC (.aifc, .aiff, .aif)

               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 UI8 ‘ulaw’ 

                             ‘alaw’ ‘MAC3’ ‘MAC6’ ‘ima4’ ‘QDMC’ ‘QDM2’ 

                             ‘Qclp’ ‘agsm’ 

    ‘AIFF’ = AIFF (.aiff, .aif)

               data_formats: I8 BEI16 BEI24 BEI32 

    ‘amrf’ = AMR (.amr)

               data_formats: ‘samr’ ‘sawb’ 

    ‘m4af’ = Apple MPEG-4 Audio (.m4a, .m4r)

               data_formats: ‘aac ’ ‘aace’ ‘aacf’ ‘aach’ ‘aacl’ ‘aacp’ 

                             ‘ac-3’ ‘alac’ ‘ec-3’ ‘paac’ ‘pac3’ ‘qec3’ 


    ‘m4bf’ = Apple MPEG-4 AudioBooks (.m4b)

               data_formats: ‘aac ’ ‘aace’ ‘aacf’ ‘aach’ ‘aacl’ ‘aacp’ 


    ‘caff’ = CAF (.caf)

               data_formats: ‘.mp1’ ‘.mp2’ ‘.mp3’ ‘QDM2’ ‘QDMC’ ‘Qclp’ 

                             ‘Qclq’ ‘aac ’ ‘aace’ ‘aacf’ ‘aach’ ‘aacl’ 

                             ‘aacp’ ‘ac-3’ ‘alac’ ‘alaw’ ‘dvi8’ ‘ec-3’ 

                             ‘ilbc’ ‘ima4’ I8 BEI16 BEI24 BEI32 BEF32 

                             BEF64 LEI16 LEI24 LEI32 LEF32 LEF64 ‘ms/x00/x02’ 

                             ‘ms/x00/x11’ ‘ms/x001’ ‘paac’ ‘pac3’ ‘pec3’ 

                             ‘qaac’ ‘qac3’ ‘qach’ ‘qacp’ ‘qec3’ ‘samr’ 

                             ‘ulaw’ ‘zaac’ ‘zac3’ ‘zach’ ‘zacp’ ‘zec3’ 

    ‘ec-3’ = EC3 (.ec3)

               data_formats: ‘ec-3’ 

    ‘MPG1’ = MPEG Layer 1 (.mp1, .mpeg, .mpa)

               data_formats: ‘.mp1’ 

    ‘MPG2’ = MPEG Layer 2 (.mp2, .mpeg, .mpa)

               data_formats: ‘.mp2’ 

    ‘MPG3’ = MPEG Layer 3 (.mp3, .mpeg, .mpa)

               data_formats: ‘.mp3’ 

    ‘mp4f’ = MPEG-4 Audio (.mp4)

               data_formats: ‘aac ’ ‘aace’ ‘aacf’ ‘aach’ ‘aacl’ ‘aacp’ 

                             ‘ac-3’ ‘ec-3’ ‘qec3’ ‘zec3’ 

    ‘NeXT’ = NeXT/Sun (.snd, .au)

               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 ‘ulaw’ 

    ‘Sd2f’ = Sound Designer II (.sd2)

               data_formats: I8 BEI16 BEI24 BEI32 

    ‘WAVE’ = WAVE (.wav)

               data_formats: UI8 LEI16 LEI24 LEI32 LEF32 LEF64 ‘ulaw’ 



-f指的是file format,也就是需要转换的目标格式,参考上述说明,caf文件的命令是-f caff

-d指的是data format,是数据格式的意思,对照上述说明,caf支持的数据格式很多,为了节省空间,我们使用“I8”,也就是-d I8,理解这些参数的含义需要一定的音乐知识背景,这里不赘述。



afconvert -f caff -d [email protected] “/Users/test/Desktop/music.mp3”