创建 RTSP RTMP 视频源(Windows/Linux)

article/2025/8/6 18:50:16

1. 前言

由于项目需要实现 视频识别图像分类,网上能用的视频流又很少,所以需要自己搭建视频源进行本地测试。

本文记录在 Windows 以及 Linux 系统分别创建 RTSP、RTMP 视频源 进行测试。

2. 准备

2.1 视频

我们要准备好一份 mp4 格式的视频,循环播放形成一个持续进行的视频流。

项目需求原因,而且我对于视频处理软件之类的八窍已通七窍,所以这里我是用了一个 图片在线生成视频 的网站 https://clideo.com/video-maker
可以选取多张图片(最好不要过百)、每张图片的时间间隔、是否渐入渐出、设置背景音乐,生成视频的过程还是比较慢的,需要耐心等待。

2.2 软件/包

2.2.1 VLC 播放器

VLC是有 Windows、Linux、MacOS、Android等版本的。
但是我的Linux服务器系统是纯命令行的,所以只使用了 Windows 版本的进行测试,操作很简单,下载安装即可。
VLC安装包下载
它的使用也是比较简单的,点击媒体 -> 打开网络串流 -> 输入url -> 点击播放 即可。
VLC使用

2.2.2 FFMPEG

  • Windows 版本的可以去 https://www.gyan.dev/ffmpeg/builds/ 下载,使用 7-Zip 解压,将bin目录添加到环境变量 Path 中。
  • Linux 根据系统不同,可以直接使用 apt-get 或者 yum 安装。

可以命令行输入 ffmpeg -version 确认是否安装成功。
测试ffmpeg是否安装成功
ffmpeg 的部分参数:

  • -i: 设定输入流
  • -f 设定输出格式(format)
  • -stream_loop 循环几次,-1为无限循环
  • -re 以本机帧速率读取输入,相当于设置 -readrate 1
  • -c 编解码器, copy表示使用跟原视频一样的视频编解码器

具体的参数意义可以参考FFMPEG 官方文档。

3. 实现

3.1 RTSP

这个在网上找了很多的解决方案,这里只介绍最后使用的方案。
也就是Github上的 rtsp-simple-server, 我们可以直接阅读它的 README.md 文件。
这里也会把部分内容粘贴出来.

3.1.1 Windows

我们直接下载最新的Windows release包。
下载rtsp-server-windows
下载之后解压,有一个可执行文件,我们直接运行即可,这样本地的rtsp服务器就已经启动了。
解压后目录结构
rtsp 启动
可以看到,这个工具是支持 RTSP、RTMP、HLS的,只是端口不同,需要注意。

之后,再使用 FFMPEG 推送视频流到服务器,使用 stream_loop 让视频循环播放。

ffmpeg -re -stream_loop -1 -i test.mp4 -c copy -f rtsp rtsp://localhost:8554/mystream

ffmpeg推送视频流
执行上面的命令后,可以在终端窗口看到,视频流稳定推送,以及推送的帧、帧率、时间、速度等信息:
ffmpeg推送
而在另一边,RTSP服务器也收到了FFMPEG的推送,从打印的日志可以看到 类别为 RTSP,路径为 mystream。
RTSP服务器接到推送

这样视频流就创建好了,url为 rtsp://localhost:8554/mystream (注意这里 rtsp://localhost:8554/ 是固定的,端口为rtsp服务器的端口号,可以在 yml 文件中修改,后面的 mystream 由自己设置)。

我们可以下载 VLC播放器 测试我们的视频流。

3.1.2 Linux

和Windows端相同,只不过下的包不一样,需要下载对应架构的Linux版本的release包,我的服务器为 x86_64 的,所以选择 amd64 版本。
下载rtsp-server-linux

3.2 RTMP

RTMP 视频流的创建与 RTSP 基本相同,只有 ffmpeg 命令需要修改,改为以下形式:

ffmpeg -re -stream_loop -1 -i test.mp4 -c copy -f flv rtmp://localhost:1935/mystream

修改 格式为 hlv,修改url为 rtmp协议,端口为 1935

