L o a d i n g . . .
主打一个C++
文章详情

【直播】使用ffmpeg实现画面推流

Posted on 2026-05-02 07:25:24 by 主打一个C++

测试系统环境:Linux stream9 + Windows

1. 更新系统 + 装依赖

sudo dnf clean all
sudo dnf makecache
sudo dnf -y update

# 安装必要工具
sudo dnf -y install yum-utils device-mapper-persistent-data lvm2

2.安装 Docker(Stream9 亲测)

  1. 添加 Docker 源(阿里)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2. 安装 Docker

sudo dnf -y install docker-ce docker-ce-cli containerd.io

3.启动 Docker + 开机自启

sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker
看到 active (running) 就成功。

4.把当前用户加入 docker 组(免 sudo)

sudo groupadd -f docker
sudo usermod -aG docker $USER
newgrp docker

3.开放防火墙端口(关键!不然连不上)

  • 1935(RTMP 推流)
  • 8080(HTTP-FLV / HLS 播放)
  • # 永久开放端口
    sudo firewall-cmd --permanent --add-port=1935/tcp
    sudo firewall-cmd --permanent --add-port=8080/tcp
    
    # 重载生效
    sudo firewall-cmd --reload
    
    # 查看是否开放成功
    sudo firewall-cmd --list-ports

    4.Docker 启动 SRS(流媒体服务器不存在会自动下载)

    docker run -d --name srs -p 1935:1935 -p 8080:8080 -p 1985:1985 --restart=always registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5
    

    检查是否启动

    docker ps

    看到类似就成功:registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5 ... 0.0.0.0:1935->1935/tcp, 0.0.0.0:8080->8080/tcp ...

    5.ffmpeg直接推流(参数自己修改,关键xy和size)

    ffmpeg -y -f gdigrab -draw_mouse 1 -framerate 30 -offset_x 200 -offset_y 100 -video_size 1280x720 -i desktop -c:v libx264 -crf 26 -preset ultrafast -pix_fmt yuv420p -g 60 -b:v 3M -maxrate 5M -bufsize 10M -c:a aac -b:a 128k -ar 44100 -f flv rtmp://你的公网IP:1935/live/mystream

    6.拉流方案

    HTTP-FLV(低延迟): http://公网IP:8080/live/mystream.flv

    HLS: http://公网IP:8080/live/mystream.m3u8

    7.最终测试建议

    使用 VLC / PotPlayer 等播放器,直接打开 RTMP 地址: rtmp://公网IP:1935/live/mystream

    *转载请注明出处:原文链接:https://52xuexi.site/page/159.html

    作者近期文章
    • Python
    • 主打一个C++   2025-07-01 17:58:09
    • Anaconda 是管理 Python 环境最方便的工具,能一键创建、切换、删除环境什么的•下载地址:https://www.anaconda.com/download/suc
    提示
    ×
    确定
    数据库执行: 7次 总耗时: 0.01s
    页面加载耗时: 



    wechat +447752296473
    wechat cpp-blog