FFmpeg - 视频流配置教程

使用 FFmpeg 作为视频流编码器

按照本指南配置 FFmpeg 作为实时视频编码器,并通过 RTMP 协议将视频流直接传输到您的 Primcast 视频服务器。所有配置均通过命令行完成。

命令行指南RTMP 流媒体24/7 全天候实时支持

分步指南

每个步骤都解释了 FFmpeg 命令的一个组成部分。所有以UPPERCASE显示的值都必须替换为您 Primcast 帐户中的正确信息。

1

完整的 FFmpeg 命令

这是完整的示例命令。复制此命令并将占位符替换为您的帐户详细信息。以下各节解释了每个标志位的含义。

 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' 
2

配置输入源( -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/'
3

视频质量和编码标志

这些标志位控制视频的编码方式:

  • -crf 30 - 设置恒定码率因子。在复杂场景中改变码率时,可保持视频质量相对稳定。值为 30 时,视频质量和码率会略有降低。
  • -preset ultrafast - 提供最快的编码速度。
  • -vcodec libx264 - 将视频编解码器设置为 H.264。
  • -r 25 - 将帧速率设置为 25 fps。
  • -b:v 300k - 将视频比特率设置为 300 kbps。
4

音频编码标志

这些标志位控制音频的编码方式:

  • -acodec aac - 将音频编解码器设置为 AAC(内部 AAC 编码器)。
  • -strict experimental - 允许使用实验性编解码器。由于内部 AAC 编码器处于实验阶段,因此需要启用此功能。
  • -ar 44100 - 将音频采样率设置为 44,100 Hz。
  • -ac 2 - 指定两个音频通道(立体声)。
  • -b:a 96k - 将音频比特率设置为 96 kbps。
5

输出格式和RTMP目标

-f flv将输出流包装在 FLV 容器中,这是 RTMP 所必需的。

最后一个参数是 RTMP 目标 URL。请将每个占位符替换为您的帐户详细信息:

 rtmp://USERNAME:PASSWORD@STREAMING_ADDRESS:1935/APPLICATION_NAME/livestream
  • 请将USERNAMEPASSWORD替换为您的 Primcast 帐户凭据。
  • STREAMING_ADDRESS替换为您的帐户仪表板中的流媒体地址(例如test.primcast.com )。
  • APPLICATION_NAME替换为您仪表盘上显示的应用程序名称。

流媒体播放完成后,您可以通过 HLS 链接在 VLC 等播放器中查看输出,或者使用仪表板中的“生成播放器”链接将其嵌入。

常问问题

关于使用 FFmpeg 和 Primcast 进行实时视频流传输的常见问题。

我的流媒体地址、用户名和密码在哪里可以找到?

您的流媒体地址、用户名、密码和应用程​​序名称都可以在您的Primcast帐户控制面板中找到。您也可以在激活邮件中找到这些信息。

我可以播放文件而不是实时源吗?

是的。使用-i '/path/to/file.mp4'参数可以从本地文件进行流式传输。FFmpeg 会对其进行编码,并将其推送到您的 RTMP 服务器,就像传输实时流一样。

Primcast 需要哪些视频和音频编解码器?

Primcast 视频服务器接受通过 RTMP 协议传输的 H.264 视频( libx264 )和 AAC 音频( aac ),它们以 FLV 容器的形式封装。这些是示例命令中的默认设置。

我应该使用多高的比特率?

示例中视频比特率为 300 kbps( -b:v 300k ),音频比特率为 96 kbps( -b:a 96k )。如果您的上传带宽允许,可以提高视频比特率以获得更好的画质。大多数视频流在 500 kbps 到 2500 kbps 之间都能流畅播放。

直播开始后,我该如何观看我的直播?

FFmpeg 开始串流后,您可以使用 Primcast 控制面板中的 HLS 链接,通过 VLC 等播放器观看。您也可以通过帐户中的“生成播放器”链接生成可嵌入的播放器。

准备上线了吗?

我们的音频和视频流媒体服务包括无限连接、无限带宽和全天候专家支持,确保您的直播不间断。