一:简介
EasyDarwin开源流媒体服务器(www.easydarwin.org)现在使用Go版本实现了。最新的代码提交,已经支持了推流(或者拉流 )的同时进行本地存储
EasyDarwin下载地址:https://github.com/EasyDarwin/EasyDarwin/releases
ffmpeg下载地址:https://pan.baidu.com/s/14OZdGPVnnuwCdur99i4UVA 提取码:kwmp
二、安装步骤
1、解压 : tar -zvxf EasyDarwin-linux-8.1.0-1901141151.tar.gz
2、修改easydarwin.ini文件:
[root@localhost easydarwin]# cd EasyDarwin-linux-8.1.0-1901141151/
[root@localhost EasyDarwin-linux-8.1.0-1901141151]# vim easydarwin.ini
[http]
port=10008
default_username=admin
default_password=admin
[rtsp]
port=554
; rtsp 超时时间,包括RTSP建立连接与数据收发。
timeout=28800
; 是否使能gop cache。如果使能,服务器会缓存最后一个I帧以及其后的非I帧,以提高播放速度。但是可能在高并发的情况下带来内存压力。
gop_cache_enable=1
; 是否使能向服务器推流或者从服务器播放时验证用户名密码. [注意] 因为服务器端并不保存明文密码,所以推送或者播放时,客户端应该输入密码的md5后的值。
; password should be the hex of md5(original password)
#authorization_enable=0
; 是否使能推送的同事进行本地存储,使能后则可以进行录像查询与回放。
save_stream_to_local=0
;easydarwin使用ffmpeg工具来进行存储。这里表示ffmpeg的可执行程序的路径
ffmpeg_path=/usr/bin/ffmpeg
;本地存储所将要保存的根目录。如果不存在,程序会尝试创建该目录。
m3u8_dir_path=/Users/ze/Downloads/EasyDarwinGoM3u8
;切片文件时长。本地存储时,将以该时间段为标准来生成ts文件(该时间+一个I帧间隔),单位秒。
;如果需要直播,这个值设小点,但是这样会产生很多ts文件;如果不需要直播,只要存储的话,可设大些。
ts_duration_second=6
;key为拉流时的自定义路径,value为ffmpeg转码格式,比如可设置为-c:v copy -c:a copy,表示copy源格式;default表示使用ffmpeg内置的输出格式,会进行转码。
/stream_265=default
~
~
3、创建ffmpeg、视频存储路径:
[root@localhost EasyDarwin-linux-8.1.0-1901141151]# mkdir /usr/bin/ffmpeg
[root@localhost /]# mkdir /Users/ze/Downloads/EasyDarwinGoM3u8
4、关闭防火墙和selinux:
iptables -F && systemctl stop firewalld && setenforce 0
5、启动easydarwin:[root@localhost EasyDarwin-linux-8.1.0-1901141151]# ./start.sh
启动成功后,在浏览器上面输入http://172.16.4.69/:10008
6、ffmpeg推流:D:\ffmpeg-20200831-4a11a6f-win64-static\ffmpeg-20200831-4a11a6f-win64-static\bin>ffmpeg -re -i C:\Users\admin\Desktop\generator\1.mp4 -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://172.16.4.69/test
7、VLC播放