FFmpeg超低延时推流命令

ffmpeg -rtbufsize 4M -i rtsp://admin:abcd1234@192.168.2.162:554/h264/ch1/main/av_stream \
       -c:v libx264 -preset ultrafast -tune zerolatency -x264-params keyint=30:min-keyint=30:scenecut=0 -g 30 \
       -c:a aac -b:a 128k -ar 44100 -ac 2 -strict -2 \
       -f flv rtmp://127.0.0.1/live/test_show

参数解释

输入参数
  • -rtbufsize 4M:设置实时缓冲区大小为4MB。
  • -i rtsp://admin:abcd1234@192.168.2.162:554/h264/ch1/main/av_stream:指定输入的RTSP流URL。
视频编码参数
  • -c:v libx264:使用libx264视频编码器。
  • -preset ultrafast:使用最快的编码预设,以减少编码延迟。
  • -tune zerolatency:调优为零延迟模式,适用于实时应用。
  • -x264-params keyint=30:min-keyint=30:scenecut=0:设置关键帧间隔为30帧,并禁用场景切换检测以减少延迟。
  • -g 30:GOP大小设置为30帧,与关键帧间隔一致。
音频编码参数
  • -c:a aac:使用AAC音频编码器。
  • -b:a 128k:音频比特率设置为128kbps。
  • -ar 44100:音频采样率设置为44.1kHz。
  • -ac 2:音频通道设置为立体声。
  • -strict -2:允许使用实验性AAC编码器。
输出参数
  • -f flv:输出格式为FLV,适用于RTMP流。
  • rtmp://127.0.0.1/live/test_show:指定输出的RTMP流URL。

实现步骤

  1. 安装FFmpeg
    确保已安装FFmpeg,可以使用以下命令进行安装:

    sudo apt-get update
    sudo apt-get install ffmpeg
    
  2. 启动ZLMediaKit服务器

  1. 运行FFmpeg命令
    运行上面的FFmpeg命令,将RTSP流推送到流媒体服务器:

    ffmpeg -rtbufsize 4M -i rtsp://admin:abcd1234@192.168.2.162:554/h264/ch1/main/av_stream \
           -c:v libx264 -preset ultrafast -tune zerolatency -x264-params keyint=30:min-keyint=30:scenecut=0 -g 30 \
           -c:a aac -b:a 128k -ar 44100 -ac 2 -strict -2 \
           -f flv rtmp://127.0.0.1/live/test_show
    

打开https://localhost/webassist/进行测试:
在这里插入图片描述

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部