开始使用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
谢谢。
答案 0 :(得分:0)
-i
之前的内容适用于下一个输入,之后的内容适用于输出
first input
-re
实时处理(每秒读取1秒的媒体)
-ar 44100
输入的音频速率是每秒44100个采样
-ac 2
输入的音频为立体声
-acodec pcm_s16le
输入音频使用每个样本的带符号16位Little Endian Vales进行编码
-f s16le
输入的音频容器是原始的
-ac 2
输入音频为立体声(您将其指定为它的两倍,仅需一次)
-i /dev/zero
读取无限长的零流以用作原始音频源
second input
-f h264
输入的视频源是原始的h264(附件b)流
-i -
输入的视频应从stdin中读取
output
-vcodec copy
将视频从输入复制到输出而无需转码
-acodec aac
将音频从任何格式转换为acc
-ab 128k
生成的音频应编码为128kbps
-g 50
视频编码器应每50帧创建一个关键帧。注意:这没有任何作用,因为您正在使用-vcodec copy
,因为没有使用视频编码器
-strict experimental
一些ffmpeg功能是实验性的,不应使用。这将允许使用那些功能。可以在命令中的任何位置进行设置。
RTMP_URL
发送输出结果的格式和位置。
您可能还需要在输出中添加-f flv
才能使斜坡正常工作。