每个步骤都解释了 FFmpeg 命令的一个组成部分。所有以UPPERCASE显示的值都必须替换为您 Primcast 帐户中的正确信息。
这是完整的示例命令。复制此命令并将占位符替换为您的帐户详细信息。以下各节解释了每个标志位的含义。
ffmpeg -i '文件或链接' \ -crf 30 -preset ultrafast \ -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k \ -vcodec libx264 -r 25 -b:v 300k \ -f flv \ 'rtmp://USERNAME:PASSWORD@STREAMING_ADDRESS:1935/APPLICATION_NAME/livestream'
-i ) -i标志告诉 FFmpeg 从哪里获取输入流。它可以是文件、捕获设备或其他流:
-i video="screen-capture-recorder":audio="Stereo Mix (IDT High Definition)"-i '/home/user/sample.mp4'-i 'udp://127.0.0.0:1000/' 这些标志位控制视频的编码方式:
-crf 30 - 设置恒定码率因子。在复杂场景中改变码率时,可保持视频质量相对稳定。值为 30 时,视频质量和码率会略有降低。-preset ultrafast - 提供最快的编码速度。-vcodec libx264 - 将视频编解码器设置为 H.264。-r 25 - 将帧速率设置为 25 fps。-b:v 300k - 将视频比特率设置为 300 kbps。 这些标志位控制音频的编码方式:
-acodec aac - 将音频编解码器设置为 AAC(内部 AAC 编码器)。-strict experimental - 允许使用实验性编解码器。由于内部 AAC 编码器处于实验阶段,因此需要启用此功能。-ar 44100 - 将音频采样率设置为 44,100 Hz。-ac 2 - 指定两个音频通道(立体声)。-b:a 96k - 将音频比特率设置为 96 kbps。 -f flv将输出流包装在 FLV 容器中,这是 RTMP 所必需的。
最后一个参数是 RTMP 目标 URL。请将每个占位符替换为您的帐户详细信息:
rtmp://USERNAME:PASSWORD@STREAMING_ADDRESS:1935/APPLICATION_NAME/livestream
USERNAME和PASSWORD替换为您的 Primcast 帐户凭据。STREAMING_ADDRESS替换为您的帐户仪表板中的流媒体地址(例如test.primcast.com )。APPLICATION_NAME替换为您仪表盘上显示的应用程序名称。流媒体播放完成后,您可以通过 HLS 链接在 VLC 等播放器中查看输出,或者使用仪表板中的“生成播放器”链接将其嵌入。
关于使用 FFmpeg 和 Primcast 进行实时视频流传输的常见问题。