linux rtmp Linux开发板
大家好,今天来为大家解答linux rtmp这个问题的一些问题点,包括Linux开发板也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
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
使用OBS 搭建视频流媒体服务器 | Linux 中国
实时视频流越来越流行,许多人寻求自建服务器以获得更多控制权。本指南将介绍如何在Linux或BSD操作系统上设置基本的实时流媒体服务器。
设置实时流媒体服务器时,硬件需求无一固定规则,因此建议在测试后选择最适合需求的配置。项目中,服务器安装在4GB内存、20GB硬盘空间及单个Intel i7处理器内核的虚拟机上。实时消息传递协议(RTMP)用于处理音频和视频流,因其广泛支持而成为首选。视频流经过编码、传输、缓冲和显示,通常会增加延迟,但延迟可以调整,取决于创建的流类型及其属性。
使用Ubuntu服务器版作为操作系统,下载并安装Ubuntu服务器版。为设置图形用户界面(GUI),可选择Ubuntu桌面版或其多种版本之一。启动Ubuntu安装程序,设置最适合环境的配置。确保在开始前更新任何可用的更新。
安装Nginx网络服务器,并获取RTMP模块,使Nginx能够处理媒体流。在配置文件底部添加代码,使用Nano编辑配置文件,保存配置。使用新配置重新启动Nginx。
使用FreeBSD时,下载最新版本并安装。确保静态网络设置。在安装完成后,使用Nano编辑配置文件。安装Nginx并为其配置流式传输。添加条目以确保Nginx在系统启动时启动,创建网站根目录,添加RTMP设置。使用新配置重新启动Nginx。
在Ubuntu或FreeBSD上设置流媒体软件时,使用功能强大的开源Open Broadcast Studio(OBS)。下载适用于操作系统的版本并安装。OBS启动后,通过首次运行向导设置最适合硬件的设置。为流捕获桌面,并将视频流发送到服务器。配置OBS以将流发送到服务器,开始视频流并观看。
许多支持RTMP的开源媒体播放器可用于观看视频流,如VLC媒体播放器。安装并启动VLC后,通过“媒体>打开网络串流”打开视频流。输入路径和串流密钥,播放视频流。
本项目是一个简单的设置,可以让你开始工作。使用更高级功能和资源探索实时流媒体的世界。祝你好运,直播快乐!
FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流
在FFmpeg开发实践中,MediaMTX虽然在《FFmpeg开发实战》一书的第10章有所提及,但其功能过于基础,不适合实际的直播生产环境。真正的生产级流媒体服务器,如SRS和ZLMediaKit,更为可靠。SRS作为一款国产开源的实时视频服务器,支持RTMP、WebRTC等多种协议,是推流(发布)和播放(订阅)服务器模型的典型代表,能处理协议转换,如将RTMP转为HLS、WebRTC等。
要测试SRS与FFmpeg的音视频推拉流,首先在华为欧拉系统上进行编译安装。首先,确保Linux服务器上安装了必要的依赖,如git和patch,然后从gitee下载SRS源码并进行配置和编译。FFmpeg的编译安装步骤可以参考《FFmpeg开发实战》中的相关章节,这里不再详述。
启动SRS时,需要配置srs.conf文件,开启关键帧缓存,这对于画面渲染至关重要。随后,通过命令行启动SRS服务,并检查1935(RTMP)和8080(HTTP)端口是否开启。测试推流时,使用FFmpeg将本地视频推送到SRS,同时用VLC播放器通过RTMP或HTTP协议拉流验证视频是否正常播放。
总之,SRS与FFmpeg的集成是实现视频直播推流的重要步骤,通过上述操作,开发者可以充分了解和实践这一过程。更多关于FFmpeg的开发内容,可以参考《FFmpeg开发实战》这本书。