流媒体服务器搭建

1 篇文章 0 订阅
1 篇文章 0 订阅
环境:树莓派做流媒体服务器,摄像头是RTSP协议的,ffmpeg做推流工具


nginx-rtmp-module
官方github地址:https://github.com/arut/nginx-rtmp-module
可以直接下载zip包,下载地址:https://codeload.github.com/arut/nginx-rtmp-module/zip/master


安装nginx
官方网站: http://nginx.org/en/download.html
下载地址http://nginx.org/download/nginx-1.12.2.tar.gz ;


将nginx-rtmp-module解压,将nginx解压。都在同一个目录下。
为了方面,可以将解压后的文件名改名。分别改名为nginx-rtmp-modul和nginx


cd nginx
./configure --prefix=/usr/local/nginx  --add-module=../nginx-rtmp-module  --with-http_ssl_module    
make && make install


 注意:
树莓派安装的是Raspbian系统,需要用root账号进行安装
./configure --prefix=/你的安装目录  --add-module=/第三方模块目录,目前我安装到了/usr/local/nginx目录
如果编译安装失败,还可能需要安装以下模块
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev pcre-devel openssl openssl-devel   


修改nginx配置文件
vi /usr/local/nginx/conf/nginx.conf  
在文件的最后追加如下内容
rtmp {    
    
    server {        
        listen 1935;  #监听的端口      
        chunk_size 4000;    
             
        application hls {  #rtmp推流请求路径  
            live on;#开启实时  
            hls on;#开启hls    
            hls_path /usr/local/nginx/html/hls;#rtmp推流请求路径,文件存放路径 
            hls_fragment 5s;#每个TS文件包含5秒的视频内容    
        }    
    }    



注意:
还有就是这个路径,看你自己的实际情况的访问根目录来,我的是/usr/local/nginx/html/这个路径,
然而/usr/local/nginx/html/hls肯定没有这个目录,所以需要建一个放流文件的目录hls,并且需要改权限可读可写的权限


启动nginx
 /usr/local/nginx/sbin/nginx


推流设置
由于摄像头是rtsp协议的,需要转换并推送到rtmp的地址
转换并推送的格式如下
ffmpeg -i rtsp://<你的rtsp流的地址> -vcodec copy -acodec copy -f flv rtmp://<你的服务器接收地址这里我们用localhost/live/livestream>
以下是我实际测试的示例
ffmpeg -i rtsp://rtsp://192.168.1.10:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream -vcodec copy -acodec copy -f flv rtmp://192.168.0.15:1935/hls/demo


注意
摄像头是雄迈的,支持onvif协议的,rtsp的地址,可以通过onvif工具ONVIF Device Test Tool查看获得。
默认的webservice地址是192.168.1.10


拉流
可以通过RTMP或者HTTP进行视频播放。


RTMP拉流
拉流地址:rtmp://192.168.0.15:1935/hls/demo
我使用VLC进行拉流测试的,这个貌似大约应该是可以在PC端的浏览器上播放(没以测试)


HLS拉流
拉流地址:http://192.168.0.15/hls/demo.m3u8
我使用VLC进行拉流测试的,这个貌似大约应该是可以在移动端的浏览器上播放(没以测试)


注意
移动端通过html5的video标签可以查看直播(没有测试)
video(controls)
source(src="http://localhost:1935/live/livestream/playlist.m3u8")


最后放上测试截图



 
问题
不知道是我网络不好还是咋回事,ffmpeg拉流并推流的过程中,会有丢包现象,只不过有时候丢的多,有时候丢的少。 
后续遇到其他问题,再次补充
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: RTSP(Real Time Streaming Protocol)流媒体服务器搭建需要遵循以下步骤: 1. 选择合适的服务器软件:有一些流行的RTSP流媒体服务器软件可供选择,例如Live555、Darwin Streaming Server等。根据需求和个人偏好选择适合的软件。 2. 下载和安装服务器软件:根据所选择的服务器软件,访问其官方网站,下载最新的稳定版本,并按照官方提供的安装指南进行安装。 3. 配置服务器软件:安装完成后,需要对服务器软件进行配置。配置文件通常包含服务器的IP地址和端口号、流媒体存储位置、流媒体格式、访问控制等信息。根据具体需求进行相应的配置。 4. 启动服务器:配置完成后,启动服务器软件。在启动过程中,服务器会监听指定的端口,并等待客户端连接。 5. 使用RTSP协议推送流媒体:为了在服务器上推送流媒体,需要使用RTSP协议。可以使用RTSP客户端软件,连接到服务器并推送本地存储的流媒体内容。 6. 播放流媒体:完成流媒体推送后,可以使用支持RTSP协议的流媒体播放器来播放流媒体内容。在播放器中输入服务器的IP地址和端口号,然后可以选择所需的流媒体进行播放。 需要注意的是,RTSP流媒体服务器搭建涉及到一些网络和服务器技术,需要有一定的专业知识和经验。在操作过程中,如果遇到问题,可以参考官方文档、论坛和技术支持来获取帮助。 ### 回答2: RTSP(Real-Time Streaming Protocol)是一种建立在TCP/IP协议上的用于实时流媒体传输的协议。搭建RTSP流媒体服务器是为了实现在网络上实时传输音频或视频流的目的。 要搭建RTSP流媒体服务器,首先需要选取合适的服务器软件,常见的有Live555、Wowza、VLC等。其中,Live555是一个开源的、跨平台的RTSP服务器,搭建起来相对简单,下面以Live555为例进行介绍: 1. 下载并安装Live555服务器软件。 2. 配置服务器参数:在配置文件中设置服务器的监听地址和端口、日志文件路径、支持的流媒体文件格式等。 3. 创建音频或视频流:通过配置文件或命令行输入源文件地址,服务器会自动将源文件转化为流媒体格式。 4. 启动服务器:通过命令行或启动脚本启动Live555服务器。 5. 客户端播放:使用支持RTSP协议的播放器,输入服务器的地址和端口,即可实时播放音频或视频流。 此外,还可以根据需求进行进一步的配置和优化,例如配置服务器的安全认证、实现视频录制功能、设置并发连接数等。RTSP流媒体服务器搭建的成功与否,除了软件的选择和配置外,还需要保证网络的稳定和带宽的充足,以确保音视频流的实时性和流畅性。 总的来说,搭建RTSP流媒体服务器需要步骤如上所述,根据软件的不同可能会有细微差别,但核心的原理和步骤是相似的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值