内容简介:流媒体服务器可以使用lal github地址:(后续会补充其他客户端的使用方式,以及其他的流媒体协议格式。)
流媒体服务器可以使用 lal ,这是一个开源 Go 语言直播流媒体网络传输服务器。已支持RTMP,HTTP-FLV,H264/AVC,H265/HEVC,AAC,GOP缓存等功能(更多的协议、功能正在开发中)。并且现在还直接提供各平台二进制执行文件下载,方便使用。
lal github地址: https://github.com/q191201771/lal
-
1 rtmp推流
-
1.1 obs
- 1.1.1 obs采集摄像头
-
1.2 ffmpeg拉流
- 1.2.1 ffmpeg读取文件推送
-
1.1 obs
-
2 rtmp拉流
- 2.1 vlc
-
2.2 ffmpeg推流
- 2.2.1 ffmpeg拉流保存文件
- 2.3 ffplay
- 2.4 mpv
-
3
http-flv
拉流
(后续会补充其他客户端的使用方式,以及其他的流媒体协议格式。)
流地址举例:
协议 | 地址 |
---|---|
rtmp推流 | rtmp://127.0.0.1:19350/live/test110 |
rtmp拉流 | rtmp://127.0.0.1:19350/live/test110 |
http-flv拉流 | http://127.0.0.1:8080/live/test110 |
1 rtmp推流
1.1 obs
上官网( https://obsproject.com/ )下载对应操作系统的二进制安装包,并安装。
本文以macos系统的 obs 25.0.8
版本做演示,其他系统和obs版本都差不多。
1.1.1 obs采集摄像头
- 打开obs,点击右下角的 设置 按钮
- 在弹出的窗口中,点击左侧的 推流 按钮
-
右侧出现推流详情页:
- 服务 下拉框不用管,保持 自定义…
-
服务器
输入框中填写
rtmp://127.0.0.1:19350/live
-
串流密钥
输入框中填写
test110
- tips,串流密钥默认是不明文显示输入的字符,如果怕输出,可以点击右侧的 显示 按钮
- 点击右下角的 确认 按钮,完成设置
- 回到主界面,点击右下角 开始推流 按钮
-
底部的状态栏显示
LIVE,fps,kb/s
等信息,分别表示推流时长,帧率,码率,说明推流成功
obs除了能采集摄像头作为输入流,还提供采集桌面,音视频文件等功能。而且提供了很多参数都可以在图形化界面上配置。
1.2 ffmpeg
1.2.1 ffmpeg读取文件推送
(如何安装ffmpeg见文末)
这里分两种情况,一种是flv、mp4文件中的音频本身就是AAC格式,视频本身就是H264或H265格式,流媒体服务器本身就支持,那么ffmpeg不需要对音视频重新编码:
$ffmpeg -re -i demo.flv -c:a copy -c:v copy -f flv rtmp://127.0.0.1:19350/live/test110
对其中的参数做些说明:
-
-re
表示按文件中音视频流的码率推送,如果不加,就是不控制发送速度,一次性发送给服务端了,不符合直播的特点。 -
-i
表示输入文件 -
-c:a copy
表示音频编码格式不变 -
-c:v copy
表示视频编码格式不变 -
-f flv
推送rtmp流需要指定格式为flv
- 最后是rtmp推流地址
如果是mp4文件,将 demo.flv
换成mp4文件名即可,比如 demo.mp4
以上是比较常见的一种情况。
另一种情况,是文件中的音视频编码格式,流媒体服务器不支持,那么ffmpeg需要重新编码:
$ffmpeg -re -i demo.flv -c:a aac -c:v h264 -f flv rtmp://127.0.0.1:19350/live/test110
其中, -c:a aac
表示音频用aac编码, -c:v h264
表示视频用h264编码。
2 rtmp拉流
2.1 vlc
上官网( https://www.videolan.org/vlc/ )下载对应操作系统的二进制安装包,并安装。
本文以macos系统的 vlc 3.0.8
版本做演示,其他系统和obs版本都差不多。
- 打开vlc
- 点击底部菜单栏中的 File ,再点击 Open Network…
-
在弹出的窗口中的 URL
输入框中填入
rtmp://127.0.0.1:19350/live/test110
- 点击右下角的 确认 按钮,完成设置
- 开始播放直播流
2.2 ffmpeg拉流
2.2.1 ffmpeg拉流保存文件
如何安装ffmpeg见文末
$ffmpeg -i rtmp://127.0.0.1:19350/live/test110 -c copy test110.flv
2.3 ffplay
ffplay是ffmpeg项目中带的一个播放器
$ffplay rtmp://127.0.0.1:19350/live/test110
2.4 mpv
上官下载二进制安装包,安装,然后输入拉流地址播放,基本和vlc差不多,参考 2.1 vlc
3 http-flv
拉流
http-flv
拉流,对于vlc,ffmpeg,ffplay,mpv来说,和拉rtmp流是一样的,把拉流URL从
rtmp://127.0.0.1:19350/live/test110
改成
http://127.0.0.1:8080/live/test110.flv
即可。
以上所述就是小编给大家介绍的《常见推拉流客户端软件的使用方式》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Golang,kafka实现消息推拉
- 码云之 SVN 增加 SSH 支持,SVN 免密推拉代码
- 支付宝客户端架构解析:iOS 客户端启动性能优化初探
- 自己动手做数据库客户端: BashSQL开源数据库客户端
- 支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」
- 客户端HTTP缓存
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Design for Hackers
David Kadavy / Wiley / 2011-10-18 / USD 39.99
Discover the techniques behind beautiful design?by deconstructing designs to understand them The term ?hacker? has been redefined to consist of anyone who has an insatiable curiosity as to how thin......一起来看看 《Design for Hackers》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
图片转BASE64编码
在线图片转Base64编码工具