利用crtmpserver搭建rtmp服务器
Google + 实践:最终直播成功。
记录一下。
这样。兴许就能够对代码进行改造,利用开源码实现:Android平台下。搭建rtmpserver。浏览器端利用flash播放视频。
代码架构为:ffmpeg + crtmpserver + flash ,进一步拆分:flv muxer + librtmp + crtmpserver + flash
进入正题:
1. 下载crtmpserver ,地址:http://www.rtmpd.com/
2. 下载ffmpeg,下载地址:https://www.ffmpeg.org/
3. 下载librtmp。下载地址:https://rtmpdump.mplayerhq.hu/ 注:svn下载地址: svn://svn.mplayerhq.hu/rtmpdump
4. 下载libx264。下载地址:http://www.videolan.org/developers/x264.html
4. 下载Wowza media server, 下载地址: http://www.wowza.com/ 注意:不要忙于下载。后面会提到为啥要下这个。
编译crtmpserver: 过程曲折。请參考:
1. 源代码根文件夹的README。
2. Google。
3. 我遇到的主要问题是:我将源代码包放在了windows的D盘下,在centos虚拟机中共享的D盘,然后编译,编译只是。
解决的方法是:将源代码复制到虚拟机的home文件夹,然后再编译。成功。
编译ffmpeg,最好加上librtmp。libx264的支持。
1. 编译librtmp,libx264库。
1. ./configure --enable-gpl --enable-libx264 --enable-librtmp, 请參考:http://blog.csdn.net/lcl81/article/details/6455718
2. 不出意外就成功了。ffmpeg在linux上,比較easy编译。
播放vod文件:
1. cd crtmpserver/builders/cmake
2. 改动crtmpserver.lua。加入media file绝对路径。我的机器上配置是这种:
mediaFolder="/root/crtmpserver/media"
3. 将视频源放入"/root/crtmpserver/media"目录下。如sample.mp4. 注:sample.mp4 为wowza的一个演示样例视频源。
4. ./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua 注:如成功。
出现 GO! GO! GO!
5. 播放vod文件:./ffplay rtmp://localhost/flvplayback/mp4:sample.mp4 , 祝成功。。
播放ffmpeg直播源:
1. cd crtmpserver/builders/cmake
2. 改动crtmpserver.lua。向flvplayback应用中加入
{
ip="0.0.0.0",
port=7776,
protocol="inboundRtmp"
},
3. ./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua 注:如成功。出现 GO! GO! GO!
4. ./ffmpeg -re -i ~/wind/movie/sample.mp4 -vcodec copy -acodec copy -f flv rtmp://127.0.0.1:7776/flvplayback/test
5. ./ffplay "rtmp://localhost/flvplayback/test live=1"
注意:需加入live=1, 否则播放失败。请參考 https://groups.google.com/forum/#!msg/c-rtmp-server/2QXxIIr11vE/rw6vBR0UZXAJ
补充:
也能够使用flash播放。可是參考crtmpserver的README,我没有成功。但我使用了wowza的一个演示样例成功了。
这个演示样例在wowza安装文件夹下:Wowza Streaming Engine 4.0.5\examples\VideoOnDemandStreaming\FlashRTMPPlayer 。这个样例在我的资源中。
地址例如以下:http://download.csdn.net/detail/lcl81/7790153
这也是推荐下载wowza media server的原因。
Android下编译openssl,參考:http://wiki.openssl.org/index.php/Android
Android下编译ffmpeg,參考:http://download.csdn.net/detail/lcl81/7828817
Android下编译crtmpserver,參考:http://download.csdn.net/detail/lcl81/7833411
利用crtmpserver搭建rtmp服务器的更多相关文章
- 利用docker搭建rtmp服务器(1)
以后的项目里面可能需要用到直播,所以就先看看 本来想在自己MAC上搭建nginx的,后来怕把自己的机子搞乱,刚好就学习了下docker,感觉docker强大就在于是一个操作系统软件的版本管理系统,可以 ...
- nginx 搭建 rtmp 服务器
前言 最近接手了一个跟视频监控相关的项目,用了近年来越来越流行的 Web 服务器 nginx 加上 nginx-rtmp-module 搭建 rtmp 服务器.使用了阿里云的服务器,系统 Ubuntu ...
- windows环境下基于nginx搭建rtmp服务器
基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...
- 悄摸直播(三)—— 搭建rtmp服务器(smart_rtmpd - rtmp服务器搭建)
悄摸直播 -- javaCV实现本机摄像头画面远程直播 搭建rtmp服务器 一.素材 rtmp服务器:smart_rtmpd ffmpeg工具:ffmpeg.exe 二.搭建 1.下载smart_rt ...
- 利用docker搭建RTMP直播流服务器实现直播
一.rtmp服务器搭建 环境: centos 7.* 1.先安装docker(省略) 2.下载docker容器 docker pull alfg/nginx-rtmp 3.运行容器(记得打开防火墙端口 ...
- 搭建 RTMP 服务器
主要步骤 具体步骤 FAQ docker 搭建版 参考 主要步骤 下载 nginx 的 rtmp 模块 编译nginx,带 hls,rtmp 配置 nginx.conf,设置 rtmp 的推流文件路径 ...
- 利用Serv-U搭建FTP服务器
以前在学校的时候,学校的整个宿舍楼都是在一个局域网中,经常有人用个人电脑搭个网站或者FTP啊什么的,主要是进行一些影视资源的传播活动.不乏 有些资源充沛的有志青年利用业余时间翻译某岛国影视资源,利用局 ...
- CentOS利用postfix搭建邮件服务器
之前我用nodemailer通过163邮箱来发送邮件,不过没过几天就一直ETIMEDOUT,不知道什么原因,想着还是自己搭一个来发邮件可能靠谱点(flag?) 安装postfix CentOS 7 自 ...
- 利用nginx搭建https服务器
一.HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加 ...
随机推荐
- TroubleShoot:网站设置找不到术语管理
在SharePoint站点中找不到“术语管理”这个链接功能. 解决方案: Enable-SPFeature -id “73EF14B1-13A9-416b-A9B5-ECECA2B0604C” -Ur ...
- CSS实现Footer固定底部,超过一屏自动撑开
方法一:给html.body都设置100%的高度,确定body下内容设置min-height有效,然后设置主体部分min-height为100%,此时若没有header.footer则刚好完美占满全屏 ...
- PHPCMS内链设置,PHPCMS关联链接设置
需求: 在网站中的关键词,自动加上链接. 在PHPCMS中叫做“关联链接”,在DEDECMS中叫做TAG标签. 第1步:后台 -> 扩展 -> 关联链接 -> 添加关联链接: 第2步 ...
- dedecms--会员信息导出excel表格
1:在dede/templets下面的member_main.htm,在全选按钮那里添加一个导出excel按钮:代码如下: <a href="toexcel.php" cla ...
- jQuery 1.4版本的15个新功能(现在已经发布到jquery1.8,特别是增强版的live事件,支持 submit , change , focus 和 blur 事件)
1.jQuery()创建DOM元素:支持传参设置属性 之前,jQuery可以通过 attr 方法设置元素的属性,既可传属性的名和值,也可以是包含几组特定 属性名值对 的 对象.在 jQuery 1.4 ...
- AC日记——[USACO11DEC]牧草种植Grass Planting 洛谷 P3038
题目描述 Farmer John has N barren pastures (2 <= N <= 100,000) connected by N-1 bidirectional road ...
- ASP.NET MVC Identity 使用自己的SQL Server数据库
之前在网上看到的一篇后来找不到了,现在自己记录一下. 1.在web.config中添加一个数据库连接. <add name="dataContext" connectionS ...
- Web前端入门知识
第一阶段:理论知识 第一章:协议理解 第二阶段:了解知识 第二章:前端简介 第三阶段:入门知识 第三章:标签结构 第四章:常用标签 第四阶段:样式搭配 第五章:样式初见 第六章:属性选择 第七章:属性 ...
- 被动路由跟踪工具InTrace
被动路由跟踪工具InTrace InTrace是一款类似于Traceroute的路由跟踪工具.但它不同的是,他不主动发送数据包,而是通过监听当前主机和目标主机的数据包,进行分析,从而获取路由信息. ...
- 第三章 poj 1064——关于带精度的二分法
/* 题意:给定n个实数l[i],给定一个k 问:求最大的ans,使得sum l[i]/ans i=1 to n >=k,且ans最大*/ #include <iostream> # ...