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软件使用打下基础。

阅读剩余
THE END