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开发实战》这本书。

阅读剩余
THE END