我们的一个应用程序允许用户上传多种音频格式,如 mp3、G711 u-law 或 a-law 等,并且它使用 ffmpeg 将这些格式转换为 wav。
使用以下命令将 mp3 转换为 wav 似乎很容易。我可以使用哪些参数将 u-law 或 a-law 转换为 wav?
ffmpeg -i input.mp3 output.wav
尝试了以下命令来针对 g711 u-law 但都出现相同的错误:
ffmpeg.exe -i output.g711u -acodec u-law -ar 44100 -ac 1 output.wav
ffmpeg.exe -i output.g711u output.wav
ffmpeg version N-80234-g49b0246 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 24.100 / 55. 24.100
libavcodec 57. 45.100 / 57. 45.100
libavformat 57. 37.101 / 57. 37.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 46.101 / 6. 46.101
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
**output.g711u: Invalid data found when processing input**
但是通过使用 sox 和以下命令它可以工作。
sox --type raw --rate 44100 -e u-law output.g711u output_file3.wav
答案1
我使用以下命令来解决这个问题。
ffmpeg.exe -f mulaw -ar 44100 -i output.g711u output_file3.wav