下面介绍如何在Mac上搭建流媒体服务器,以便后续的自己研究的项目或者demo向服务器上进行推流
首先需要安装brew,brew是一款管理软件的第三方平台,安装的方式也很简单,请自行查阅安装方式
执行下面2句命令,即可安装rtmp推流的nginx服务器
执行完后,可以查看ngix安装在哪里
可以看到M1 是安装在这个目录下/usr/local/etc/nginx
打开这个目录,可以看到有个nginx.conf文件,这里就是服务器的一个配置文件,如果支持rtmp,则里面的内容会有一个rtmp的json
这个json说明:
1.你本地的nginx服务器会监听1935端口号,
2.服务器会创建一个mytv的程序
后续你可以向这个地址进行推流,并且进行拉流播放
后面我们会使用ffmpeg向这个地址推流
rtmp://localhost:1935/mytv/room
并且用vlc拉取这个地址的流进行播放
执行命令,即可启动nginx服务器
验证是否启动成功,只需要在浏览器中访问下以下链接
在浏览器地址栏输入: http://localhost:8080
出现Welcome to nginx ,代表nginx安装成功了。
打开配置文件 /usr/local/etc/nginx/nginx.conf
这里推的是flv流,可以正常推,这里需要注意的是服务器地址一定要写正确,我的nginx.conf里application配置的是mytv,所以路径就是mytv,room则是随便写都行,代表向程序mytv下的room文件推流
然后电脑上打开vlc这个播放器软件 点击File---->Open Network 在弹出来的框中选择Network然后输入URL:
验证时,推流的文件最好搞大点,不然一下推完了,你才去拉取播放,则播放不了,因为这是实时的
vlc使用如下
3.点击播放即可
可以看到左边是画面,右边是ffmpeg在推流
参考: https://www.jianshu.com/p/cf74a34af15d
目前主流的流媒体服务器有微软的windows mediaserver、RealNetworks的Helixserver和苹果公司的Darwin Streaming Server.微软的windows media server只能在windows2000 server和windows 2003server下使用,RealNetworks的Helixserver是一款跨平台的软件且功能强大,但并非免费软件。苹果公司的DarwinStreamingServer是一款跨平台的开源流媒体服务器软件,由苹果公司推出且免费,所以在架设流媒体服务器时选择DarwinStreaming Server.Darwin StreamingServer使用标准的实时传输协议/实时流媒体协议(RTP/RTSP),通过互联网实时传送媒体。Darwin Streaming Server 也能提供对传送 H.264、MPEG-4 和3GPP文件的固有支持——因此,你可以在 Mac 和Linux、Windows上的任何与标准兼容的媒体播放器上执行你的内容,当然还包括手机和接收
盒等各种兼容标准的设备。不仅如此,它还允许你使用 Icecast兼容协议,通过 HTTP传送标准的 MP3 文件到 MP3 客户端。
2 安装
下载软件http://dss.macosforge.org/downloads/DarwinStreamingSrvr5.5.5-Linux.tar.gz
解压tar包,对Install文件做修改
if [ $INSTALL_OS = "Linux" ]then
/usr/sbin/useradd -M qtss >/dev/null 2>&1
else
/usr/sbin/useradd qtss >/dev/null 2>&1
fi
将-M修改成-m后
执行Install脚本,安装成功,此时服务已经启动
如果要手动启动服务,运行streamingadminserver.pl
3 管理
Darwin Streaming Server采用了web管理模式,可以在本机的浏览器中输入:ttp://127.0.0.1:1220 然后输入在安装流媒体服务器时设置的用户名称和密码。
4 使用
找一个播放器,选在打开URL,输入rtsp://127.0.0.1/sample_100kbit.mp4
5 文件转换
DSS提供了一些sample源,测试用的话够用了,再多就只能自己做了。
DSS 支持的视频文件需要特别的工具对视频 hint 一下,然后就可以在 RTSP 上面用,请下载 mp4box http://www.videohelp.com/tools/mp4box 使用,mp4box同时支持mp4和3gp。
下载到到解压出后会有个叫 mp4box.exe ,用它在命令行下面运行
C:\mp4box sample.mp4 -hint
出现结果:
Hinting file with Path-MTU 1450 Bytes
Hinting track ID 201 - Type "mp4v:mp4v" (MP4V-ES) - BW 33 kbps
Hinting track ID 101 - Type "mp4a:mp4a" (mpeg4-generic) - BW 64 kbps
Saving mymovie.mp4: 0.500 secs Interleaving
流媒体视频就转换ok,现在文件大小就会有变动,变大了一些。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)