OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放

环境准备

安装x11grab(用于捕获屏幕流)和libx264(用于编码)

# 基础开发环境&x11grab
sudo dnf install -y \
    autoconf \
    automake \
    bzip2 \
    bzip2-devel \
    cmake \
    freetype-devel \
    gcc \
    gcc-c++ \
    git \
    libtool \
    make \
    mercurial \
    pkgconfig \
    zlib-devel \
    libX11-devel \
    libXext-devel \
    libxcb-devel \
    xorg-x11-server-utils
    
# 安装x264
sudo dnf install -y x264-devel
pkg-config --cflags --libs x264

安装好ffmpeg(这里要用编译安装,因为要添加上–enable-x11grab这个选项只有高版本支持低版本的话是其他几个选项反正你用./configure --help 查看可用选项把带x11的都选上就行了

下载mediamtx,这是推流服务器
下载地址
下载完解压就能用了

安装vlc,我这里是在windows上安装的

命令

先运行推流服务器
./你的mediamtx所在的目录/mediamtx

使用ffmpeg捕获屏幕流并推送到服务器
ffmpeg -f x11grab -i :0.0 -vcodec libx264 -preset ultrafast -acodec aac -f rtsp rtsp://127.0.0.1:8554/desktop

vlc播放
在这里插入图片描述

在这里插入图片描述

效果展示

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_73548574/article/details/143429107