有人知道这条 avconv 线是做什么的吗?

Anybody know what this avconv line does?

avconv -y -i input.avi -b 915k -an -f mp4 -ar 44100 -f s16le -ac 2 -i /dev/zero -acodec libfaac -ab 128k -strict experimental -shortest -vcodec libx264 output.mp4 -loglevel fatal

首先,这似乎是 avconv 的旧版本,因为此后命令行发生了变化(但变化不大)。

所以,让我们分解一下:

-y

这回答了 'yes' 类似 "do you want to overwrite the output file" 的问题。

-i input.avi

这为程序提供了文件 input.avi 作为输入

-b 915k

这要求将比特率更改为每秒 915 Kibibytes

-an

这将从输出中删除所有音频。

-f mp4

将 MP4 设置为输出文件的格式

-ar 44100

这设置了以下输入文件的音频采样率。

-f s16le

这设置了以下输入文件的音频格式。

-ac 2

这会将音频通道数设置为两个。

 -i /dev/zero

这将添加另一个完全由零输入组成的输入文件

 -acodec libfaac

这会使用 libfaac

重新编码音频(很可能是静音)
 -ab 128k

正在将音频比特率设置为 128 Kbps

 -strict experimental

允许 avconv 在编码时使用非标准方法。

-shortest

当最短的输入结束时结束编码。这是必需的,因为 /dev/zero 永远不会结束。

-vcodec libx264

这会设置库来进行视频编码。编解码器将是(不幸的是)h264

 output.mp4

这是输出文件的名称

 -loglevel fatal

致命消息将写入日志,仅此而已。

以后你可能会发现 man avconv 成为你的朋友。