`
flex_莫冲
  • 浏览: 1092607 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

FMS項目總結

 
阅读更多
FMS是ADOBE的流媒體服務器。目前大多數聊題室,視頻提供服務商採用FMS Server。

1、FMS採用的是 rtmp協議
rtmp介紹:(參考資料)
RTMP协议详解(一)
Real Time Messaging Protocol(实时消息传送协议协议)是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的私有协议。
具体使用RTMP的AS代码大概如下:
  var videoInstance:Video = your_video_instance;
  var nc:NetConnection = new NetConnection();
  var connected:Boolean = nc.connect("rtmp://localhost/myapp");
  var ns:NetStream = new NetStream(nc);
  videoInstance.attachVideo(ns);
ns.play("flvName");
Adobe也在官方网站已经提供了RTMP协议的官方文档说明,为什么要写这个系列文章最大的原因只是对前一段工作的一个总结和回顾,最近两个月,实现了一个RTMP Server的c++版本,把公司的流媒体服务和flash无缝对接起来。希望我的文字能给后来研究这个协议的同学有一定的帮助。
RTMP协议是一个基于TCP的高层协议族,当然这个玩意据说还有UDP协议版本的,不过现在还没有出来,好像Adobe下一版本的FMS会提供支持。下文将要描述的是TCP协议版本的协议。
   RTMP协议的概要理解:
RTMP协议是为了和flash之间交换信令以及媒体数据。为了提高使用效率信令和媒体数据都是使用相同的机制。因为是相同的机制Adobe就整出来了一些比较搞人的概念,当然每个协议第一次接触都是比较难理解的。
        在RTMP协议中信令和媒体数据都称之为Message,在网络中传输这些Message,为了区分它们肯定是要加一个Message  head的,所以RTMP协议也有一个Message head,还有一个问题因为RTMP协议是基于TCP的,由于TCP的包长度是有限制的(一般来说不超过1500个字节),而RTMP的Message长度是有可能很大的,像一个视频帧的包可能会有几十甚至几千K,这个问题就必然有一个分片的问题,在RTMP协议中对应的说法就是chunk,每一个Message + head都是由一个和多个chunk组成的。到这里对RTMP协议的概要理解就算完了。

2、RTMP和HTTP的區別和優異

RTMP只能採用flash player的播放器,也就是必須基於flash。
優點:實時播放。支持舊版IE等傳統瀏覽器。統一的視頻源。視頻無法被直接下載。
缺點:不兼容蘋果設備等。

HTTP採用的是HTML VIDEO標籤。支持IPAD等不支持flash的移動設備
優點:跨平台。不用安裝插件。支持ipad等
缺點:
1、不支持舊版IE等傳統瀏覽器。
2、若要支持多種瀏覽器,必須提供多種格式的視頻。如firefox支持ogg,chrome支持mp4.若要支持兩者必須同時提供2種視頻格式。
3、無法保證視頻的安全性。可通過url直接下載。
4、不支持實時播放。


RTMP的播放地址格式:
rtmp://192.168.2.XXX/vod/mp4:/hls-vod/mmc/qqqq/20121129/1/video.mp4

HTTP的播放地址格式:
192.168.2.XXX:8134/vod/hls-vod/mmc/qqqq/20121129/1/video.mp4

視頻測試地址
(OSMF播放器)
http://192.168.2.XXX:8134/OSFMPlayer/OSMFPlayer.html
HTTP測試
http://192.168.2.XXX:8134/videoPlayer/videoplayer.html

參考:http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol

2、M3U8
在FMS SERVER,上傳一個視頻文件會自動生成一個對應的m3u8文件。而這個文件在FMS SERVER服務器是找不到的。同時要在視頻文件的同級目錄下手動創建一個m3u8文件。
test1.mp4.m3u8內容格式如下
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2000000
http://192.168.2.xxx:8134/hls-vod/mmc/project/20121126/1/test1.mp4.m3u8

只有最後一行是變化的。前面2行是固定的。
後面可能還有其它內容。但是不影響視頻播放。


3、视频截图类包 ffmpeg
在win7上安装不了,只能在xp和linux系统上安装。

fmle HTTP LIVE STREAM 直播流的參考資料:
http://www.onyxservers.com/help/How_to_stream_live_video_to_iOS_iPhone_iPad_Flash.html

4、osmf 播放器
Strobe Media Playback player
下载地址
http://sourceforge.net/projects/smp.adobe/?source=dlp

这个播放器有几个问题:
a、不支持通过脚本实现全屏
b、在firefox的普通版本下,初始化视频插件非常慢,要十几秒。在chrome和firefox ESR企业版本无此问题。

可参考官方的setup.html实现自定义视频的配置。

api设置参考资料
http://www.adobe.com/devnet/flash/articles/mastering-osmf-pt1.html

http://osmf.org/dev/1.5gm/
分享到:
评论

相关推荐

    工业互联网:富士康FMS项目案例分享.pptx

    本资源摘要信息主要介绍了富士康FMS项目的案例分享,涵盖了项目信息来源及背景、项目概况介绍、商务关键过程简介、项目实施的过程、项目效果介绍、项目总结展示系统运行效果和总结等方面。 在项目信息来源及背景中...

    FMS 服务端

    总结,FMS服务端是实现高质量直播和点播服务的关键组件,它通过实时推流、高效分发和互动功能,为用户提供流畅的多媒体体验。结合提供的压缩包文件,开发者可以进一步研究和实践FMS的各类功能,优化其在实际项目中的...

    FMS_S7_通讯例程.zip

    在FMS_S7_通讯例程中,开发者可以查看和分析代码,了解如何在实际项目中应用FMS通信。 6. **开发环境** 实现FMS-S7通信可能需要使用西门子的编程软件,如Step 7或TIA Portal,这些工具提供了编程、配置和调试的...

    fms3视频教程.PDF

    以上代码片段展示了如何在Flash项目中通过ActionScript 3.0实现与FMS服务器的连接。通过定义`ConnFMS`类,使用`NetConnection`对象进行连接,并通过事件监听器来响应连接过程中的状态变化。 #### 六、总结 通过本...

    FMS3系列(五):通过FMS实现时时视频聊天(Flash|Flex)

    总结,通过FMS3实现实时视频聊天涉及音视频编码、数据传输协议、服务器管理等多个层面的知识。掌握这些技术,开发者可以构建出功能强大、性能卓越的在线沟通平台,满足不同场景的需求。通过学习提供的源码和实践相关...

    FMS连接问题解决方案--完结版

    解决方法是检查FMS安装目录下的`fms/applications/vod/`,确保按照`readme.txt`中的指示将所需文件复制到项目文件夹,并尝试重启FMS服务。如果问题仍然存在,可以尝试以下步骤。 2. **设置NetConnection对象的编码...

    thikphp+FMS 直播系统.rar_fms php_php 直播_thikphp+FMS 直播系统_直播_视频直播

    总结来说,结合thikphp的灵活性和FMS的专业流媒体处理能力,可以构建出稳定、高效的视频直播系统。在实际开发过程中,需要充分考虑用户体验、系统安全和性能优化,以满足日益增长的实时视频需求。通过不断迭代和优化...

    FMS.rar_asp.net_fms_财务管理系统

    总结,这个"FMS.rar_asp.net_fms_财务管理系统"项目是使用ASP.NET技术构建的财务管理系统,通过了解其源代码、数据库结构和可执行程序,我们可以深入学习ASP.NET的开发实践和财务管理系统的构建技巧。同时,该项目也...

    FMSTEches.rar(FMSTEches.rar fms教程)

    总结来说,这个“FMSTEches.rar”教程提供了基础的FMS学习资源,包括ActionScript编程、Flash项目创建以及最终的SWF应用程序演示。通过这些内容,学习者可以了解到FMS的基本架构、如何用ActionScript与服务器交互,...

    FMS案例开发.pdf

    在本案例中,我们主要探讨的是如何利用Adobe的FMS(Flash Media Server)技术来开发一个视频聊天室。FMS是Adobe提供的一款...这样的项目不仅展示了FMS的强大功能,也为其他开发者提供了学习和实践RIA技术的宝贵资源。

    as3 + fms3聊天室

    总结来说,"AS3 + FMS3聊天室"是一个实践性极强的学习资源,涵盖了Flash ActionScript编程、实时通信技术以及服务器端管理等多个重要概念。对于希望提升Flash开发技能,尤其是对实时交互应用感兴趣的开发者来说,这...

    简易FMS_零件图_机械工程图_机械三维3D设计图打包下载.zip

    通过这些图纸,我们可以学习到如何在实际项目中规划和设计FMS,理解自动化生产线的构成和运作原理。 接下来,零件图是机械设计的基础,它们详尽地描绘了每一个零部件的尺寸、形状、材料以及制造要求。在FMS设计中,...

    FMS服务器端ActionScript语言参考.pdf

    ### FMS服务器端ActionScript语言参考 #### 一、引言 随着互联网技术的发展,实时交互式...无论是对于初学者还是经验丰富的开发者来说,深入理解和掌握服务器端ActionScript都是提升项目质量和用户体验的关键之一。

    Fms3和Flex打造在线多人视频会议和视频聊天(附原代码)

    总结来说,使用FMS3和Flex构建在线多人视频会议系统,需要掌握音视频处理、网络通信、用户界面设计等多个方面的技术。有了这个教程及源代码,开发者可以深入学习并实践这一过程,为构建自己的视频会议平台打下坚实...

    FMSProject_1.0.0_eclipe3.3.zip

    这个压缩包中的内容将帮助我们深入理解如何利用该插件在Eclipse中有效地进行FMS项目的开发。 一、FMS项目开发背景 FMS,全称Flex Media Server,是基于Flash Platform的流媒体解决方案,支持RTMP、HDS和...

    fms string tokenizer-开源

    总结来说,`fms_string_tokenizer`是一款强大的跨语言字符串分词工具,它以一致性、灵活性和可扩展性为核心,为开发者提供了一种有效处理文本数据的方式。通过利用开源社区的力量,它将持续优化并增加新功能,成为更...

    flash as3录音压缩为MP3并上传(不用借助fms)

    这个过程不再需要通过FMS(Flash Media Server)进行中转,大大提高了效率。以下是对该技术的详细解释: 1. **AS3录音功能**: AS3(ActionScript 3.0)是Flash开发中的主要编程语言,提供了强大的音频处理能力。...

    FlashMediaServer开发入门与配置

    一个基本的FMS项目可能包括创建一个简单的视频播放器,通过RTMP连接到FMS服务器,然后播放存储在服务器上的视频内容。这涉及到对ActionScript的掌握,以及对服务器配置的理解。 ### 总结 Flash Media Server的开发...

Global site tag (gtag.js) - Google Analytics