目录
前言:
FFmpeg 是一个开源项目,它提供了广泛的工具和库来处理多媒体数据,包括视频、音频和图像。能够进行多种操作,如转码、录制、流媒体传输、过滤、分割、合并等。它被广泛应用于各种平台和场景,从桌面应用到服务器端处理,再到移动设备和嵌入式系统。
Mediamtx实时媒体服务器:支持多种实时通信协议,如 RTSP、RTMP、WebRTC 等,并能够进行流媒体的转发、录制、转码等操作。
VLC(VideoLAN Client)是一款广泛使用的开源媒体播放器和框架,由 VideoLAN 项目开发。VLC 不仅是一个功能强大的媒体播放器,还提供了一系列工具和服务,使得它成为多媒体处理领域的佼佼者之一。VLC 支持多种网络流媒体协议 HTTP、RTSP、RTMP、MMS、RTP 等。
本文使用Mediamtx作为流媒体服务器,使用RTSP作为传输协议,FFmpeg作为推流工具,VLV作为拉流工具,在windows环境下实现了本地视频流的播放效果,为后面摄像头推流、多路流、WebRTC、Android等技术点打下基础。
一、下载FFmpeg
下载链接:ffmpeg download.html#build-windows
下载好后的目录长这样
二、下载Mediamtx
下载链接:github mediamtx/releases/tag/v1.9.0
下载好后的目录长这样:
三、下载VLC播放器
(当然其他支持rtsp拉流的视频播放器都行)
官网链接:videolan download
安装好后长这样:
四、具体实现
1、推流素材
桌面上新建一个文件夹存放视频推流的素材
作者这里的路径为:C:\Users\suolide-zjq\Desktop\mp4\1.mp4
(以下路径均为作者的路径,替换为自身的路径即可)
2、运行mediamtx流媒体服务器
方法一:打开cmd命令窗口,输入cd+mediamtx.exe所在的文件夹,使用mediamtx.exe命令运行
cmd中输入: cd C:\Users\suolide-zjq\Desktop\mediamtx_v1.9.0_windows_amd64
方法二:双击mediamtx.exe应用程序运行,效果与方法一没区别
3、运行ffmpeg工具推流
(1)打开cmd命令窗口,进入ffmpeg所在的目录
cmd中输入: cd C:\Users\suolide-zjq\Desktop\ffmpeg-7.0.2-full_build-shared\bin
(2)使用 FFmpeg 将本地文件 1.mp4
转发到 RTSP 流服务器。这个命令的主要功能是将视频文件重新编码并通过 TCP 协议传输到指定的 RTSP 地址。注意该地址为推流的目标的主机地址。(作者这里的地址为本机的IP地址)
cmd中输入:ffmpeg -re -i C:\Users\suolide-zjq\Desktop\mp4\1.mp4 -c copy -rtsp_transport tcp -f rtsp rtsp://192.168.2.23:8554/stream
4、运行VLC播放器拉流
(1)打开VLC软件
(2)粘贴上面推流的地址:rtsp://192.168.2.23:8554/stream
成功进行拉流播放视频!!