FFmpeg 不再支持 libvo_aacenc

FFmpeg 不再支持 libvo_aacenc

我已经安装了 x262 库,然后使用这些命令将 ffmpeg 安装到 /var/www/html/GetVideo 目录中。

# build and install x264
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl
make -j 4
sudo make install

# build and make ffmpeg
git clone --depth=1 git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
make -j4
sudo make install

所以,我有一个 /var/www/html/GetVideo/x264 库和 /var/www/html/GetVideo/x264/ffmpeg 目录。

然后我安装了 libav 编解码器

sudo apt-get install libavcodec-extra-54

然后我尝试改变帧大小和帧速率。

ffmpeg -i /var/www/html/GetVideo/video/20180503145826-8849_1080.mp4 -acodec libvo_aacenc -vcodec libx264 -s 1920x1080 -r 60 -strict experimental /var/www/html/GetVideo/video/output.mp4

尽管我已经安装了 libav 编解码器,但仍然收到未知编码器“libvo_aacenc”错误。我不知道我遗漏了什么?我该如何调整视频大小?

答案1

FFmpeg 不再支持 libvo_aacenc

它是一个低质量编码器,只能编码最多两个通道。内置的 FFmpeg AAC 编码器已得到改进,不再需要 libvo_aacenc,因此支持libvo_aacenc 已从 FFmpeg 中删除

使用最新的版本ffmpeg并使用内置 AAC 编码器。因此不要-acodec libvo_aacenc使用-acodec aac(或-c:a aac)。

你不能只安装编解码器并假设ffmpeg可以使用它们

如果您要编译,安装libavcodec-extra-54不会执行任何操作ffmpeg。编译时,要添加对外部编解码器库的支持,您需要:

  1. 安装相关-dev软件包。例如libx264-dev用于 H.264 视频编码。
  2. 使用 中的适当./configure选项来启用它ffmpeg,例如--enable-libx264。请参阅./configure --help了解受支持的外部编解码器库列表。
  3. 编译ffmpeg

如果你想编译,请参阅FFmpeg Wiki:针对 Ubuntu 进行编译以获得分步指南。

但是,安装libavcodec-extra-54将从存储库中添加其他编解码器ffmpeg(我不再确定哪些其他编解码器)。

你为什么要编译?

ffmpeg在 Ubuntu 存储库中可用。为什么不直接使用它呢?

sudo apt-get install ffmpeg

如果缺少某些功能,您可以考虑编译。

我如何调整视频大小?

现在来解决你的实际目标。通过“调整大小”,我假设你想缩放视频。这是一个使用比例过滤器

ffmpeg -i input.mp4 -c:v libx264 -c:a copy -vf scale=1920:1080 output.mp4

在这个例子中,音频被流已复制因为输入和输出都是 MP4,并且音频可能已经是 AAC,所以只需复制它而不是重新编码。

相关内容