【学习】ZLMediaKit试用

ops/2024/11/2 14:58:52/

服务端准备

下载ZLMediaKit压缩包,解压

  1. /linux/Release路径下启用MediaServer
./MediaServer -d &

/linux/Release路径下config.ini更改配置

也可以将进入web控制台
rtmp默认端口1935, rtsp默认端口554,http默认端口80, SSL默认端口443
在这里插入图片描述
进入web控制台

http://服务器IP:80

在这里插入图片描述

在这里插入图片描述

  1. 安装ffmpeg

客户端准备

安装VLC播放器

使用

服务端使用ffmpeg推流

ffmpeg -re -i "/home/ZLM1078/ffmpeg/test1.mp4" -vcodec h264 -acodec libfdk_aac -f flv rtmp://127.0.0.1:19357/live/0

客户端使用vlc拉流
在这里插入图片描述

下面是使用测试数据

** 推流 **
h264

ffmpeg -re -i "/home/ZLM1078/ffmpeg/test.mp4" -vcodec h264 -acodec libfdk_aac -f rtp_mpegts rtp://127.0.0.1:10007
ffmpeg -re -i "/home/ZLM1078/ffmpeg/test1.mp4" -vcodec h264 -acodec libfdk_aac -f rtsp -rtsp_transport tcp rtsp://192.144.236.97:5547/live/0
ffmpeg -re -i "/home/ZLM1078/ffmpeg/test1.mp4" -vcodec h264 -acodec libfdk_aac -f flv rtmp://127.0.0.1:19357/live/0

h265

ffmpeg -re -i "/home/ZLM1078/ffmpeg/h265.mp4" -vcodec libx265 -acodec libfdk_aac -f rtsp -rtsp_transport tcp rtsp://127.0.0.1:5547/live/0
ffmpeg -re -i "/home/ZLM1078/ffmpeg/h265.mp4" -vcodec libx265 -acodec libfdk_aac -f rtp_mpegts rtp://127.0.0.1:10007

ps:RTMP标准不支持H265但是国内有自行扩展的

** 拉流/播放 **
直播:

rtsp://192.144.236.97:5547/rtp/013800138999_2
rtsp://192.144.236.97:5547/live/0
rtmp://192.144.236.97:19357/live/test
rtp://192.144.236.97:10007/live/test

点播

rtsp://192.144.236.97:5547/record/rtp/013800138999_2/2024-10-25/
rtsp://192.144.236.97:5547/record/live/test/2024-10-28/11-35-35-0.mp4

总结:h265推流的 vlc拉流无法解码

*测试 rtsp、rtmp、rtp推拉流,视频音频播放情况

ffmpeg -re -i "/home/ZLM1078/ffmpeg/h265.mp4" -vcodec h264 -acodec libfdk_aac -f rtsp -rtsp_transport tcp rtsp://192.144.236.97:5547/live/0ffmpeg -re -i "/home/ZLM1078/ffmpeg/h265.mp4" -vcodec h264 -acodec libfdk_aac -f flv rtmp://127.0.0.1:19357/live/0ffmpeg -re -i "/home/ZLM1078/ffmpeg/h265.mp4" -vcodec h264 -acodec libfdk_aac -f rtp_mpegts rtp://127.0.0.1:10007

rtmp推拉流,视频音频都成功显示
rtmp推流,rtsp拉流,只有视频

rtsp推拉流,大概率只显示音频,没有视频,偶尔会有视频
rtsp推流,rtmp拉流,只有视频

rtp推拉流,拉流失败
rtp推流,rtmp拉流,音频视频显示
rtp推流,rtsp拉流,音频视频显示

总结:

  1. rtmp,rtsp推拉流用同一协议,才能有音频,转协议只显示视频
  2. rtp转协议拉流,音频视频都显示
  3. rtmp推拉流,视音频更好用
  4. rtp无法拉流

http://www.ppmy.cn/ops/130451.html

相关文章

js中什么是闭包,它和柯里化函数有什么关系

在JavaScript中,闭包是一个非常重要的概念,它指的是一个函数和它声明时所处的词法环境的组合。这意味着该函数可以访问并操作它被创建时作用域中的变量,即使它在那个作用域之外被调用。 闭包的定义和特点 访问外部变量:闭包允许…

tornado,flaskd这两个框架主要是干什么的

Tornado是一个Python的Web框架,主要用于构建高性能的异步Web应用程序。它基于非阻塞的网络I/O模型,可以处理大量并发连接,适用于需要处理实时性要求较高的应用场景,如实时聊天、实时数据推送等。 Flask是另一个Python的Web框架&a…

git入门教程12:git命令与技巧

一、Git高级命令 Git Rebase 功能:清理提交历史记录,使其更清晰和线性。在多人合作中,可以使用rebase合并功能分支的更改到主分支。交互式Rebase:使用git rebase -i HEAD~n(n为你想重新排序、编辑或合并的提交数量&…

2024 Rust现代实用教程 流程控制与函数

文章目录 一、if流程控制与match模式匹配1.流程控制2. IF流程控制3.match 表达式 二、循环与break continue以及与迭代的区别1.Rust中的循环Loops2.break && continue3.迭代4.循环与迭代的不同 三、函数基础与Copy值参数传递1.函数的基础知识2.Copy by value 四、函数值…

mongodb指定引擎并设置内存使用大小

storage:dbPath: /www/server/mongodb/datadirectoryPerDB: trueengine: wiredTigerwiredTiger:engineConfig:cacheSizeGB: 4 WiredTiger 存储引擎:默认的存储引擎为 WiredTiger 存储引擎,非常适合大多数工作负载,建议用于新部署。WiredTige…

图解Redis 06 | Hash数据类型的原理及应用场景

介绍 Hash 类型特别适合存储对象,例如用户信息等。 String类型也可以用于存储用户信息,Hash与String存储用户信息的区别如下图所示: 内部实现 Hash 类型 的底层数据结构是通过压缩列表(Ziplist)或哈希表&#xff…

Chromium 中chrome.topSites扩展接口定义c++

一、chrome.topSites 使用 chrome.topSites API 访问新标签页上显示的热门网站(即最常访问的网站)。不包括用户自定义的快捷方式。 权限 topSites 您必须声明“topSites”扩展程序清单中授予使用此 API 的权限。 {"name": "My exten…

从需求到实践:中国少儿编程教育的崛起与家长教育理念的变迁

随着经济的发展和居民收入水平的提升,中国家庭在子女教育上的支出保持着持续增长的态势。过去五年,无论是在城镇还是农村地区,教育消费已成为家庭支出中的重要组成部分,占据人均消费支出10%以上的比重。与此同时,随着家…