利用ffmpeg实现wav文件到g729文件的转换

利用ffmpeg实现wav文件到g729文件的转换,ffmpeg,Ffmpeg,我正在Windows笔记本电脑中使用ffmpeg将.wav转换为.g729格式。我花了一些时间在文档、教程和一些线程上,直到现在都没有成功 以下是我的ffmpeg版本详细信息: ffmpeg版本N-89674-g57d0c24132版权所有(c)2000-2018 ffmpeg开发者 使用gcc 7.2.0(gcc)构建 配置:--enable-gpl--enable-version3--enable-sdl2--enable bzlib--enable fontconfig--enable g

我正在Windows笔记本电脑中使用
ffmpeg
.wav
转换为
.g729
格式。我花了一些时间在文档、教程和一些线程上,直到现在都没有成功

以下是我的
ffmpeg
版本详细信息:

ffmpeg版本N-89674-g57d0c24132版权所有(c)2000-2018 ffmpeg开发者
使用gcc 7.2.0(gcc)构建
配置:--enable-gpl--enable-version3--enable-sdl2--enable bzlib--enable fontconfig--enable gnutls--enable iconv--enable libass--enable libfreetype--enable-libmp3lame--enable libopencore amrwb--enable libopenjpeg--enable libopus--enable libshine--enable libsnapy--enable libsoxr--enable-libthera--enable-libtwolame--enable-libvpx--enable-libwavpack--enable-libwebp--enable-libx264--enable-libx265--enable-libzimg--enable-lzma--enable-zlib--enable-libvorbis--enable-libvo amrwbenc--enable-libmysofa enable-libspeex--enable-amf--enable-cuda--enable-cuvid--enable-d3d11va--enable-nvenc--enable-dxva2--enable-avisynch--enable libmfx
libavutil 56。7.100 / 56.  7.100
libav编解码器58。9.100 / 58.  9.100
libav58格式。3.100 / 58.  3.100
libav58设备。0.100 / 58.  0.100
libav7。8.100 /  7.  8.100
Libsw5。0.101 /  5.  0.101
libswresample 3。0.101 /  3.  0.101
Libroc 55。0.100 / 55.  0.100

我尝试了
ffmpeg-I testA.wav-c:libavformat-f g.729 output.g729
,结果错误地说
[NULL@0000022aa639dd80]请求的输出格式“g.729”不是合适的输出格式
output.g729:参数无效

我尝试了一些不同格式的名称,但仍然没有成功


感谢您在这方面的指导。谢谢。

正如Mulvya所说,ffmpeg不支持G729编码,只支持解码。请看这里:

2.4音频编解码器
名称编码解码


G.729X

但是,您可以使用bcg729 en-/解码器的建议实现,而不是ffmpeg

通过git从这里下载源代码并自己编译

因为您有windows(对于这种情况,linux将是更好的选择;),所以您需要一个工作的编译器。使用GCC尝试Cygwin,有很多教程


一个好的开始可能是这样的:

FFmpeg没有G729编码器。bcg729可以,但你必须编译它-@Mulvya哦,我以为FFmpeg有G729编码器。你说我必须编译它是什么意思?我查看了链接,但不太确定如何开始。谢谢您的指导。我的服务器是Linux(Ubuntu),但要理解需要做什么,这应该是一个好的开始。快一点,你知道ffmpeg是否也支持G711mu法则编码/解码吗?实际上我正在为G729和G711mu进行编码/解码。@UserProg以前从未听说过G711。ffmpeg页面没有关于解码/编码的条目,所以您可以确定此编解码器不受支持。我想你得找个图书馆。PS:Linux应该使编译bcg729变得容易,否则请随意提问。看起来我已经在我的Ubuntu服务器上安装了这个库(我希望是正确的)。我运行了
/configure-V
,得到了GNU Autoconf 2.69版权所有生成的响应
bcg729 configure 1.0.0。但我对它的工作原理还不够了解。这个库是否类似于ffmpeg,在这里我可以简单地使用命令将wav文件编码为g729文件?编译此类应用程序的默认方法是运行
/configure
,然后运行
make
make install
<代码>配置
仅准备生成,而不编译<代码>生成是编译步骤,这里是生成二进制文件
make install
可用于在系统中安装应用程序(因此,在大多数情况下,您都会调用
sudo make install
。我在家的时候会尝试一下。要成功构建,您通常需要更多来自ubuntu的软件包,如gcc等。
configure
应该会告诉您缺少什么。感谢您的回复。我想我已经安装了库,但我完全不知道如何运行它我需要一些指导。。