![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2006
Сообщений: 13
|
Вобщем во flash технологиях я можно сказать полный ноль, поэтому не судити строго.
Такая ситуация: есть у нас java-сервер на который приходят в реальном времени кадры какого то видео. Видео может идти сколько угодно долго. Формат кадра не столько важен - можно на лету его представить обычным битмапом или jpeg-ом. Суть в том, что заказчик хочет чтобы это видео транслировалось еще во flash на сайте. Как я понял немного поразбиравшись, единственный нормальный способ сделать это - передавать видео в flv формате через rmtp. Тоесть когда у меня есть уже готовый flv файл на сервере, нет проблемм проигрывать его во flash. А вот есть ли нормальный конвертор или код, способный постоянно генерировать на сервере flv поток из последовательности кадров (тупо картинок) который бы нормально можно было бы передать во flash? Кто нибудь сталкивался с такой проблеммой? Понимаю можно покапать формат flv или существующие кодеки с открытым кодом, но время поджимает и не хотелось бы его тратить на такое, причем не зная заведомо даст ли это результат. Что посоветуете? Последний раз редактировалось ak_s; 19.10.2006 в 15:40. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 13
|
Что, никто не сталкивался с такой проблеммой?
( |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
На лету добавлять картинки в rtmp поток, кодируя на лету в flv - это, наверное, сложно, решений не видел (написать видеодрайвер и дать бродкастить самому флэш-плееру на сервер как поток с веб-камеры?
). Но просто набор jpg перекодировать в отдельно лежащий flv довольно просто с помощью ffmpeg:ffmpeg -i %04.jpg -f flv -s 320x240 video.flv
__________________
Верить никому нельзя. Мне - можно. :) |
|
|||||
|
[+ 1.1 30.08.2005]
|
Цитата:
работает с Apache, java как раз для твоей проблемы...
__________________
не надо читать, это подпись(все-таки прочли, да?) |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
Цитата:
![]()
__________________
Верить никому нельзя. Мне - можно. :) |
|
|||||
|
[+ 1.1 30.08.2005]
|
Цитата:
Цитата:
З.Ы.знакомый случай: заказчик начинает проект, незная как это делается и чем(это его право, а то не был бы заказчиком )испольнитель так же, начинает проект...(троеточие)
__________________
не надо читать, это подпись(все-таки прочли, да?) |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 13
|
Цитата:
Тоесть из потока я могу вычленять отдельные кадры, но не могу получить сразу все видео, так как оно в идеале может быть хоть бесконечное. Статические архивные видео данные я примерно таким образом, только программно и конвертирую в flv. Цитата:
Цитата:
По поводу не знания как это делается. Так тут сарказма не надо ) Проект уже завершен впринципе. Он довольно большой из разных систем состоит и никак не связан с флэшем, а писался на Java и C++. Флэеш - это уже прихоть заказчика сейчас. Дополнительная фича. Вот хочется ему, чтоб наши видеоданные можно было в предварительном просмотре на сайте смотреть (и именно через flash), если лень аппликуху запускать =)) Очень настойчиво хочет, вот и пробуем разобратся. Не так давно он хотел смотреть архивные видео во флеше, это и побудило меня зарегестрироваться на этом сайте, сейчас хочет живое видео смотреть ) Вобщем спасибо всем кто откликнулся. Сейчас пробую поразбираться с исходниками ffmpeg, может успею написать Live-конвертор ) Так же буду рад любым идеям и предложениям по этому поводу. Может возможно как то не через rmtp это решить? Или всеже у кого то был опыт? Может кто то разбирался каким образом генерируется этот flv поток в самом flash и передается на сервер? Последний раз редактировалось ak_s; 23.10.2006 в 13:18. |
|
|||||
|
Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
|
Ну если всего лишь предпросмотр надо во флэше - можно ведь и жпеги посылать, а флэш там их пусть собирает и показывает. Зато можно получить часть потока, остановить, покрутить туды-сюды (настоящим потоком такое сделать не получится) - заказчику должно понравиться.
![]()
__________________
Верить никому нельзя. Мне - можно. :) |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 13
|
Цитата:
Цитата:
1. Очередной кадр сохраняется на сервере в директории сайта так, чтобы к нему можно было обратится по HTTP. Через сокет отсылается на флеш сообщение типа: грузить картинку с такого то URL. Делается loadMovie этой картинки по ее URL. Но этот способ сразу не катит по своей неэффективности. Во первых обмен идет через диск сервера, а не напрямую - сразу будет тормазиться система. Да и потом пока запишется кадр и придет сообщение об этом (плюс пока пошлется запрос на HTTP серер, пока он обработает, считает файл с диска и выдаст его в ответе), надо будет грузить уже новый чтобы не было задержки. Ну и плюс каждый новый загруженный кадр (если он все же успешно загрузится) будет перерисовываться и ужастно мерцать, что сразу неприемлимо. Я для развлечения и обучения (сразу не воспринимал это серьезно) что то подобное делал в самом начале. ничего хорошего не вышло. 2. способ - поробовать послать просто весь кадр во флеш целиком. допустим даже в jpeg формате. Например через сокет (но мне кажется не получится - так как сообщения обрываются по нулю там, а изображение вполне может содержать нулевой байт) или через вызов серверного метода в rmtp (там же можно передавать такие данные? ). Но тут я даже не знаю как это обработать. Тоесть во флешь приходит в какую то переменную после вызова серверного метода какой то массив байт. Этот массив байт на самом деле просто полная побайтная копия jpeg файла, если бы он был на диске. Как такое обработать? Как распознать его как картинку и нарисовать поверх старого кадра во флеше? Может есть какой способ? Если он будет работать, я бы не брезговал и такой реализацией. Или может я что то упустил, как вы имели ввиду организовать это: "можно ведь и жпеги посылать, а флэш там их пусть собирает и показывает". Буду очень благодарен за любой работающий совет. Цитата:
Последний раз редактировалось ak_s; 24.10.2006 в 09:59. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 13
|
Ну так что ни у кого нет идей? Ато возвращаюсь к этой задаче, надо бы ее за день-два по быстренькому реализовать. )
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|