Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.10.2011, 16:48
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

flash media server интересная все таки штука....
Вообщем только сегодня впервые начал разбираться с
flash media server интересная все таки штука....
и вот что наковырял
скрипт сначала спрашивает у вас разрешения показать камеру, разрешаем видим свою довольную рожу....
нажимаем записать ....записываем свою довольную рожу....
и после воспроизводим запись уже с сервера....
я вот только уловить не могу как сделать чтобы фаил проходил через сервер.... в реал тайме.. то есть не сохранял.... а вещал постоянно ...



package
{
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
	
	import flash.net.NetConnection;
	import flash.events.NetStatusEvent;
	import flash.net.NetStream;
	
	import flash.media.Camera;
	import flash.media.Microphone;
	import flash.media.Video;
	
	public class Record extends MovieClip
	{
		private var nc:NetConnection;
		private var sendStream:NetStream;
		private var receiveStream:NetStream;
		
		private var camera:Camera;
		private var mic:Microphone;
		private var video:Video;
		private var player:Video;
		
		private var metaObject:Object;

		public function Record()
		{
			nc = new NetConnection();
			nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
			nc.connect("rtmp://localhost/test");			
		}
		
		private function netStatusHandler(event:NetStatusEvent):void
		{
			switch (event.info.code)
			{
				case "NetConnection.Connect.Success":
					setUpMedia();
					break;
				default:
					trace(event.info.code);				
			}
		}
		
		private function setUpMedia()
		{
			camera = Camera.getCamera();
			camera.setMode(260, 180, 24);
			camera.setQuality(0, 90);
			mic = Microphone.getMicrophone();
			
			video = new Video(camera.width, camera.height);
			video.x = 10;
			video.y = 20;
			video.attachCamera(camera);
			addChild(video);

			sendStream = new NetStream(nc);
			recordBtn.addEventListener(MouseEvent.CLICK, startRecord);
					
			player = new Video(camera.width, camera.height);
			player.x = 280;
			player.y = 20;
			addChild(player);

			receiveStream = new NetStream(nc);
			metaObject = new Object();
			receiveStream.client = metaObject;
			metaObject.onMetaData = getMeta;
			
			playBtn.addEventListener(MouseEvent.CLICK, startPlay);
		}
		
		private function getMeta(mdata:Object):void
		{
			for (var property:Object in mdata)
			{
				trace(property + " = " + mdata[property]);
			}
		}		
		
		private function startRecord(event:MouseEvent):void
		{
			if (sendStream)
			{
				recordBtn.label = "Стоп";
				recordBtn.removeEventListener(MouseEvent.CLICK, startRecord);
				recordBtn.addEventListener(MouseEvent.CLICK, stopRecord);
				
				sendStream.attachAudio(mic);
				sendStream.attachCamera(camera);
				sendStream.publish(recordTxt.text, "record");
			}
		}
		
		private function stopRecord(event:MouseEvent):void
		{
			sendStream.close();
			playTxt.text = recordTxt.text;
			recordBtn.label = "Запись";
			recordBtn.removeEventListener(MouseEvent.CLICK, stopRecord);
			recordBtn.addEventListener(MouseEvent.CLICK, startRecord);
		}

		private function startPlay(event:MouseEvent):void
		{
			if(receiveStream)
			{
				playBtn.label = "Стоп";
				player.attachNetStream(receiveStream);
				receiveStream.play(playTxt.text);
				
				playBtn.removeEventListener(MouseEvent.CLICK, startPlay);
				playBtn.addEventListener(MouseEvent.CLICK, stopPlay);
			}
		}

		private function stopPlay(event:MouseEvent):void
		{
			playBtn.label = "Показать";
			receiveStream.play(false);
			receiveStream.close();
			
			playBtn.removeEventListener(MouseEvent.CLICK, stopPlay);
			playBtn.addEventListener(MouseEvent.CLICK, startPlay);
		}


	}
}
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2011, 22:28
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

знаешь сколько потоковых серверов и на скольких языках они написаны и под сколько осей?
Ответить с цитированием
  #3 (permalink)  
Старый 15.10.2011, 23:01
Аватар для Sadist_dead
Профессор
Отправить личное сообщение для Sadist_dead Посмотреть профиль Найти все сообщения от Sadist_dead
 
Регистрация: 08.08.2011
Сообщений: 191

Сообщение от dmitriymar Посмотреть сообщение
знаешь сколько потоковых серверов и на скольких языках они написаны и под сколько осей?
Даже не представляю , первый раз взялся не когда не думал что все завязанно на медиа сервере, кое как доковылял, если нужно могу кинуть исходники.
Ответить с цитированием
  #4 (permalink)  
Старый 15.10.2011, 23:16
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Sadist_dead
медиа сервере
серверов реально сотни
Ответить с цитированием
  #5 (permalink)  
Старый 07.12.2011, 21:17
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от dmitriymar Посмотреть сообщение
серверов реально сотни
а сколько из них бесплатны?
и есть ли, работающие на PHP?
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Название ячейки таблицы Questioner Общие вопросы Javascript 6 16.02.2011 09:58
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37