我使用基本相同的格式将音频流转换为 3 种不同的设置。它们最终的尺寸完全相同。为什么是这样?
ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 192k "Q1-All-192k.mp4"
ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 160k "Q1-All-160k.mp4"
ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 128k "Q1-All-128k.mp4"
Run Code Online (Sandbox Code Playgroud) 我已经在我的测试服务器上运行了 ffMpeg。我想将所有可能的音频文件转换为 mp3。
我收到错误“未找到编解码器”。
这是我输入的内容:
/var/www/i/uploads$ sudo /usr/local/bin/ffmpeg -i a.mp3 -f mp3 con.mp3
FFmpeg version SVN-r25385, Copyright (c) 2000-2010 the FFmpeg developers
built on Oct 7 2010 11:56:13 with gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab --disable-yasm
libavutil 50.32. 2 / 50.32. 2
libavcore 0. 9. 1 / 0. 9. 1
libavcodec 52.92. 0 / 52.92. 0
libavformat 52.80. 0 / 52.80. 0
libavdevice 52. 2. 2 / 52. 2. …
Run Code Online (Sandbox Code Playgroud) 这不是重复的。我是 Debian 6 Squeeze 并使用 apt-get 安装了 ffmpeg。我没有从源代码编译它。后来我从http://www.rarewares.org/安装了 lame 。但是当我尝试使用时,ffmpeg -i some.flv -acodec lame -ab 128k my.mp3
我看到错误Unknown encoder 'lame'
。如果我尝试使用 libmp3lame 而不是 lame,错误会显示Unknown encoder 'libmp3lame'
. 但是安装了跛脚。有什么线索吗?
我有一大堆翻录成 alac 的 CD,我将其用作我的主要音乐库。我想将此库的副本转换为用于便携式设备的 vbr mp3,但是我不想在我的笔记本电脑上执行此操作,因为有大约 650Gb 的音乐,而且我经常旅行以让我的笔记本电脑坐着因为它需要转换我的整个图书馆。我的朋友有一些服务器空间(运行 Debian Squeeze),他愿意借给我一两个星期来转换我的库。什么是最好的实用程序或方法。对于单首歌曲或单张专辑,我只使用类似
#!/bin/sh
for file in "$@" ; do
name=`echo "$file" | sed -e "s/.mp4$//g"`
ffmpeg -i "$file" -ac 2 -f wav - | lame --preset standard - "$name.mp3"
done
Run Code Online (Sandbox Code Playgroud)
我相信有一种更有效的方法可以做到这一点。我的音乐目前组织为“艺术家 - 专辑 - 曲目”,我希望输出反映这一点。
应用程序要求它接收的 mp3 文件使用 2 个通道(立体声)进行编码,但原始文件只有 1 个通道(单声道)。
我们使用 Lame 进行转换,但我无法让它克隆单声道并创建一个假立体声。
lame.exe -m j mono.mp3 stereo.mp3
Run Code Online (Sandbox Code Playgroud)
-m d
或者-m s
似乎也不起作用。用跛脚可以做到这一点吗?
我在 macOS Sierra (10.12.2) 上使用 FFmpeg 版本 3.2.2 和 LAME 3.99.5,我有这个命令将 FFmpeg 输出(来自 FLAC 文件)传输到 LAME 以编码成 MP3:
ffmpeg -y -v quiet -nostdin -i test.flac -b:a 320k -ac 2 -ar 44100 -f s16le -acodec pcm_s16le - | \
lame --quiet -r -m s --lowpass 19.7 -V 3 --vbr-new -q 0 -b 96 --scale 0.99 --athaa-sensitivity 1 - test.mp3;
Run Code Online (Sandbox Code Playgroud)
它工作正常,我对结果很满意,但是当我-v quiet
从管道的 FFmpeg 部分删除设置时——所以我可以实际看到发生了什么——我注意到输出中的以下内容:
Stream mapping:
Stream #0:0 -> #0:0 (flac (native) -> pcm_s16le (native))
size= 81858kB time=00:07:55.18 bitrate=1411.2kbits/s speed=41.2x …
Run Code Online (Sandbox Code Playgroud)