rtsp linux,linux模拟器安卓版
大家好,感谢邀请,今天来为大家分享一下rtsp linux的问题,以及和linux模拟器安卓版的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
ffmpeg播放及回放rtsp视频流
一、Linux安装FFmpeg
1.1检查是否安装成功
2.1官网下载压缩包
2.1.1通过FFmpeg官网下载安装包
2.2解压并安装
2.2.1找到下载的目录并进行解压
2.2.2进入解压目录并进行编译安装
2.3配置环境变量
输入i进入编辑模式,在最后添加配置行
Esc键退出编辑模式,输入:wq保存配置
使环境变量生效
2.4检查是否安装成功
二、Linux安装PM2
1.下载安装Node.js
2.上传至Linux并解压
2.1建立软连接
2.2配置环境变量
输入i进入编辑模式,在最后添加配置行
Esc键退出编辑模式,输入:wq保存配置
使环境变量生效
2.3检查是否安装成功
3. npm安装PM2
查看版本号
三、后端Node.js代码
下载并上传Node.js代码至Linux服务器
注意修改FFmpeg安装路径及websocket监听的端口号
使用pm2启动Node.js服务
查看启动列表
四、前端Vue代码
下载并上传Vue项目至Linux服务器
修改地址以适应环境
五、Nginx代理WebSocket
修改nginx/conf/nginx.conf文件以配置代理
进入nginx/bin目录下启动nginx
访问nginx代理地址localhost:52000即可播放视频
通过这套方案,可以实现无插件、无Flash的免费视频直播。后端使用FFmpeg将rtsp视频流转换为flv,通过WebSocket传输,前端通过WebSocket获取并处理flv视频流进行播放。
FFmpeg开发笔记(二十六)Linux环境安装ZLMediaKit实现视频推流
《FFmpeg开发实战:从零基础到短视频上线》一书中提到,轻量级流媒体服务器MediaMTX可用于测试RTSP/RTMP等流媒体协议的推拉流,但其功能有限,适用于生产环境的流媒体服务器还需考虑SRS或ZLMediaKit。
ZLMediaKit是一款基于C++11开发的国产开源流媒体服务器,支持多种流媒体协议和音视频编码标准。结合FFmpeg与ZLMediaKit,可方便测试音视频推拉流。以下以华为欧拉系统为例,介绍编译、安装、调试ZLMediaKit的步骤。
一、编译安装ZLMediaKit
1.在Linux服务器上安装依赖包。
yum install git
yum install openssl
yum install libsrtp
2.从gitee下载ZLMediaKit源码。
cd/usr/local/src
git clone--depth 1 gitee.com/xia-chu/ZLMed...
3.更新ZLMediaKit的依赖模块源码。
cd ZLMediaKit
git submodule update--init
4.配置ZLMediaKit。
mkdir build
cd build
cmake..-DENABLE_WEBRTC=on
5.编译ZLMediaKit。
make
6.安装ZLMediaKit。
make install
命令执行完毕,ZLMediaKit的可执行程序将安装到ZLMediaKit源码路径的release/linux/Debug目录下。
二、编译安装FFmpeg
详细步骤可参考《FFmpeg开发实战:从零基础到短视频上线》一书的“1.2 Linux系统安装FFmpeg”章节。
三、启动ZLMediaKit
1.进入ZLMediaKit的安装目录。
cd/usr/local/src/ZLMediaKit/release/linux/Debug
2.修改配置文件config.ini,将http标签下的sslport改为8443,port改为8080。
sslport=8443
port=8080
3.启动MediaServer服务。
./MediaServer-d&
4.检查服务器端口是否开启:554、1935、8080、8443。
四、检查ZLMediaKit的视频推拉流
视频推流有RTSP和RTMP两种协议。RTSP支持双向传输,RTMP只支持单向传输。以下通过ffmpeg将视频推流给ZLMediaKit,并使用VLC播放器观察拉流效果。
1.将本地视频通过RTSP协议推流给ZLMediaKit。
ffmpeg-re-stream_loop-1-i"/usr/local/src/test/2018s.mp4"-vcodec h264-f rtsp rtsp://127.0.0.1/live/test
2.将本地视频通过RTMP协议推流给ZLMediaKit。
ffmpeg-re-stream_loop-1-i"/usr/local/src/test/2018s.mp4"-vcodec h264-f flv rtmp://127.0.0.1/live/test
3.在VLC播放器中输入相应地址,观看视频画面。
rtsp://124.***.***.***/live/test
rtmp://124.***.***.***/live/test
124.***.***.***:8080/live/test/hls.m3u8
124.***.***.***:8080/live/test.live.ts
124.***.***.***:8080/live/test.live.mp4
124.***.***.***:8080/live/test.live.flv
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
实现一个rtsp推流和rtsp拉流业务机制,ZLMediaKit被看作是合适的选择。首先,通过开源库Readme了解其功能。
深入理解ZLMediaKit,确认它是一个流媒体服务器,具备基础的流媒体服务功能。
搭建ZLMediaKit环境在Linux虚拟机,启动服务器。
利用ffmpeg、obs、ffplay、vlc等工具进行rtsp推流、拉流测试,确保功能正常。
具体测试步骤如下:
1.1.使用ffmpeg推流,vlc/ffplay拉流,验证rtsp推流功能。
1.1.1.启动ZLMediaKit,执行ffmpeg推流命令,再通过vlc拉流进行测试。
1.1.2.使用ffplay进行rtsp/rtmp拉流测试,对比两种方式的实时性差异。
1.2.使用rtmp进行推流、拉流测试。
1.2.1.使用ffmpeg进行rtmp推流,检查vlc拉流是否成功,观察rtmp与rtsp时间戳差异。
1.2.2.使用ffmpeg推流,通过ffplay拉流测试,进一步对比时间戳。
1.3.使用rtp进行推流、拉流测试。
1.3.1.使用ffmpeg进行rtp推流,记录测试过程。
进行wireshark抓包,详细了解rtsp和rtmp推流、拉流流程。
3.1.使用ffmpeg推流时,wireshark捕获到的包类型包括:OPTION、ANNOUNCE、SETUP、RECORD、RTP、TEARDOWN。
3.2.拉流抓包包括:OPTION、DESCRIBE、SETUP、PLAY、RTP、TEARDOWN。
总结rtsp推流和拉流流程,明确每个步骤的作用。
总结:实践是学习rtsp推拉流的关键,通过测试ZLMediaKit的功能,为后续的obs软件使用打下基础。