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

环境准备

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

bash 复制代码
# 基础开发环境&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播放

效果展示

相关推荐
cpp_learner18 分钟前
FFmpeg 硬件解码全流程解析
ffmpeg
星花月7 小时前
视频压缩为什么会变糊?从码率、分辨率到 H.264/H.265 的参数选择指南
ffmpeg·音视频·h.265·视频编解码·视频
cpp_learner8 小时前
FFmpeg 像素格式转换与图像缩放实战
ffmpeg
程序员老陆10 小时前
FFmpeg 新编码 API 完全指南:avcodec_send_frame / avcodec_receive_packet
ffmpeg·音视频·编码
cpp_learners1 天前
FFmpeg H264视频编码全流程解析
ffmpeg·音视频
cpp_learners1 天前
FFmpeg H264视频解码全流程解析
ffmpeg·音视频·解码
程序员老陆1 天前
FFmpeg 像素格式(pix_fmt)通关指南:从 YUV420P 到 NV12、RGB24 到底怎么选
ffmpeg·音视频·yuv·像素格式
DogDaoDao1 天前
FFmpeg 9.0 “Lei“ 正式发布:十年之后,以你之名
ffmpeg·音视频·实时音视频·视频编解码·ffprobe·ffmpeg 9.0
程序员老陆2 天前
FFmpeg 音频采样格式(sample_fmt)完全手册:FLTP、S16、S32 到底在吵什么
ffmpeg·音视频·音频采样格式
cpp_learner2 天前
FFmpeg H264视频编码全流程解析
ffmpeg