RTMP开发记录 测试服务器搭建篇

nginx-rtmp-module 安装

最近在做直播功能,为了方便调试,在本地搭建一个rtmp server吧~

我的配置环境是Ubuntu12.04 64

安装编译环境所需库

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

下载源码

wget http://nginx.org/download/nginx-1.4.2.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

解压

tar -zxvf nginx-1.4.2.tar.gz
unzip master.zip
cd nginx-1.4.2

编译安装

./configure --add-module=../nginx-rtmp-module-master
$ make
$ sudo make install

那么现在可以试着启动Nginx

sudo /usr/local/nginx/sbin/nginx

然后在浏览器输入http://localhost 应该就能够看到nginx的欢迎首页了,这意味着nginx在我们的机器上运行正常,可以进行下一步配置了:]

Nginx rtmp 配置

打开nginx.conf文件,开始配置rtmp吧:

http {
    ……
}
在http节点后面加上rtmp配置:
rtmp {
    server {
        listen 1935;
        application live1 {
            live on;
            record off;
        }
    }
}

你可以在这里找到完整的配置文件

保存退出后,告诉nginx重新读取配置:

sudo /usr/local/nginx/sbin/nginx -s reload

这里多提一句,如果想要重启nginx:

sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx

这时我们可以测试推送流了,这里由于我们还没有写推送代码,就先借助软件完成吧。

测试推送流

如果你有Windows环境,且是Vista以上系统,有独立显卡,使用Open Broadcaster Software

如果你有Mac环境,使用CocoaSplit

推送流简单来说就是上传,也被称为推送、发布。想要推送流,总要有一个目标地址吧。看看之前我们建立的RTMP服务器配置,里面规定了使用1935作为监听端口,配置了一个应用live1,通过这些信息,我们就能拼出可以使用的上传地址了,例如这样:

rtmp://localhost:1935/live1

live1是应用名,对应我们在nginx中配置的应用。room1是一个应用的实例(或者叫结点,我是这么理解的),这个不需要在服务器做特别的配置,我们只需要在配置好的应用中选择一个实例名字(例如room1)就能使用了。

使用之前提到的软件,简单配置下上传地址就能够发布了。

测试接收流

发送上去了,那么我们如何接收呢?

使用JWPlayer在网页播放

这里又要使用外部工具了:jwplayer,一个flash的播放器,利用它可以在网页播放rtmp流。

jwplayer目前能够提供试用,但是使用需要先注册以获取key。这里有一个我已经注册好并下载到本地的播放器文件,你可以直接使用它们。

找到/usr/local/nginx/html/目录,在下面新建文件player.html



    
charset="utf-8"> JW Player Example

id="‘playerWRYqPNErNtRf‘>test

然后将jwplayer文件夹放在/usr/local/nginx/html/目录下,最后应该是这样:

/usr/local/nginx/html/player.html
    /usr/local/nginx/html/jwplayer/jwplayer.js
    /usr/local/nginx/html/jwplayer/jwplayer.flash.swf
    ...

然后重启nginx,在浏览器输入http://localhost/player.html,点击播放按钮,这时如果你正在使用软件进行推送,就应该可以看到视频了:]

使用VLC软件播放

这是更简单的一种方式,找一个支持rtmp的桌面软件,恩……之前为什么我要折腾jwplayer呢……

下载后打开VLC,在菜单选择file->open network->在弹出的新窗口中选择Network标签页,填入URL:rtmp://localhost:1935/live1->点击open,等待缓冲完成后,就自动开始播放了=。=

时间: 2024-08-06 18:25:51

RTMP开发记录 测试服务器搭建篇的相关文章

Python全栈开发记录_第一篇

Python全栈开发记录只为记录全栈开发学习过程中一些难和重要的知识点,还有问题及课后题目,以供自己和他人共同查看.(代码行数:70行) 知识点1:优先级:not>and 短路原则:and:如果第一个条件的结论为假,那么 and 前后两个条件组成的表达式计算结果一定为假,后面的条件计算机不会进行计算 or:如果第一个条件的结论为真,那么or 前后两个条件组成的表达式计算结果一定为真,后面的条件计算机不会进行计算 知识点2:python区分大小写,常量需全部字母大写(默认这样写) python换行

