文档章节

MacOS中afconvert的使用(音频格式转换)

坐着游戏的火箭
 坐着游戏的火箭
发布于 2016/10/20 16:48
字数 1403
阅读 135
收藏 0

MacOS的强大一方面也在于其继承了众多实用工具,比如今天介绍的这个afconvert。

位置:/usr/bin/afconvert

用法:需要使用命令行操作,在终端cd到bin下即可使用

参数说明:

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   F32@44100

        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.

    --no-filler

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

    --soundcheck-generate

        analyze audio, add SoundCheck data to the output file

    --media-kind "media kind string"

        media kinds are: "Audio Ad", "Video Ad" 

    --anchor-loudness

        set a single precision floating point value to

        indicate the anchor loudness of the content in dB

    --generate-hash

        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

        code

    --dither algorithm

        algorithm: 1-2

    --mix

        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 <sound_quality>' sets the sound quality level

             (<sound_quality>: 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

        decoder.

    -ue property value

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

        encoder.

 

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.)

    --soundcheck-read

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

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

    --copy-hash

         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' 

                             'zec3' 

    'm4bf' = Apple MPEG-4 AudioBooks (.m4b)

               data_formats: 'aac ' 'aace' 'aacf' 'aach' 'aacl' 'aacp' 

                             'paac' 

    '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' 

                             'alaw' 

以上介绍内容均来自help,这么多的参数该如何使用?对于一般人来说,只需要转换音乐,比如我们项目上需要将背景音乐转换成*.caf的格式,那么我们只需关心-f和-d两个参数。

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

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

关于输出路径,如果不用-o制指定,则默认和输入文件在同一个目录,以下举例:

假设用户桌面上有音频文件music.mp3,路径为/Users/test/Desktop/music.mp3,需要转换成caf格式,采样32,速率44100,输出路径相同,则可以在终端输入:

afconvert -f caff -d LEI32@44100 "/Users/test/Desktop/music.mp3"

这样输出的就是按要求的音频文件了,很简单,也很方便。关于其他的参数,需要专业的音乐制作使用,一般不去动,不然不知道具体用处的话会对输出造成一定影响。如有问题,可留言探讨。

© 著作权归作者所有

坐着游戏的火箭
粉丝 3
博文 25
码字总数 16651
作品 0
成都
程序员
私信 提问
Mac OS 下使用 afconvert 命令,处理音频格式转换

在上一篇《Mac OS 下使用 you-get 下载音悦台 MV 、网易云音乐等》给大家介绍了如何下载MV、音乐等资源,但是出现了一些不常见的音频格式,导致在有些播放器上无法解码播放,所以在这篇文章中...

iTruda
2018/08/31
0
0
苹果发布 MacOS High Sierra 补充更新,修复严重 Bug

苹果今天发布了 macOS High Sierra 10.13 补充更新,这也是自 macOS High Sierra 正式版上个月发布之后,迎来的首个更新。macOS High Sierra 10.13 补充更新可以通过 Mac App Store 完成更新...

红薯
2017/10/06
1K
2
QtAV 1.8.0 发布,跨平台高性能音视频框架

QtAV 1.8.0 发布,此版本更新内容如下: - 支持XAudio2。XAudio2是windows的一个音频接口,支持几乎所有windows版本,从xp到10,还有xbox、windows phone。其中win7及更老的系统需要安装dir...

LucasWang
2015/09/01
2.5K
7
XBMC 12.2 发布,XBox 媒体中心

XBMC12.2发布! 来自XBMC官方的消息,在XBMC 12.1发布大约一个半月后, XBMC 12.2发布了,包含了12.1和12.0后续的补丁和改进: 修复插件依赖无限循环的问题, 解决12.1程序奔溃的问题 多个UPnP补...

段永明
2013/05/09
3.4K
1
跨平台媒体播放器框架 - SGPlayer

SGPlayer SGPlayer 是一款基于 AVPlayer、FFmpeg 的媒体资源播放器框架。支持360°全景视频,VR视频,RTMP、RTSP 等直播流;同时支持 iOS、macOS、tvOS 三个平台。 功能特点 支持播放360°全...

libobjc
2017/04/21
2.4K
1

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部