请你能解释一下这些 avconv 参数吗?

Please can you explain these avconv parameters?

开始使用 avconv 将视频和音频流式传输到 RTMP 服务器,但对此完全陌生,不明白这是如何组合在一起的。

我收到了这个命令,有人可以解释一下为什么有多个 -f、-i 参数吗?参数的顺序有多大影响?

avconv -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental RTMP_URL

提前致谢。

-i之前的任何内容适用于下一个输入,之后的任何内容适用于输出

first input

-re实时处理(每秒读取1秒媒体)

-ar 44100输入音频速率为每秒44100个样本

-ac 2 输入音频为立体声

-acodec pcm_s16le 输入音频使用每个样本带符号的 16 位小端值编码

-f s16le 输入音频容器是原始的

-ac 2输入音频是立体声的(你指定了两次它只需要一次)

-i /dev/zero 读取无限长的零流以用作原始音频源

second input

-f h264 输入视频源为raw h264 (annex b) stream

-i - 应从标准输入读取输入视频

output

-vcodec copy 将视频从输入复制到输出而不进行转码

-acodec aac 将音频从任何格式转码为 acc

-ab 128k 生成的音频应编码为 128kbps

-g 50 视频编码器应每 50 帧创建一个关键帧。注意:这没有任何作用,因为您正在使用 -vcodec copy 因为没有视频编码器在使用

-strict experimental 一些 ffmpeg 功能是实验性的,不应使用。这将允许使用这些功能。这可以在命令中的任何位置设置。

RTMP_URL 发送输出结果的格式和位置。

您可能还需要在输出中添加 -f flv 才能使斜坡正常工作。