4. 参考

  1. aler9/rtsp-simple-server - Github
  2. ffmpeg 官网

http://chatgpt.dhexx.cn/article/L2cklJ5f.shtml

相关文章

腾讯爱奇艺优酷

看不懂的 可以进入下面的教程链接 目录 看不懂的 可以进入下面的教程链接what it can do ?how to do ?(点链接进入教程)总结why? what it can do ? 替你在另外一个网站上找到内容(for free&…

爱奇艺、优酷、腾讯视频竞品分析报告2016(二)

接上一篇《爱奇艺、优酷、腾讯视频竞品分析报告2016(一)》 http://milkyqueen520.blog.51cto.com/11233158/1760192 2.4 产品设计与交互 2.4.1 视觉风格 APP设计风格从视觉效果上至少给用户传达了两个信息:一是APP的整体基调。二是APP的目标…

阿里巴巴优酷视频增强和超分辨率挑战的冠军方案:VESR-Net

作者单位:中国科学技术大学、微软亚洲研究院 挑战赛链接:https://tianchi.aliyun.com/competition/entrance/231711/rankingList/1 论文链接:https://arxiv.org/pdf/2003.02115.pdf 译者:Wangsy 看点 视频增强与超分辨率&#xff…

优酷网架构分析

记得以前给大家介绍过视频网站龙头老大YouTube的技术架构,相信大家看了都会有不少的感触,互联网就是这么一个神奇的东西。今天我突然想到,优酷网在国内也算是视频网站的老大了,不知道他的架构相对于YouTube是怎么样的,…

将腾讯视频优酷视频引入到自己网站embed标签的(仅支持PC端)

2019独角兽企业重金招聘Python工程师标准>>> 腾讯视频&#xff1a; 视频原地址&#xff1a; 1&#xff1a;https://v.qq.com/x/cover/ipm2meuu857sw3e.html 2&#xff1a;https://v.qq.com/x/cover/1t9erwhksw1w712.html?vidw0022c2qlrm <embed src“https://im…

优酷、YouTube、Twitter及JustinTV视频网站架构设计笔记

本文是整理的关于优酷、YouTube、Twitter及JustinTV几个视频网站的架构或笔记&#xff0c;对于不管是视频网站、门户网站或者其它的网站&#xff0c;在架构上都有一定的参考意义&#xff0c;毕竟成功者的背后总有值得学习的地方&#xff0c;虽然有些文章的发表时间有点久了&…

go语言实战-----31-----流媒体架构设计之直播架构、音视频通话(常见 流媒体协议 解释)

一 直播架构 直播架构例如以某主播在某直播平台直播为例&#xff1a; 1&#xff09;首先向平台请求直播url。2&#xff09;主播得到url。3&#xff09;然后主播开始往该url推流&#xff0c;实际最终是推流至流媒体服务器。4&#xff09;此时&#xff0c;当有用户观看时&#…

优酷网架构

记得以前给大家介绍过视频网站龙头老大YouTube的技术架构&#xff0c;相信大家看了都会有不少的感触&#xff0c;互联网就是这么一个神奇的东西。今天我突然想到&#xff0c;优酷网在国内也算是视频网站的老大了&#xff0c;不知道他的架构相对于YouTube是怎么样的&#xff0c;…

视频综合平台系统架构分析-1

一. 视频综合平台意义 视频综合平台这类设备之前都称为数字视频矩阵。此类设备以其强大的性能&#xff0c;丰富的功能和极高的集成度成为监控中心核心设备。其架构支持视频综合平台同时接入和管理上千路的高清视频数据而不会卡顿崩溃&#xff0c;特别是内部设计了双高速总线成…

大数据环境下的优酷视频数据分析与推荐系统

优酷视频网是中国最具影响力的网络媒体和具有全球影响力的中文视频网站&#xff0c;研究优酷视频标题的网络抓取技术&#xff0c;研究标题语料库的数据库设计方法和用户接口设计实现方法&#xff0c;标题语料的字词处理方法&#xff0c;实现标题语料字词检索、增删改查、统计、…

优酷、YouTube、Twitter及JustinTV几个视频网站的架构

优酷视频网站架构 一、网站基本数据概览据2010年统计&#xff0c;优酷网日均独立访问人数&#xff08;uv)达到了8900万&#xff0c;日均访问量&#xff08;pv&#xff09;更是达到了17亿&#xff0c;优酷凭借这一数据成为google榜单中国内视频网站排名最高的厂商。硬件方面&am…

已开源 优酷动态模板研发体系为分发提效30%

概述 优酷是一个多屏、多端&#xff0c;以内容分发及内容消费为主体的文娱生态综合体。 在内容分发场景&#xff0c;存在大量的客户端开发需求&#xff0c;包括视觉升级、各场景的业务需求迭代、大小屏设备需求同步等&#xff0c;为了降低研发在跨端场景中组件重复开发的技术成…

优酷youku 1080P 视频下载方法

> PC端下载优酷视频方法,以下是优酷视频下载地址解析python脚本 import re, requests, time, subprocess, json, base64 from hashlib import md5class YouKu:def __init__(self, cookie):self.cookie cookiedef youku_sign(self, t, data, token):appKey 24679788 …

亿级短视频,如何架构?

说在前面 在尼恩的&#xff08;50&#xff09;读者社群中&#xff0c;经常指导大家面试架构&#xff0c;拿高端offer。 前几天&#xff0c;指导一个年薪100W小伙伴&#xff0c;拿到字节面试邀请。 遇到一个 非常、非常高频的一个面试题&#xff0c;但是很不好回答&#xff0…

优酷网视频存储架构

视频分享网站总会面对这样两个问题&#xff1a;视频资源能否吸引网民以及视频浏览是否顺畅&#xff1f;中国互联网协会互联网数据中心发布的《2008上半年视频网站数据》显 示&#xff0c;2008年上半年&#xff0c;优酷网月度总访问时长突破1.1亿小时&#xff0c;通过与全行业的…

Java实现简单在线播放器——支持优酷和土豆

今天本来是打算继续写“Java新浪微博客户端开发”的&#xff0c;也实现了“系统托盘”&#xff0c;“点击查看大图”的功能&#xff0c;写到一半&#xff0c;想起上篇博文中有CSDN有一网友提及客户端中播放微博的视频的功能&#xff0c;自己之前完成的客户端也没实现这功能&…

优酷弹幕穿人「渲染技术」揭秘

弹幕穿人功能&#xff0c;能使用户在弹幕刷屏的情况下&#xff0c;又不错过人物画面。因此&#xff0c;弹幕穿人功能一经推出就受到了广大用户的喜爱。 就技术方案而言&#xff0c;弹幕穿人方案可以分为以下两大类&#xff1a;“云端离线人体分割端侧渲染”和“端侧实时人体分割…

学习笔记:RTC时钟

学习笔记&#xff1a;RTC时钟 1.什么是RTC (1) RTC是个独立的定时器。RTC拥有一个连续计数的计数器。 &#xff08;2)注意&#xff1a;RTC模块和时钟配置系统&#xff08;RCC_BDCR寄存器&#xff09;工作在后备区域&#xff0c;系统断电或者复位不会影响RTC的设置和事件&…

STM32-RTC实时时钟

RTC实时时钟 RTC&#xff08;Real Time Clock&#xff09;是个独立的定时器。RTC模块拥有一个连续计数的计数器&#xff0c;在相应的软件配置下&#xff0c;可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期。 RTC模块和时钟配置系统&#xff08;RCC_BDCR寄…

STM32的RTC时钟的获取

STM32的RTC时钟的获取 硬件 1.STM32F103RCT6最小系统板&#xff08;mini&#xff09; 2.下载器&#xff08;我这里使用的ST-linkV2&#xff09; 3.纽扣电池 软件 1.keil5 &#xff08;MDK&#xff09; 2.STM32CuBe MX&#xff08;因为比较方便嘛&#xff0c;其实也可以拖库&…