5月 202014
 

FMS这个话题由来已久,H.264这个编码格式也由来已久。FMS不叫FMS了,改叫AMS了。因为是Adobe。
今天就说说flash发布流媒体视频,以H.264编码出现的问题。在网上找,大把的关于as3的H.264视频编码的代码。API就那么几个。可是,当你真正去做,用到流媒体发布和播放的时候,就会发现结果并不是想象的那么美。也许会遇到以下几个问题。
1.发布端的视频都不清晰。
2.发布端的视频清晰,客户端接受到的视频不清晰。
冥冥H.264视频编码备受推崇,高清的帽子早戴上了。为什么会这样呢。这里就将一点小细节说说吧。
1.不仅H.264那块的设置,你要设置好。Camera那里同样要设置好。如果你仅仅设置了H.264编码这里,却漏掉了设置Camera这块,你就会遇到上边的问题。
2.如果仅仅设置了Camera的setMode,那么你发布端的视频会是清晰的。如果还设置了setQuality。那么发布端和收看端都会有比较好的效果。
3.你H.264编码这边将视频分辨率,帧频设置成很高,并且Camera这里也这样设置。那么你的视频效果是杠杠的。不过,这个时候带来的后果就是字节量变大,占用的带宽很大很大。我将分辨率设置成640*480,帧频设置成30。上行的带宽达到400多K/S。视频获取源如果晃动下,会更厉害。所以,根据需要,可以适当的降低分辨率和帧频。即使你降低了分辨率,在Vedio那里,也是可以放大的。
Continue reading »

5月 092014
 

基于AS3丶FMS。对视频音频流的发布做一次总结。

点击右边的链接,可以先体验下:http://www.vini123.com/chatroom/

在视频音频流的发布前,先得做好第一步,NetConnecttion的连接。

然后,开始才开始视频音频流的发布。先创建一个NetStream对象,其包含一个参数就是NetConnection。

再获取摄像头,麦克风。设置摄像头,麦克风。将摄像头,麦克风附着到流上。如果是摄像头,还得建立一个Video对象,将摄像头也附着到Video对象上,使得自己也能看见视频。因为Video对象会添加到显示列表中。除非你不添加上去。

最后,发布流。

Continue reading »

9月 262013
 

客户端如何与服务端之间建立连接上次已经说了。今天主要说说客户端如何与服务端通信的。简单的说就是用使用什么方法,怎么处理。
先说客户端呼叫服务端。如果不使用共享对象,客户端呼叫服务端,就一个方法:call。call方法里边,第一个参数是服务端的方法名字,第二个参数是Responder对象(可以为空,就不需要返回了),后边的参数是任意的。可以带数值类型,object,array都可以。如:

            var songName:String = "痛彻心扉";
            var obj:Object = {nickName:"vini",age:28};
            var arr:Array = [1985,10,24];
            nc.call("iWantSing",null,songName,obj,arr);

Continue reading »

9月 162013
 

差不多一年的时间没有碰FMS了,最近又弄了下。做一个拥有共享画板,在线语音,支持留言,四种权限控制的工具。如果再完善点,可以作为简单的视频会议工具了。其实,最想做的就是做一个有P2P的多人视频唱歌工具。
简单的说下重点,今天先说下怎么处理客户端多处登录的问题。就是这样一个场景。你先登录了一个账号,再登录该账号,会前边一个账号从服务器踢出,同时告诉客户端做相应的处理。

(1)。 先建立好通讯文件。定义一个Array对象,用来放登陆用户的用户名(不放也可以的)。写好函数:application.onAppStart丶application.onAppStop丶application.onConnect丶application.onDisconnect。
实现相同登陆提醒主要是每次登陆前判断该登陆用户名是否已经在服务器上了。具体代码如下,都已经写好了注释。
Continue reading »

11月 022012
 

最近一个星期,都在做flash聊天室。音频和视频是分开的。其实,在这个过程中,界面,其他的一些排队,送礼物,列表这些都不是难题。问题就出在音频和视频上。因为音频和视频是分开的。所要测试的环境也多点。当然,从最简单,消耗带宽最小的测试开始。
测试环境。fms装在远程双线服务器上。带宽具体多大的我也不知道。家里就一台笔记本,一个台式机。都连接网络。笔记本连接无线路由。
(1)单独发布音频流的情况
a,单独发布音频流,发布端缓冲时间和客户端缓冲时间都为2秒:
microphone的rate属性值有44,22,11,8,5.默认值是8.是麦克风捕捉音频的频率,单位是KHZ。网上有说声音延迟和这个参数设置有关。我分别将microphone的rate值设置为8和44,测试的结果几乎一样。也许和 麦克风还有和客户端的个数有关系吧。
先排除这个不管他。接着测试其他的参数。
b,单独发布音频流,发布端缓冲时间设置为2秒,客户端缓冲时间为0秒。发现不了延迟。
c,单独发布音频流,发布端缓冲时间设置为0秒,客户端缓冲时间为2秒。发现了延迟。
到这里。感觉发布端没有必要设置缓冲吧。客户端总是要播放发布端发布到服务器上的流。发布端设置缓冲,似乎有点掩耳盗铃的意思。

这些设置到现在还不够。不能用到实际中。测试过了,说话还可以,如果用来唱歌,感觉声音每个字都被扯了一样。很难听。最好,客户端音频缓冲0.5秒,视频缓冲1秒。参数多,测试起来是有点麻烦。网上也看了些资料。

Continue reading »

网站地图