当前位置:首页 > CN2资讯 > 正文内容

android搭建stun server android搭建rtmp服务器

3天前CN2资讯


在VPS服务器上配置一个直播环境,在Android&IOS客户端实现,直播推流到服务器上,在任意播放器上实现,拉取服务器上的流观看直播。(附android源码)

服务器环境:

LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.2.1511 (Core) Release: 7.2.1511 Codename: Core

使用下面命令可查看服务器信息

#lsb_release -a


自我介绍:我是一个Android程序员,在一家创业公司工作,公司需要做一个直播应用,因为公司没有服务器运维的人员,所以我花了一个星期的时间,参考网络上的帖子,完成了自己的直播系统。

如果你认为这篇文章对你有帮助,请在GitHub的右上角上给我一个star,这里面有服务器所需的配置文件,一些工具包,和Android端的推流源代码,非常感谢!

https:///yuchen931201/linux-rtmp-livevideo-android


(一) 服务器篇:

首先你得购买一台服务器,可在任意服务商购买,本文是在阿里云上购买的VPS(千万别买云虚拟主机了);

服务器理解:服务器其实就是一台高配电脑,全年7X24小时的为你服务器, VPS(virtual private server)可以理解为电脑里分配出来的一块空间,并利用虚拟机创建了一台新的服务器,它拥有独立的IP,独立的内存,独立的带宽...可独立开关机,相当于一台真实的机器,而"云虚拟主机"只是一台服务器中分配一块内存供你的站点使用,按照级别和价格排序,都是 实体主机电脑服务器 > VPS >云虚拟主机.

--------------------------------废话结束的分割线--------------------------------

(1)准备nginx-rtmp-module , git 和 openssl

1.使用yum安装git:


[java] view plain copy



1. yum install git



2.下载nginx-rtmp-module,官方github地址:https:///arut/nginx-rtmp-module


[java] view plain copy



1. git clone https:///arut/nginx-rtmp-module.git 3.yum安装openssl:

[java] view plain copy

1. yum -y install openssl openssl-devel


本文为大家讲解的是ubuntu下安装nginx错误error: the HTTP rewrite module requires the PCRE library 解决方法,感兴趣的同学参考下。

错误描述:

ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library


 



解决方法:



需要安装pcre包。


sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev



你可能还需要安装 

sudo apt-get install openssl




(2)下载安装Nginx,官方网站为:http://nginx.org/en/download.html

1.下载nginx解压,并添加rtmp和openssl支持


[java] view plain copy

1. wget http://nginx.org/download/nginx-1.8.1.tar.gz 2. tar -zxvf nginx-1.8.1.tar.gz 3. cd nginx-1.8.1 4. ./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module 5. make && make install

2.如果你已经安装了nginx, 则只需要在nginx的源码目录添加rtmp支持,nginx的源码目录与安装目录?查看安装目录

