ffmpeg 调整大小“找不到编解码器参数”

And*_*ndy 6 installation video resize ffmpeg

我是 ubuntu 的新手,需要您的帮助:(32 位 ubuntu 12.10)我的命令:

ffmpeg -i ../output_images/particles%04d.png -r 30 -b 30000k final_movie.avi
Run Code Online (Sandbox Code Playgroud)

适用于我的 800x800 *.png 图片,但不适用于 512x512 *.png。在那里我收到以下消息:

[image2 @ 0x938a100] Could not find codec parameters (Video: png, 512x512)
Run Code Online (Sandbox Code Playgroud)

在校园机器上,它适用于具有相同代码的两者。我尝试做一个调整大小命令:

for p in *.tga; do convert -resize 800x800 $p $p; done
Run Code Online (Sandbox Code Playgroud)

添加此功能后,它可以工作,但我最终拥有 800x800 电影。


我已经安装了以下软件包:

过剩:

sudo apt-get install freeglut3-dev
Run Code Online (Sandbox Code Playgroud)

ffmpeg:

sudo apt-get install ffmpeg
Run Code Online (Sandbox Code Playgroud)

出现“未找到 curl 命令”错误。我修复了它:

sudo apt-get install curl
Run Code Online (Sandbox Code Playgroud)

还有另一个“转换:找不到命令”,我用以下方法修复了它:

sudo apt-get install imagemagick
Run Code Online (Sandbox Code Playgroud)

知道缺少什么吗?

llo*_*gan 6

误导性的情况

首先,Ubuntu 存储库中所谓的“ffmpeg”并不是来自 FFmpeg 项目的真正 ffmpeg,而是来自 fork 的伪造版本。这是一个令人困惑的情况。看:

其次,这个假的“ffmpeg”(和 avconv)是非常错误的。FFmpeg 的开发非常活跃,使用最新版本的真实 ffmpeg 很可能会解决这个问题。

得到真实 ffmpeg

您有多种选择:

如上所述,每种方法都有其优点和缺点。

使用静态构建

您只需要下载存档,解压缩并执行二进制文件。无需编译或安装:

wget http://ffmpeg.gusari.org/static/32bit/ffmpeg.static.32bit.2013-06-19.tar.gz
tar xzvf ffmpeg.static.32bit.2013-03-19.tar.gz
Run Code Online (Sandbox Code Playgroud)

现在你可以使用它了。您可以导航到包含ffmpeg,的目录并运行(注意前面的./):

./ffmpeg -i input ... output
Run Code Online (Sandbox Code Playgroud)

...或提供完整路径,如下所示:

/home/andy/ffmpeg/ffmpeg -i input ... output
Run Code Online (Sandbox Code Playgroud)

选择你的 $PATH

如果您在使用ffmpeg命令时想要真正的 ffmpeg而不必使用./或必须提供二进制文件的完整路径,则将 ffmpeg 二进制bin文件放在您家中的目录中:

mkdir ~/bin
mv ffmpeg ~/bin
hash -r
Run Code Online (Sandbox Code Playgroud)

现在你可以运行ffmpeg,你就可以准备编码东西了。如果要使用除 之外的其他目录~/bin,则必须将目录添加到您的目录中$PATH,如如何将目录添加到我的路径中所示?

检查间谍

现在使用该ffmpeg命令应该显示类似(注意“FFmpeg 开发人员”短语):

$ ffmpeg 
ffmpeg version N-54152-g730e07f Copyright (c) 2000-2013 the FFmpeg developers
Run Code Online (Sandbox Code Playgroud)

如果它显示以下内容,那么您就会知道您受到了诅咒,并且仍在使用假冒版本(请注意“Libav 开发人员”短语):

$ ffmpeg
ffmpeg version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
Run Code Online (Sandbox Code Playgroud)