RTMP服务
Defonds
Arcsoft云服务部门视频流服务产品技术经理。多年一线Java Web开发经历,专注高性能Web服务、Web项目架构设计。熟悉权限设计、服务集群、安全防御、设计模式、多线程并发编程、JVM内存管理、项目管理等Web开发所涉及领域以及各种开源Web开源框架,还做过一年JavaMobile开发,熟悉多个J2ME开源框架
展开
-
黑盒变白盒 - 调试 Red5 项目时查看 Red5 容器内部运行机制
《如何使用 Red5 插件创建 Red5 项目?》介绍了如何在 Eclipse 下创建并调试 Red5 项目。有同学问,“我想在调试 Red5 应用程序时,能够边看Red5 API 边看到 Red5 容器内部运行情况。最好是能修改一下 Red5 源代码,然后看其运行情况。能做到吗?” 可以。本文从 Bootstrap 说起,介绍如何让 Red5 源代码“动起来”。原创 2012-06-25 18:32:21 · 6359 阅读 · 3 评论 -
使用 Flex 和Java servlets 将文件上传到 RED5 服务器的步骤
使用 Flex 和Java servlets 将文件上传到 RED5 服务器的步骤本文示例资源下载地址 本文使用一个 demo 来演示如何使用 Flex 和 Java servlets 上传一个任意类型的本地文件到 RED5 服务器。使用的是 Flex 的 FileReference 接口,该接口可以对远程服务器上的文件进行上传、下载。FileReference 类提供了一个翻译 2012-06-06 17:16:20 · 5258 阅读 · 3 评论 -
使用安全令牌保护 RTMP 流
本文就如何使用安全令牌对 Wowza 媒体服务器的直播流或者点播流进行保护的过程进行探讨,就服务器端和客户端配置分别进行了详细描述。翻译 2014-01-21 20:14:03 · 11625 阅读 · 0 评论 -
关于 CloudFront 的 Web 和 RTMP 进行 CDN 加速的概述
使用 Amazon CloudFront 实现对你的 RTMP 服务进行 CDN 加速网络的概述。翻译 2013-12-27 13:42:12 · 5286 阅读 · 0 评论 -
使用亚马逊 CloudFront 创建 RTMP 的 CDN 加速
本文介绍了如何使用亚马逊 CloudFront 创建对你的 RTMP 服务 CDN 加速网络。翻译 2013-12-27 16:19:39 · 5848 阅读 · 0 评论 -
Adobe 官方公布的 RTMP 规范
本文是为截至发稿时止最新 Adobe 官方公布的 RTMP 规范的中文翻译。包含 RTMP 规范的全部内容。是第一个比较全的 RTMP 规范的中译本。本中译本已做成 PDF 格式,下载地址:http://download.csdn.net/detail/defonds/6767991。本文博客翻译内容仅可用来学习交流使用,未经允许不得转载。翻译 2013-12-24 20:49:47 · 30189 阅读 · 8 评论 -
实时消息传输协议 RTMP(Real Time Messaging Protocol)
实时消息传输协议(RTMP)最初是由 Macromedia 为互联网上 Flash player 和服务器之间传输音频、视频以及数据流而开发的一个私有协议。Adobe 收购 Macromedia 购以后,公布了这个协议的一部分,以备公共使用。本文是维基百科关于 RTMP 的解释, 关于 RTMP 官方规范参见 RTMP 规范,关于 RTMP 官方规范的中文版,参见《Adobe 官方公布的 RTMP 规范》。翻译 2013-12-18 21:59:52 · 21786 阅读 · 1 评论 -
对于 codec(编解码器) 和 container(容器) 的理解
由于部分标准化的缺失、混乱的市场推广以及文件名后缀,很多人搞不懂 codec (编解码器) 和 container (容器) 文件格式之间有啥区别。本文就是一个以不深入行业细节来澄清这一区别的尝试。翻译 2013-12-31 16:53:12 · 3909 阅读 · 0 评论 -
使用亚马逊 CloudFront 进行 RTMP 的 CDN 加速
本文详细介绍了如何使用亚马逊 CloudFront 配置和管理你的 RTMP 服务 CDN 加速网络。翻译 2013-12-31 14:59:38 · 13097 阅读 · 1 评论 -
使用 Wowza 录制直播流 (HTTPLiveStreamRecord)
直播录制,从前的一个免费的插件,已被作为一个提供更多录制直播流为点播文件的接口纳入 Wowza Media Server 3.5。这一功能可以让你使用基于 web 的用户接口,HTTP URL 查询或者以编程方式控制直播流的录制过程。包含有强大的 API 以支持分割进程中的直播流到 MP4 文件或者 FLV 文件,支持基于视频时间,时钟时间或者文件大小的切割点。 说明:翻译 2013-10-30 18:22:38 · 12307 阅读 · 2 评论 -
如何在 Linux 服务器上安装 Red5?
安装 Red5 服务启动脚本下载地址 要在 Linux 服务器上安装 Red5,应该先安装 JDK 和 ANT。可以参考《如何在 64 位 linux 机器上安装 jdk1.6?》、《如何在 Linux 服务器上安装 apache ant?》。 成功安装好 JDK 和 ANT 后可以参考以下步骤:=============================原创 2012-06-13 16:25:28 · 9150 阅读 · 31 评论 -
eclipse 的 Red5 插件安装简介
本文来自 Red5 官方给的 "Eclipse Plugins" 文档。关于 elipse 插件的安装,我们并不陌生,也可以参考《linux 下 eclipseME 插件的安装步骤》、《集成 Eclipse UML 插件至 Eclipse 全过程》、《linux 下集成 svn 至 eclipse 全过程》、《Linux 下集成 Qt 插件至 Eclipse 全过程》、《集成 CDT 插件翻译 2012-06-14 14:36:40 · 10883 阅读 · 8 评论 -
JW Player 使用 RTMP 流
JW Media Player 是开源的网页使用的 Flash 播放器。本文采摘于 JW Player 的官方文档,讲解了 JW Player 对于 RTMP 的使用方法,我们可以从 JW Player 客户端的角度来了解 RTMP 协议。翻译 2013-12-26 21:06:06 · 25711 阅读 · 22 评论 -
Mistserver 介绍 - 一个轻量级高可扩展性的媒体服务器
Mistserver 是一个轻量级的,开源多重标准的多媒体服务器。它填补了轻量级服务器和支持非 HTTP 协议的重量级媒体服务器之间的差距。MistServer 足以媲美 Adobe 的 FMS、微软的 Windows Media Services、Wowza 媒体服务器以及开源的 Red5。此外,它还有一些独有特性。翻译 2014-02-08 17:56:10 · 5747 阅读 · 0 评论 -
使用 Wowza IDE 开发第一个 Wowza 服务器扩展应用 -- 监控直播频道
跟 Red5 类似,Wowza 支持服务扩展,用户可以进行自定义应用程序开发,然后将其作为一个模块部署在 Wowza 服务器。Red5 提供了一个 Eclipse 插件进行应用扩展开发,Wowza 则提供了一个 IDE。本文简要介绍如何使用 Wowza IDE 开发第一个 Wowza 服务器扩展应用。《安装并使用 Wowza 发布你的 RTMP 直播流》一文介绍了如何安装 Wowza 服务器并提供直播服务,本文将继续以此为例,介绍如何使用 Wowza IDE 开发应用对每个流频道进行监控。原创 2013-09-25 20:40:38 · 8439 阅读 · 1 评论 -
Ribbon 和 wowza 的集成开发
Ribbon 是提供 REST 服务的区域感知负载均衡器,它在 wowza 的前端,应该部署在专业的 REST 容器下,而不是流媒体服务器 wowza 下。本文介绍了 Ribbon 和 wowza 的集成,Ribbon 作为 wowza 的一个插件部署在了 wowza 容器下,仅供 Ribbon 开发、部署的技术参考,现实中绝不可能出现这种情况,因为 Wowza 毕竟不是专业提供 REST 服务的容器。关于 Ribbon 和 Wowza 真实场景的架构部署,请关注作者后续博客。原创 2014-06-20 13:41:46 · 5989 阅读 · 1 评论 -
Linux 下 Eureka 服务器的部署
1. 查看 Linux 相关信息 版本查看# cat /etc/issueCentOS release 6.5 (Final) 位数查看# getconf LONG_BIT64 第 2 - 4 步是 Eureka Server war 包的构建,如果你嫌自己构建麻烦可以去 http://mvnrepository.com/artifact/com.netf原创 2014-07-04 09:16:49 · 48847 阅读 · 2 评论 -
让你的 wowza 服务器提供 RESTful web 服务
有时我们 nginx 需要和 wowza 服务器交互以进行一些 LB 事宜;有时我们的管理员需要实时了解 wowza 服务器的一些其他状态信息(比如一些自定义对象的状态等等),而用 rtmp 不是太方便。这些情况下,如果我们的 wowza 服务器能提供一个 http api 就好了,就像 web 容器 tomcat 那样。本文以一个简单的 http 发送参数到 wowza,然后 wowza 返回一个 json 为例(经典的 REST 案例),介绍如何让你的 wowza 服务器提供 RESTful web 调原创 2014-06-13 15:28:11 · 4606 阅读 · 0 评论 -
取代 Ant:使用 Maven 管理 Wowza 插件开发
Wowza ide 对于 Wowza 插件的开发不支持 maven,开发调试起来虽然没啥问题,但随着各种功能的不断添加,第三方包会越来越多,各种 jar 包管理起来相当混乱,给开发和维护升级带来很多不便。事实上 Maven 也可以集成进 Wowza 的开发进来,完全可以替代掉 Wowza 官方 IDE 提供的 ant。本文介绍如何使用 Maven 开发一个 Wowza 插件的过程。实践证明,Maven 开发 Wowza 插件,具有 ant 所具备的所有优点(比如对开发中的插件进行断点调试、项目自动部署),不原创 2014-04-02 17:47:00 · 4169 阅读 · 0 评论 -
云中间层服务 - 区域感知负载均衡器 Ribbon
Ribbon 是 Netflix 发布的云中间层服务开源项目,其主要功能是提供客户侧软件负载均衡算法,将 Netflix 的中间层服务连接在一起。本文结合 Wowza 流媒体部署案例,介绍 Ribbon 在集群流媒体服务中的应用。原创 2014-06-20 20:21:59 · 12057 阅读 · 3 评论 -
Eclipse Wowza 插件报 "The builder launch configuration could not be found" 错误的解决办法
本文将介绍在 Wowza 插件开发时,如何在不去掉 ant 的自动构建的前提下(因为 Wowza Eclipse 插件开发是基于 ant 构建的!),解决 Eclipse Wowza 插件报 "The builder launch configuration could not be found" 的错误。原创 2014-05-20 15:43:52 · 10220 阅读 · 0 评论 -
Memcached 与 Wowza 项目的集成
集群是 Wowza 部署的必修课,集群环境下的 Wowza 插件所依赖到的缓存采用 Memcached 作为解决方案是个不错的选择。本文简单介绍如何在 Wowza 插件开发项目中加入 Memcached 支持,关于 Memcached 数据原子性、Memcached 的集群以及 java 进程内缓存暂时没有涉及。本文示例代码用的是 spymemcached 2.8.4。原创 2014-04-24 16:01:02 · 3014 阅读 · 0 评论 -
使用 spring 集成 dbcp 数据库连接池到 Wowza 插件
对于 Wowza 扩展插件,很可能需要连接数据库进行一些持久化查询操作,而且也很有可能把各种业务逻辑 bean 进行集中管理起来。本文结合集成 dbcp 数据库连接池到 Wowza 插件的案例,顺带介绍 spring 和 Wowza 的集成。本文示例在 Wowza Streaming Engine 4.0.1 下执行成功。 1. 准备依赖包 本文示例数据库为 MySQL原创 2014-03-25 21:59:15 · 4490 阅读 · 2 评论 -
配置 VLC 以播放 RTSP/RTP 流
本文介绍配置 VLC 以播放基于 TCP 的 RTSP/RTP 流。在穿过一个没有开放 UDP 的防火墙 / 路由的情况下这种模式的流被认为表现的更好。(笔者 VLC 版本 2.1.3,64 位 Windows 2007 下配置成功) 1. 打开 VLC 2. 菜单栏选择工具 -> 首选项 3. 选择输入 / 编解码器页项 4. Live55翻译 2014-04-15 17:15:10 · 50343 阅读 · 4 评论 -
Eclipse 安装/更新 Wowza IDE 插件的步骤
1. 安装 Eclipse IDE for Java Developers 版本(3.5 SR1 [Galileo] 或更高版本) 2. 启动 Eclipse 3. 菜单栏点击 Help 选项,然后选中 Install New Software... 4. Available Software 对话框中,点击 Add... 按钮 5. Add翻译 2014-03-18 10:23:06 · 6481 阅读 · 0 评论 -
Linux 下安装 wowza 服务器
Windows 下的 wowza 服务器安装很简单,下载到 WowzaStreamingEngine-4.0.3.exe 安装包之后,输入 license 然后一路 next 即可,安装成功之后,wowza 会默认将 Wowza Streaming Engine 和 Wowza Stream Engine Manager 启动,而且默认将其设置为两个服务并在系统重启后自动启动。Linux 下的安装原创 2014-03-28 16:07:12 · 8772 阅读 · 2 评论 -
如何使用 Red5 插件创建 Red5 项目?
书接上回~《eclipse 的 Red5 插件安装简介》,接下来我们介绍的是如何使用 Red5 插件创建 Red5 项目。 这里我们可以找到使用 Red5 插件创建一个新的 Web 项目的过程。 步骤 1: 新建一个 Dynamic Web Project 步骤 2: 如果这是你第一次使用 R翻译 2012-06-14 16:09:29 · 11430 阅读 · 10 评论 -
使用 Eclipse 创建第一个 Red5 应用程序示例 - 使用 Red5 在线录制视频
本文示例源代码下载地址 书接上回~《如何使用 Red5 插件创建 Red5 项目?》,接下来要做的当然是想看看自己在 Eclipse 开发的应用程序跑的效果。本文使用具体例子——使用 Red5 在线录制视频,介绍怎样让创建的第一个 Red5 应用成功运行。 步骤 1:安装 Red5。 Linux 下可以参考《如何在 Linux 服务器上安装 R原创 2012-06-14 19:47:32 · 17120 阅读 · 12 评论 -
Red5 流处理架构设计解析
前言 流处理是 Red5 容器的一个核心。本文是一个 Red5 流处理的设计文档,来自于 Red5 团队的邮件列表,作者是 Steven Gong,起稿于 2006 年 4 月。本文的原文标题是《关于流处理架构设计的介绍》,原文可以点击这里进行查看。 虽然只是一个初始的设计构想,而且有些细节还没有敲定,但通过对本文的学习,我们仍然可以深入领会到 Red5 流处理翻译 2012-06-28 15:32:42 · 18920 阅读 · 3 评论 -
安装并使用 Wowza 发布你的 RTMP 直播流
I. 下载 Wowza 官方下载地址 http://www.wowza.com/pricing/installer,选择适合你自己的平台的版本进行下载。 作者上传了一个 Windows 版本的和 一个 Linux 版本的 RPM 到 CSDN 资源,如果看官嫌从官网下载速度太慢,可以点击下载:WowzaMediaServer-3.6.2.exeWow原创 2013-09-24 15:59:43 · 40503 阅读 · 16 评论 -
Nginx 开启 debug 日志的办法
一般来讲,Nginx 的错误日志级别是 error,作为 Nginx 用户来讲,你设置成 info 就足够用了。但有时有些难以挖掘的 bug,需要看到更详细的 debug 级别的日志,这时候,单单把 error_log 级别设置成 debug 是不行的,Nginx 记录下来的还是 info 级别以上的信息。你需要激活 Nginx 的 debug 日志才可以得到 debug 级别的日志信息。本文简要介绍了 Nginx debug 日志的激活和配置使用。翻译 2013-09-12 17:30:05 · 78017 阅读 · 0 评论 -
Nginx RTMP 服务器出现 "RTMP in chunk stream too big: 64 >= 32" 后断开连接的解决方案
我们用 Java 将从 Cam 提取的音视频流 mux 成 flv 以后,发 RTMP 流给 Nginx-RTMP-Module Server,后者发布 RTMP 服务。 近来,我们发现 Nginx-RTMP-Module 发布 RTMP 服务的时候,时常出现 "RTMP in chunk stream too big: 64 >= 32" 错误。 调整 max原创 2013-09-11 20:32:14 · 6629 阅读 · 2 评论 -
TCPDump:捕获并记录特定协议 / 端口
Q. 如何使用 Linux / UNIX 平台下的 TCPDump 工具捕获特定协议或端口比如 80 (http)?如何使用 TCPDump 将流记录下来,然后(根据记录)查找到问题所在? A. TCPDump 是一个用于网络监控和数据采集的工具。它可以给我们节约大量的时间,并能用于网络调试或者服务器相关的问题的解决。Tcpdump 会将通过匹配布尔表达式的网络接口的包的内容的描翻译 2013-09-09 15:00:16 · 33937 阅读 · 0 评论 -
Nginx 的 RTMP 模块的在线统计功能 stat 在 multi-worker 模式下存在 Bug
《让你的 Nginx 的 RTMP 直播具有统计某频道在线观看用户数量的功能》一文介绍了 Nginx 的在线统计模块。 我们的在线直播服务使用了 Nginx 的 Rtmp 模块(请参阅《Nginx RTMP 模块 nginx-rtmp-module 指令详解》)。总体来讲,这个模块的功能稳定性和性能等方面都是很出色的。只要你的直播源头数据供给没问题,Nginx 的直播发布就 No原创 2013-08-05 14:24:17 · 10813 阅读 · 0 评论 -
Linux 编译升级 Ffmpeg 步骤
如果服务器已经安装了一个 Ffmpeg 的话,比如已安装在 /usr/local/ffmpeg 目录。版本升级步骤如下: 1.下载 ffmpeg-*.tar.gz 到 Ffmpeg 官网 https://ffmpeg.org/download.html 挑选你要升级到的版本,然后下载,比如作者下载的是 ffmpeg-2.0.tar.gz。原创 2013-08-01 10:22:01 · 16813 阅读 · 1 评论 -
让你的 Nginx 的 RTMP 直播具有统计某频道在线观看用户数量的功能
你的 Nginx 已经有了 RTMP 直播功能的话,如果你还想统计某直播频道当前观看用户量的话,可以加入 with-http_xslt_module 模块。具体步骤如下: 1.查看原来的参数 /usr/local/nginx/sbin/nginx -V 输出中可以得到原来编译时带有的参数,比如作者得到: --user=ngin原创 2013-06-09 16:10:18 · 15894 阅读 · 3 评论 -
Nginx RTMP 模块 nginx-rtmp-module 指令详解
译序:截至 Jul 8th,2013 官方公布的最新 Nginx RTMP 模块 nginx-rtmp-module 指令详解。指令Corertmp语法:rtmp { ... }上下文:根描述:保存所有 RTMP 配置的块。server语法:server { ... }上下文:rtmp描述:声明一个 RTMP 实例。rtmp { server {翻译 2013-07-08 18:26:48 · 114255 阅读 · 6 评论 -
RTMP 协议的一个 Java 实现:Flazr
Flazr 是 RTMP 协议的一个 Java 实现,这个项目提供了一个流媒体服务器和相关的工具类。 特性 RTMP 流媒体服务器; 支持视频点播,查找和暂停; 发布 / 广播实况流; 支持 FLV、F4V/MP4/H.264; RTMP 客户端:能够将本地文件发布到远程服务器;翻译 2013-04-07 11:01:57 · 24143 阅读 · 0 评论 -
FFMPEG-Java 入门
注意:FFMPEG-Java 和 Jffmpeg 不是一回事。FFMPEG-Java 是 Freedom for Media in Java(缩写为 FMJ)的一个子项目。 这个项目遵循了 LGPL 许可。它具有可选的 GPL 组件来使用 FFMPEG 的 GPL swscale 库。如果你要使用 swscale 和 GPL,可以使用 ffmpeg-java-gpl.jar。这个翻译 2013-05-30 17:31:10 · 28955 阅读 · 1 评论 -
Java 调用 FFMPEG 命令时用 url 作为输入源,Linux 下出现 “no such file or directory” 问题的解决
Windows 下执行 ffmpeg 命令, D:/tools/ffmpeg/bin>ffmpeg.exe -i "某视频文件下载URL" -f flv D:/1.flv 可以成功直接将下载链接输入源转为 1.flv。String raw2flvCmd = "D:/tools/ffmpeg/bin/ffmpeg.exe -i \"某视频文件下载URL\"原创 2013-04-28 15:27:22 · 19994 阅读 · 17 评论