[java] view plain copy



  • whereis nginx  
  • 而我们这里是要找源码目录,这就需要你自己找了, 这个取决于你当时下载nginx时存放的目录, 推荐一个命令供你快速查到它,首先查询自己nginx的版本

    [java] view plain copy

    1. /usr/local/nginx/sbin/nginx -v


    [java] view plain copy

    1. nginx version: nginx/1.8.1

    如果输出如上,那么你的nginx源码目录可能为:

    nginx-1.8.1

    再使用find命令查找其位置


    [java] view plain copy


    1. find / -name nginx-1.8.1

    结果我的装在 这个位置,进入此目录里面有一个绿色的 configure 可执行文件,那就说明找对了

    /root/nginx-1.8.1


    然后继续执行第一步剩下的内容



    [java] view plain copy


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

    3.如果你以前使用的yum安装的,则需要先停止nginx运行,并卸载nginx,重新使用源码安装的方式即做第一步的操作,卸载命令



    [java] view plain copy


    1. yum remove nginx


    (3)修改nginx配置文件,没有vim的可以yum install vim 安装一个,或者用vi也行



    [java] view plain copy


    1. vim /usr/local/nginx/conf/nginx.conf


    修改内容如下,在http的上面加入,这里只是简单的配置,更多配置

    点击这里:



    [java] view plain copy


    1. rtmp { 2. server { 3. 1935; #监听的端口 4. 4000; 5. 6. application hls { #rtmp推流请求路径 7. live on; 8. hls on; 9. hls_path /usr/share/nginx/html/hls; 10. hls_fragment 5s; 11. } 12. } 13. }


    并修改http中的server为如下:


    [java] view plain copy


    1. server { 2. 81; 3. server_name localhost; 4. #charset koi8-r; 5. #access_log logs/host.access.log main; 6. 7. location / { 8. root /usr/share/nginx/html; 9. index index.html index.htm; 10. } 11. 12. 404 /404.html; 13. 14. static 15. # 16. 500 502 503 504 17. location = /50x.html { 18. root html; 19. }


    :wq 保存并退出


    1.在

    /usr/share/目录下创建nginx/html/hls


    [java] view plain copy

    1. cd /usr/share 2. mkdir nginx 3. cd nginx 4. mkdir html 5. cd html 6. mkdir hls 7. chomd -R 777



    2.回到/usr/share/目录下,查看nginx及其子目录是否都有读写权限


    [java] view plain copy


    1. ls -ld nginx/


    (4)最后一步启动Nginx


    [java] view plain copy


    1. /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf



    现在服务端就配置好了.




    (二) 客户端篇:

    本人的老本行是Android开发,所以只有android的源码,不过朋友也推荐过一个ios的源码,网上都能搜到的,这里也链接一下吧,我就不做源码详解,没什么好讲的代码很少;


    (三) 测试篇:

    推流地址:  rtmp://****:1935/hls/test

    拉流地址(观看地址):http://*****:81/hls/test.m3u8

    *替换为你的IP地址,推流使用源码推或者直接使用obs来推流了,Mac版的obs可在这里的centos-package-utils目录中下载URL:https:///yuchen931201/linux-rtmp-livevideo-android


    拉流最简单的就是用ios的Safari浏览器打开拉流地址就能直接观看,或者使用ijkplayer框架



    ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library



     



    解决方法:



    需要安装pcre包。

    sudo apt-get update sudo apt-get install libpcre3 libpcre3-dev



    你可能还需要安装 

    sudo apt-get install openssl
      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/19421.html

      分享给朋友:

      “android搭建stun server android搭建rtmp服务器” 的相关文章

      国外CDN推荐:提升网站速度与安全的选择

      在这个数字化时代,CDN(内容分发网络)的重要性逐渐凸显。许多网站为了提高用户体验,确保内容能够快速、安全地到达用户的设备,纷纷开始引入CDN服务。那么,CDN到底是什么?它的功能和运作原理又是怎样的呢? 简单来说,CDN是一个分布式的网络,旨在提高网站的加载速度和可用性。它通过在全球范围内部署一系...

      ZGOVPS优惠码使用指南:如何享受高性能VPS服务的优惠

      ZGOVPS是一家在VPS服务领域备受瞩目的品牌。作为一个提供高性能虚拟专用服务器的商家,它在业内以性价比高、网络稳定和良好口碑而受到广泛欢迎。我在使用ZGOVPS的过程中,深刻感受到了它对客户需求的敏锐把握和优质服务的承诺。 从公司的背景来看,ZGOVPS专注于为全球用户提供专业的VPS解决方案,...

      DMIT测试IP详解及VPS选择指南

      DMIT VPS服务概述 我对DMIT的了解始于他们在2017年的成立,作为一家海外VPS厂商,他们在市场上取得了显著的地位。DMIT提供的VPS服务覆盖多个地区,如中国香港、美国洛杉矶和日本东京。这些服务以对国内用户友好的优化路线而受到好评,尤其是CN2 GIA和CMIN2线路,这些线路减少了延迟...

      全面解读SFTP教程:安全文件传输的最佳实践

      什么是SFTP? 在计算机网络世界里,SFTP(Secure File Transfer Protocol)是一种安全的文件传输协议。它的主要用途是通过安全的方式在网络中传输数据。与传统的FTP(File Transfer Protocol)相比,SFTP引入了数据加密机制,这样一来,用户在传输文件...

      选择合适的SSH连接工具以提升远程管理效率和安全性

      在当今的网络环境中,SSH连接工具扮演着重要角色。简单来说,SSH连接工具是一种应用程序,用于通过SSH协议安全地连接和管理远程服务器。想想看,当我们需要与服务器进行交互、执行命令或者上传文件时,这些工具就变得尤为重要。 我记得第一次使用SSH连接工具的时候,是为了管理一台远程服务器。能够通过简单的...

      GA Cloud:全球化一站式云计算服务,优化您的企业数据管理

      GA Cloud成立于2021年,实际上是我对云计算服务界的一次全新探索。作为一家致力于全球化一站式云计算服务的公司,GA Cloud在市场中逐渐凸显出它的实力和影响力。我们在香港本地拥有8个以上的POP接入点,同时也在马来西亚、美国、日本、欧洲等地设立了多个数据中心。目前,我们的数据机柜数量已超过...