LINUX.ORG.RU
ФорумTalks

[brainstorm] экспорт видео на кофемолку

 


0

0

расклад такой:

есть т.н. сервер, с адекватным железом и бубунтой 9.10

есть клиент, с 4Mb оперативы, 486DX-50, 1Mb видео и 4й слакой. точнее baslinux 3.50 - огрызком 4й слаки

задача - отправить на клиент видео с сервера. клиент теоретически умеет 640х480_16

пока курю tldp но решения «сделать красиво» еще не нашел. подскажите, что вообще ковырять.


Mission impossible. (IMHO)

Deleted
()

не хотелось бы расстраивать, но вот что говорит мне прикидка:

640х480х2 = 600К на кадр. предполагаем поток в 24 кадра на секунду:

600Кх24 = 14. М/с. это столько должна получить сетевая карта, чтобы сырой поток данных отправить на экран (т.е. просто заполнить видеобуфер). всего в процессоре 50 МГц (если я правильно понял нотацию). значит есть максимум 5 тактов на всё, в том числе и распаковку сетевого пакета.

если сбросить частоту кадров до 10 в секунду, к примеру, будет около 10 тактов на всё.

может эту задачу лучше с помощью доса решать? если задача звучит: отобразить за экране кофемолки поток из сети.

gunja
()
Ответ на: комментарий от Unclown

> а в досе есть варианты?

я и сам не совсем в теме. просто почему вспомнил про дос: он самый маленький из того, что у меня когда-то было в руках.

в досе точно можно включить сеть. в досе можно напрямую писать в видео-память. т.е. после недолгого программирования можно нарисовать приложение, которое берёт данные с сетевой карты и суёт их в видео-карту.

ну или если не дос, тогда ядро линуксовое кастрировать по-максимуму. выкунить вообще всё, кроме сетевой карты, вывода на экран (вопрос какие есть видео-режимы в ядре) и приложение всунуть внутрь ядра или вместо инита его сделать.

короче ресурсов пипец как мало. а задача-то какая? на сколько шустрая картинка должна быть? где это всё показывать? почему именно 486 машина.

gunja
()
Ответ на: комментарий от gunja

>короче ресурсов пипец как мало. а задача-то какая? на сколько шустрая картинка должна быть? где это всё показывать? почему именно 486 машина.

откопал свою первую машину - Z-star ES. На ней завелась и полетела сначала для баловства первослака, потом baslinux с почтой, IRC, ssh и ftp. Если бы был вариант форвардить на нее еще некоторые иксовые приложения и mplayer с большой машины - было бы совсем круто.

Unclown
() автор топика
Ответ на: комментарий от gunja

> 640х480х2 = 600К на кадр. предполагаем поток в 24 кадра на секунду:

600Кх24 = 14. М/с. это столько должна получить сетевая карта,

Идиото. 640*480*0.5 (для 16 цветов достаточно 4 бита или 0.5 байт)*25=3 840 000 байт/сек несжатого видео.

А теперь вспоминаем про RLE-компрессию, и такой винрарный формат как PCX. Потом можно прикрутить какой-то сглаживатель, дабы паковалось лучше. Результат: 500 000 - 1 500 000 байт, в среднем до 10 мегабит будет точно.

Далее, если клиенту надо только сосать данные из сети, распаковывать сразу в видеопамять и опять сосать данные, то на рейте порядка 10-15 fps это делалось еще на 80386 (правда в то время активно писали на асме)

simple_best_world_web_master
()
Ответ на: комментарий от Unclown

> вопрос временно снят в связи со смертью клавиатуры :-\

И что? Ты что, один такой с такой мегазадачей? Не мешай нам красноглазить

simple_best_world_web_master
()
Ответ на: комментарий от simple_best_world_web_master

> Идиото

первый раз вижу, чтобы 16 значило общее число цветов, а не максимальное число бит на точку.

дальнейшие рассуждение тоже очень занимательные. вот только мне интересно дальше прикидок вы что-то можете сказать? или только утверждение что «делалось»?

gunja
()
Ответ на: комментарий от gunja

>>первый раз вижу, чтобы 16 значило общее число цветов, а не максимальное число бит на точку.

Почувствовал себя мамонтенком Димой.

mclaudt
()
Ответ на: комментарий от mclaudt

> Почувствовал себя мамонтенком Димой

а очень зря! нотация XxYxB вроде ширина-высота-битовая глубина. а никак не ширина-высота-максимум_цветов. про CGA, EGA и что-то ещё мамонтовее я ещё помню, но смутно.

gunja
()
Ответ на: комментарий от gunja

> первый раз вижу, чтобы 16 значило общее число цветов, а не максимальное число бит на точку.

Видимо, во времена доса ты не жил, ибо все режимы экрана там используют палитру (если не использовать VESA)

дальнейшие рассуждение тоже очень занимательные. вот только мне интересно дальше прикидок вы что-то можете сказать? или только утверждение что «делалось»?

1. Надо понять характер видео, которое надо гнать. Я прозреваю, что это некоторый терминальный клиент. Если хочешь, я могу перегнать скринкасты в PCX и назвать точную цифру, правда за FPS не скажу, в скринкастах у меня мелкий

2. Можно вспомнить такую штуку как http://en.wikipedia.org/wiki/FLIC_(file_format) (генерировалась аниматором от аутодеска), давало неплохое FPS, 15+ как минимум. Еще вспоминается смотрелка SEA, оно вроде даже mpeg умело.

simple_best_world_web_master
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.