首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CAF文件的音频转换

CAF文件的音频转换
EN

Stack Overflow用户
提问于 2010-06-28 14:25:07
回答 4查看 4.7K关注 0票数 2

我正在用kAudioFormatiLBC在iPhone上录制音频到CAF文件,录制工作正常。

我希望能够采取一个样本,也让它转换为其他格式后,我已经上传到ruby on rails网络服务。

我正在尝试使用sox,但是得到了:

sox in.caf out.mp3

sox FAIL formats: can't open input file `in.caf': Supported file format but unsupported encoding.

与ffmpeg类似,我得到:

Unable to find a suitable output format for 'in.caf'

有什么想法吗?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2011-07-08 14:21:40

我发现ffmpeg可以翻译数据格式为aac的caf文件。我在iPhone上以22050赫兹,1声道的音频格式捕捉到声音。在服务器端,我可以使用ffmpeg将其转换为.wav格式,然后使用sox将其转换为.mp3格式。

下面显示了在FreeBSD下运行的ffmpeg的配置。

代码语言:javascript
复制
%ffmpeg -i test_aac_22050_1.caf test_pcm_22050_1.wav
FFmpeg version 0.6.3, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jul  7 2011 16:16:19 with gcc 4.2.1 20070719  [FreeBSD]
  configuration: --prefix=/usr/local --mandir=/usr/local/man --enable-shared --enable-    gpl --enable-postproc --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-memalign-hack --cc=cc --extra-cflags=-I/usr/local/include/vorbis -I/usr/local/include --extra-ldflags=-L/usr/local/lib --extra-libs=-pthread --disable-debug --enable-runtime-cpudetect --disable-sse --disable-mmx --disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libdirac --enable-libfaac --enable-nonfree --enable-libfaad --enable-libfaadbin --disable-libgsm --disable-libmp3lame --disable-libopenjpeg --enable-libschroedinger --disable-ffplay --disable-libspeex --enable-libtheora --disable-vaapi --disable-vdpau --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / 52.72. 2
  libavformat   52.64. 2 / 52.64. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.19. 0 /  1.19. 0
  libswscale     0.11. 0 /  0.11. 0
  libpostproc   51. 2. 0 / 51. 2. 0
Input #0, caf, from 'test_aac_22050_1.caf':
  Duration: 00:00:09.89, start: 0.000000, bitrate: 44 kb/s
    Stream #0.0: Audio: aac, 22050 Hz, mono, s16, 30 kb/s
Output #0, wav, to 'test_pcm_22050_1.wav':
  Metadata:
    encoder         : Lavf52.64.2
    Stream #0.0: Audio: pcm_s16le, 22050 Hz, mono, s16, 352 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
size=     426kB time=9.89 bitrate= 352.8kbits/s    
video:0kB audio:426kB global headers:0kB muxing overhead 0.010087%

并确认输出:

代码语言:javascript
复制
%file test_pcm_22050_1.wav 
test_pcm_22050_1.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz
票数 4
EN

Stack Overflow用户

发布于 2013-11-12 18:03:58

SOX对用于CoreAudio文件处理的libsndfile有一个可选的依赖关系。

如果使用brew(1),请在brewing sox之前运行brew install libsndfile。在安装libsndfile之后,您将需要重新构建sox。

票数 3
EN

Stack Overflow用户

发布于 2010-06-28 21:25:06

如果你的服务器运行的是OSX,你应该能够使用afconvert。或者,使用不同的编解码器。

维基百科上关于iLBC的文章有一些可能有用的链接。http://ilbcfreeware.org/software.html的顶部链接到RFC和一个用于提取参考源代码的awk脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3130444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档