Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Внедрение текста в живое видео, захватываемое веб камерой (http://www.flasher.ru/forum/showthread.php?t=163396)

farox 08.08.2011 16:44

Внедрение текста в живое видео, захватываемое веб камерой
 
Всем привет, мучаюсь уже с недельку, задача в следующем, необходимо средствами AS3, в живое видео транслируемое от веб камеры, которое пишется на сервер потокового видео внедрить текст (заголовок и время). Есть у кого нить идеи? Может кто намекнёт, хотя бы в каком направлении рыть мануал?

wvxvw 08.08.2011 17:25

А какой хоть сервер? В принципе, должно быть возможно, но от сервера зависит, он как бы должен уметь принимать.

farox 08.08.2011 19:27

ммм, в принципе сейчас тестирую на wowza, запись аудио + видео идёт нормально, пишется flv файл, а вот как наложить на видео текст и сохранить его вместе с видео и аудио.....

wvxvw 09.08.2011 13:44

Я честно без понятия, как там устроено. Но, у NetStream есть send() метод, он мог бы вызывать метод на сервере, и чего-то ему передавать (если сервер вообще умеет получать), соответственно, получив сообщение вы бы как-то его обрабатывали. Опять же, я не знаю на сколько далеко простираются возможности сервера, но, если вы можете повлиять на то, как записывается видео, то, вот, текст и видео у вас уже есть, осталось записать.

farox 10.08.2011 01:13

ххм, спасибо, в принципе решение найдено, не идеальное конечно, первоначальная задумка заключалась во внедрении текста непосредственно в видео ряд (если кто видел видео с IP камер, то там надписи времени и имени камеры внедрены непосредственно в видео ряд). Суть решения в использовании мета данных - в скрипте, который пишет видео с веб камеры добавляем код:
Код AS3:

var metaData:Object = new Object();
metaData["description"] = "Cam";
ns.send("onMetaData", metaData);

в данном случае description - имя параметра, "Cam" - значение;
в скрипте плеера, добавляем следующий код:
Код AS3:

var nsPlayClient:Object = new Object();
ns.client = nsPlayClient;
nsPlayClient.onMetaData = function(infoObject:Object):void{
trace(infoObject.description);
};

Самое классное, что при записи видео в файл, текст также пишется в него, а так же синхронизируется с ключевыми кадрами, т.е. к любому отрезку видео можно добавить сопроводительный текст, пару минусов подобного решения ИМХО:
1. необходим собственный или доработанный плеер, но это не проблема
2. если понадобится экспортировать или конвертировать flv к примеру в avi, не понятно как себя поведут эти текстовые мета данные
p.s. мануал от адоба (http://help.adobe.com/ru_RU/FlashPla...eam.html#send()), грит использовать следующим образом:
Код AS3:

ns.send("@setDataFrame", "onMetaData", metaData);

НО, те кто использует WOWZA, в качестве стрим сервера нужно использовать именно так:
Код AS3:

ns.send( "onMetaData", metaData);

(http://www.wowza.com/forums/showthre...ta-not-working)

Котяра 10.08.2011 01:27

То, что не внедряется - это плюс. Можно готовить разные субтитры на разных я зыках, кроме того, это позволяет пользователю отключать субтитры, настраивать размер шрифта и т.п. Так что - это всё никак не минус.
Другой вопрос - вставка watermark.

3p.station 10.08.2011 02:04

у нас с ватермарком справлялся отлично xuggler на сервере.


Часовой пояс GMT +4, время: 23:56.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.