Python全栈开发记录_第九篇(类的基础_封装_继承_多态)

有点时间没更新博客了,今天就开始学习类了,今天主要是类的基础篇,我们知道面向对象的三大特性,那就是封装,继承和多态.内容参考该博客https://www.cnblogs.com/wupeiqi/p/4493506.html 之前我们写的都是函数,可以说是面向过程的编程,需要啥功能就直接写啥,但是我们在编写程序的过程中会发现如果多个函数有共同的参数或数据时,我们也必须多次重复去写,此时如果用面向对象的编程方式就会好很多,这也是面向对象的适用场景. 面向对象三大特性: 一.封装(顾名思义就是将内容封

【Android的从零单排开发日记】之入门篇(一)——开发环境的搭建

写给自己的话:至此,大学的时光已经剩下一年的时光,下一年等毕业设计结束后就算是正式地踏入社会.自己学android也不过几个月的时间,为了更好管理文档,写点东西记录下自己曾经做过的点点滴滴是一个不错的选择,接下来都会将我自己所学所感一一记录下来,算是给后来的我一份复习的资料和还算不错的回忆. 开始正题吧,android环境的安装,网上很多教程,本来不想写这章的,后来帮同学配置时想想有个总结也是不错的,所以就写了这篇满是链接的文章. 一.需要准备的文件 JDK 官方网站 http://www.or

【REACT NATIVE 跨平台应用开发】环境搭建问题记录&&XCODE7模拟器上COMMAND+R失效的几种替换方法

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2147.html React Native 这里不多介绍,其实就是个跨平台开发原生应用的开源引擎. 更详细的介绍,大家可以搜索"facebook react native" 或 "taobao react native" 附上 React Native 官方网站:http://react

一步一步构建手机Web开发——环境搭建篇

从2007年,乔布斯带来了第一代Iphone手机,整个移动互联网发生天翻地覆的变化,也同时证明了乔布斯的一句名言:“再一次改变世界”. 在当今的移动互联网,手机App居多,很多App对移动设备的要求也越来越高,当然,土豪就可以经常更新换代.我们这群屌丝只能望梅止渴.为了解决少部分由于硬件或者软件引起的问题,我们将App迁移到浏览器上,也就是人们常说的WebApp,WebApp相对与手机App客户端有以下优点: 1.免安装,一个浏览器就可以搞定. 2.不需要繁忙的迭代更新. 3.不需要担心存储不足

持续集成(二)工具搭建篇—内网邮件服务器搭建

在我们的持续构建中,项目构建中出现错误提醒,或者开发人员之间的沟通交流,进度汇报的事务,都是离不开一个通信工具,那就是邮件.在我们的项目开发中如果使用第三方的邮件平台,这肯定不是最好的选择,因为第三方的邮件需要外网的支持,但是外网又不是特别的可靠,假如外网链接出现了问题,这样就会不必要的延误我们的工期.再或者很多项目都是保密项目,在开发中只能用内网.但是不用邮件吧又不行.为了解决这个头疼的问题,我们的内网邮件服务器工具就出现了,只要用它安装在我们的服务器上,配置好账户,配置好客户端,在内网里就可

Android学习心得之 Linux下命令行Android开发环境的搭建

1. 前言2. Java以及Ant安装3. Android SDK安装4. Android工程的基础命令 一.前言 本篇博文记录了Linux下全命令行的Android开发环境的搭建,本文内容基于以下文章: http://zyqhi2010.blog.163.com/blog/static/171589378201261093235290/   ( Linux中搭建基于Emacs的Android开发环境 )https://linux.cn/article-5966-1.html   (打造一个全命

leaflet-webpack 入门开发系列一初探篇(附源码下载)

前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 webpack 配置介绍文档详细的 webpack 文档配置介绍,适合新手查看,我也是边看边学 vscode 安装包下载,我这边用 vscode工具编译开发前端项目,个人觉的这款工具还不错 leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 l

openlayers5-webpack 入门开发系列一初探篇(附源码下载)

前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 webpack 配置介绍文档详细的 webpack 文档配置介绍,适合新手查看,我也是边看边学 vscode 安装包下载,我这边用 vscode工具编译开发前端项目,个人觉的这款工具还不错 openlayers5 api文档介绍,详细介绍 openlayers5 每个类的函数以及属性等等 op