Flex 第四章(捕获实时视频、向实时视频中添加DVR特征)
来源:互联网 发布:小米网络音响蓝牙连接 编辑:程序博客网 时间:2024/05/17 18:47
转:http://hi.baidu.com/airlonepig/item/8d7f33edaf91501e570f1d62
第四章(捕获实时视频、向实时视频中添加DVR特征)
package {
import flash.display.MovieClip;
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.net.NetStream;
import flash.media.Video;
import flash.media.Camera;
import flash.media.Microphone;
public class PublishLive extends MovieClip
{
var nc:NetConnection;
var ns:NetStream;
var nsPlayer:NetStream;
var vid:Video;
var vidPlayer:Video;
var cam:Camera;
var mic:Microphone;
public function PublishLive()
{
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
nc.connect("rtmp://localhost/publishlive");
}
private function onNetStatus(event:NetStatusEvent):void{
trace(event.info.code);
if(event.info.code == "NetConnection.Connect.Success"){
publishCamera();
displayPublishingVideo();
displayPlaybackVideo();
}
}
private function publishCamera() {
cam = Camera.getCamera();
mic = Microphone.getMicrophone();
ns = new NetStream(nc);
ns.attachCamera(cam);
ns.attachAudio(mic);
ns.publish("myCamera", "live");
}
private function displayPublishingVideo():void {
vid = new Video(cam.width, cam.height);
vid.x = 10;
vid.y = 10;
vid.attachCamera(cam);
addChild(vid);
}
private function displayPlaybackVideo():void{
nsPlayer = new NetStream(nc);
nsPlayer.play("myCamera");
vidPlayer = new Video(cam.width, cam.height);
vidPlayer.x = cam.width + 20;
vidPlayer.y = 10;
vidPlayer.attachNetStream(nsPlayer);
addChild(vidPlayer);
}
}
}
import flash.display.MovieClip;
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.net.NetStream;
import flash.media.Video;
import flash.media.Camera;
import flash.media.Microphone;
public class PublishLive extends MovieClip
{
var nc:NetConnection;
var ns:NetStream;
var nsPlayer:NetStream;
var vid:Video;
var vidPlayer:Video;
var cam:Camera;
var mic:Microphone;
public function PublishLive()
{
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
nc.connect("rtmp://localhost/publishlive");
}
private function onNetStatus(event:NetStatusEvent):void{
trace(event.info.code);
if(event.info.code == "NetConnection.Connect.Success"){
publishCamera();
displayPublishingVideo();
displayPlaybackVideo();
}
}
private function publishCamera() {
cam = Camera.getCamera();
mic = Microphone.getMicrophone();
ns = new NetStream(nc);
ns.attachCamera(cam);
ns.attachAudio(mic);
ns.publish("myCamera", "live");
}
private function displayPublishingVideo():void {
vid = new Video(cam.width, cam.height);
vid.x = 10;
vid.y = 10;
vid.attachCamera(cam);
addChild(vid);
}
private function displayPlaybackVideo():void{
nsPlayer = new NetStream(nc);
nsPlayer.play("myCamera");
vidPlayer = new Video(cam.width, cam.height);
vidPlayer.x = cam.width + 20;
vidPlayer.y = 10;
vidPlayer.attachNetStream(nsPlayer);
addChild(vidPlayer);
}
}
}
向实时视频中添加DVR特征
DVR(digital video recorder)让观察者可以暂停实时视频并从暂停点恢复播放。也可以回退,播放录制的部分,跳转。
通过动态流使用DVR
为了能够绝对时间编码,在应用文件夹创建一个"Application.xml"文件,添加以下内容:
<Application>
<StreamManager>
<Live>
<AssumeAbsoluteTime>true</AssumeAbsoluteTime>
</Live>
</StreamManager>
</Application>
<StreamManager>
<Live>
<AssumeAbsoluteTime>true</AssumeAbsoluteTime>
</Live>
</StreamManager>
</Application>
- Flex 第四章(捕获实时视频、向实时视频中添加DVR特征)
- Xcode中捕获iphone/ipad/ipod手机摄像头的实时视频数据
- 使用ffmpeg捕获USB外部摄像头视频流实时播放
- 【OpenCV】SURF算法之视频图像实时特征点匹配
- Android中实时视频监控方案设计思路
- Android中实时视频监控方案设计思路
- Android中实时视频监控方案设计思路
- 视频流中实时人脸检测
- 实时视频抠像
- 视频实时抠像
- 实时视频网站架构
- Android 实时视频采集
- Android视频实时传输
- 视频实时数据
- ffmpeg 网络实时视频
- RTP视频实时传输
- 视频实时滤镜
- 实时音视频效果
- 11条jquery常用技巧和方法整理列表
- 一些sql语句练习
- 分支:数据链路层
- Eclipse大括号换行显示
- 周迅 明星烟熏妆更妖艳?
- Flex 第四章(捕获实时视频、向实时视频中添加DVR特征)
- CRF++:error while loading shared libraries的解決方法
- Linux kernel启动参数
- Redhat 5.5 Orcle RAC 数据库 从10.2.0.1升级到 10.2.0.5
- libtool
- Ruby 获取当前执行文件所在路径 ; ruby获取当前路径
- 关于过滤器的一些总结
- C++Strcpy函数用法
- 在eclipse下远程连接hadoop1.1.1 报错