我們的應用程式之一允許用戶上傳多種音訊格式,如 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