FFmpeg和流媒体服务器

一、两者区别

对比 FFmpeg 流媒体服务器
角色 采集、编码、推流 接收、分发、播放
是否长期运行 可以短期运行,也可以一直运行 通常一直运行
是否适合多人观看 不适合直接分发给多人 适合多人观看
是否生成播放地址 一般不负责 负责
常见软件 ffmpeg.exe MediaMTX、ZLMediaKit、SRS、Nginx-RTMP
在你的场景中 读取摄像头 给别人提供播放入口

二、流媒体服务器使用操作步骤

复制代码
Windows 摄像头
↓
FFmpeg 推 RTMP
↓
MediaMTX
↓
前端网页 WebRTC / HLS 播放

1. 新建目录

比如在服务器上创建:

复制代码
mkdir mediamtx
cd mediamtx

2. 创建 docker-compose.yml并启动

在 mediamtx 目录下创建文件:

复制代码
version: "3.8"

services:
  mediamtx:
    image: bluenviron/mediamtx:latest
    container_name: mediamtx
    restart: always
    ports:
      - "8554:8554"      # RTSP
      - "1935:1935"      # RTMP
      - "8888:8888"      # HLS
      - "8889:8889"      # WebRTC HTTP
      - "8189:8189/udp"  # WebRTC ICE/UDP
      - "9997:9997"      # API,可选
    environment:
      - MTX_PROTOCOLS=tcp
      - MTX_WEBRTCADDRESS=:8889
      - MTX_WEBRTCADDITIONALHOSTS=你的服务器IP # 换成你的真实服务器 IP。
      - MTX_API=yes

3. 用 FFmpeg 推送你的笔记本摄像头

查到摄像头名字是:Integrated Camera

4. 前端播放地址

推流成功后,MediaMTX 可以提供不同播放方式。

复制代码
WebRTC 播放,低延迟,推荐

浏览器打开:http://服务器IP:8889/live/camera1


HLS 播放,兼容性好,但延迟高

浏览器或前端播放器使用:http://服务器IP:8888/live/camera1/index.m3u8

HLS 一般会有几秒到十几秒延迟,但前端兼容性比较好。


RTMP 播放,适合 VLC 测试

VLC 打开网络串流:rtmp://服务器IP:1935/live/camera1

5. 前端页面怎么接?

复制代码
1.如果用 HLS,前端可以用 hls.js:

<video id="video" controls autoplay muted style="width: 800px;"></video>

<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<script>
  const video = document.getElementById('video');
  const url = 'http://192.168.1.100:8888/live/camera1/index.m3u8';

  if (Hls.isSupported()) {
    const hls = new Hls();
    hls.loadSource(url);
    hls.attachMedia(video);
  } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
    video.src = url;
  }
</script>


22.如果你要低延迟,优先用 MediaMTX 自带的 WebRTC 页面:

http://192.168.1.100:8889/live/camera1

后面再接入你自己的前端。
相关推荐
VidDown20 小时前
自动给视频挑一张能看的封面:帧评分、构图与批量生成
python·ffmpeg·音视频·视频
可乐鸡翅yeah_2 天前
HLS 业务 Referer‑Policy 网页元标签引发播放异常排错
前端·javascript·网络·ffmpeg·php·音视频
开开心心就好3 天前
本地文件搜索工具推荐,占用小速度还快
智能手机·ffmpeg·ocr·word·音视频·网络攻击模型·安全架构
我科绝伦(Huanhuan Zhou)3 天前
oracle坏块导致备份不了
数据库·oracle·ffmpeg
RS迷途小书童3 天前
Python+FFmpeg提取大疆无人机MP4内嵌mov_text遥测SRT字幕并做完整性校验
python·ffmpeg·大疆·srt字幕·dji
开开心心就好3 天前
视频压缩工具推荐,画质效果很能打
智能手机·ffmpeg·ocr·word·排序算法·音视频·散列表
可乐鸡翅yeah_3 天前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
redfred4 天前
HyperFrames 部署教程:5.6 万 Star 开源「写 HTML 出视频」框架,Windows 从零上手(CLI 三条命令 + 7 个避坑)
ffmpeg·开源·自动化·html·音视频
Arcai10244 天前
PostgreSQL数据备份和恢复完全指南
数据库·postgresql·ffmpeg·备份一体机·备份软件·smartstor·智备科技
可乐鸡翅yeah_4 天前
FFmpeg 生成 HLS 独立分片 independent‑segments 参数到底有什么用
javascript·ffmpeg·音视频·safari·m3u8