Pull to refresh

Comments 68

*Wide open eyes*, не он не курил ..., он что то другое…
Здорово. Можно, вероятно, устраивать онлайн-трансляции, или сделать видеоплеер на GIF.
ну это совсем не оправданно, слишком много трафика, или вы предлагаете, кодировать видео, передавать в гиф, а на стороне клиента преобразовать во что то типа flv, ну это совсем извращение ))
Траффик, да, но с другой стороны, можно устраивать потоковое вещание совершенно на любом сайте, где можно ставить гифку. Типа тут, в комментах хабра =)
То есть сама статья — это нормально?:)
А по gif сокету можно передавать другой gif socket?
image
UFO just landed and posted this here
UFO just landed and posted this here
Вероятно потому, что в этой серии (2-17) он рассказывает Вилсону про то, что самый большой член в животном мире принадлежит морскому жолудю. Инстересный и бесполезный факт. Типа как данный прикол с GIF. Ящитаю
Рискуете отправиться в рекурсию.
Cложно найти этой технологии полезное применение

Этим все сказано.

В начале видео идей для применения появилось сразу несколько. Но то что страница все время грузиться убило все…
Можно покадрово транслировать состояние терминала. 8 цветов хватит на всех.
Этим все сказано

Я не знаю как на счёт сабжевой технологии, но что у ВебСокетов, что у Стриминга через readyStateChange=3 есть огромная проблема с файрволами и антивирусами. Вполне возможно, что сабжевая технология их не имеет.
Например хитрую капчу можно сделать.
А по-моему достаточно интересный вариант для эмуляции веб-сокетов в браузерах их не поддерживающих. При условии, что клиентский JS сможет получить доступ к данным, полученным от сервера. Как-то интереснее, чем, например, flash.
Бесконечный iframe лучше, ИМХО.
По-моему, это эмуляция не веб-сокетов, а long polling.
Скажем так: и то, и другое, и третье с четвёртым реализация полнодуплексного обмена между браузером и сервером. Но веб-сокеты нативны в современных браузерах, а всё остальное костыли. Потму как-то сейчас чаще встречается эмуляция костылями именно интерфейса веб-сокетов (или приведение всего к абстрактному интерфейсу, но ближе к сокетам).
UFO just landed and posted this here
Почему только one-way?
Отличие сокетов в том, что соединение не закрывается после получение данных, так что в long-polling надо все таки терять время на установление нового коннекта

Есть технологии, как бесконечный ифрейм и ajax-readyStateChange=3, в которых новый коннект устанавливается только для отправления данных.
Дайте, пожалуйста, пару ссылок, где можно почитать, упоминаемые Вами подходы.
Во, еле нашёл эту статью meteorserver.org/interaction-modes/:

Streaming делается одним из двух способов — бесконечный iframe (старый проверенный способ) или открытое XHR соединение, в которое постоянно дописываются данные, и срабатывает событие onreadystatechnage.

Второе работает только в Хроме и Фоксе, так как onreadystatechange в Опере вызывается только раз, а в IE нельзя получить responseText до readystatechange=4.

Если надо послать данные, то паралельно просто отправляется ajax-запрос, а от сервера данные сваливаются всё-равно в исходный канал.

Ну а polling и long-polling — известные способы, их даже объяснять не буду.
Спасибо. Я не знал про бесконечный ифрейм.
это обычный progressive stream
любопытно. а получится обрабатывать поток JS без полной загрузки? а то там сокет вполне как сокет заработать может.
UFO just landed and posted this here
Потоковое видео в gif? Это что-то… старенькое!
Даёшь видеоконференции через почтовые клиенты! ))
После просмотра видео осталось впечатление, что автор (видео) не то хотел написать для демонстрации: «The Matrix has you...»
Подозреваю, что при достаточно долгой загрузке память будет нехило отжираться: браузер будет держать в памяти все загруженные кадры. То есть как прогресс-бар — ну, можно при большом желании (кстати, надо не забывать отправлять пустые кадры через небольшие отрезки времени, иначе скачивание прервётся). А для долгого чата и подобных задач методика слишком непрактична (даже если забыть, что она создана ради прикола).
Это прям как браузер кеширует весь ролик на ютюбе?
Хуже. В браузере видео остаётся упакованным набором байтов, а GIF-ка с большой вероятностью распаковывется в грубо говоря 32-битный BMP.
Ну а как вы думаете хранится графика в памяти? Распаковывается из ГИФа ради каждой перерисовки, ради каждого кадра?
Непонятно почему видео браузер может каждый раз раскодировать, а вот GIF нет. В чем разница то принципиальная?
Браузер может каждый раз декодировать ГИФки, но я сильно сомневаюсь, что современные браузеры так делают. Скажем, если я смотрю видео, то я не удивляюсь, что мой CPU нагружается (при условии отсутствия аппаратного декодирования или настолько большого числа ядер, что нагрузка совсем незаметна). Это нормально: вот оно, одно такое видео, я его смотрю, другими задачами не занимаюсь, по 10 видео одновременно не воспроизвожу. Если же я просто читаю сайт, а автор разместил на сайте десяток гифок, то за нагрузку CPU я на браузер обижусь. У меня 50 вкладок открыто, на каждой по паре гифок, всё висит.

Также см. комментарий ниже.
Я так понимаю, Athari о том, что браузер хранит в памяти скачанное flv, а флеш-плеер выводит 24-битные кадры 848x480, читая нужную часть этой памяти, и их нигде не складирует. А тут придется хранить в памяти весь ресурс (bitmap, много кадров).
Зачем 8битному гифу распаковываться в 32битный бмп?
Современные графические карты не поддерживают палитровую графику, каким бы парадоксальным это ни казалось. :) Текстурные палитры с имитацией на шейдерах и прочие извраты — наше всё. То есть для быстрой работы будет 32 бита. Если насиловать железо, то можно хранить в 8 битах, но рисоваться будет на порядок медленнее, потому что каждый раз будут копироваться данные.

Хотя как на самом деле браузеры поступают — без понятия. Разные могут по-разному. Учитывая, что сейчас стало модным аппаратное ускорение, думаю, графика из любого формата будет перегоняться в полноцветную текстуру. И если сейчас так не у всех, до завтра будет у всех.
Можно рефрешем ифрейма сбрасывать память и открывать новый гиф-коннект, эдак каждые 50 мегабайт.
Сессию сохранить не проблема.
можно, но тем самым можно пропустить небольшой фрагмент данных. Это как вещание видео с разрывами. Да и кеше будет помойка.
Зачем терять данные? Все равно пользуем яваскрипт, новые данные не приходят по сокету, делаем локейшн на iframe, ничего сверъестественного даже для ie6
потеря будет при реконнекте. Когда происходит лаг, ты отстаешь от реального времени, образуется буфер. Когда происходит реконнект, буфер теряешь.
Кстати, для камер наблюдения вполне подходит. (и разве там так не делали?)
Там обновляется jpg в iframe через n секунд. Не?
Отправлять один-два раза в секунду черно-белые кадры, как вариант.
Для php есть что-то готовое? Или возможно ли реализовать такое с imagick не вникая в gif формат?
Пацаны ваще ребята, смотрим порно фильмы с субтитрами на древних телефонах без поддержки видео онлайн!
Не хочу вас огорчать, но у вас не получиться.
Древние телефоны как раз работают по схеме «сначала загрузил и обработал — потом показал». Это очень частая ошибка при разработке сайтов… Даже повисший счетчик или баннер не даст открыть страницу сайта.
Ну простыми гифками на Nook Simple Touch киношки крутил кто-то. Извращение, конечно, но забавно выглядело.
К сожалению, далеко не все браузеры показывают GIF сразу и без задержек, не все умеют корректно обрабатывать FPS внутри потока и синхронизируют время «рывками». Пример тому Opera, в том числе последних версий. Если по пути будет прокся, то мелкие фреймы могут запаздывать, ожидая остаток файла. Браузер может дропнуть соединение по таймауту. Да и когда будет начата анимация? Некоторые браузеры начинают проигрывание только при появлении анимации в видимой области. Вообще, много чего может произойти. Именно поэтому я когда-то написал свою либу для работы и гифами и забросил ее.

Ради шутки могу добавить поддержку трансляции GIF в Icecast, если кому-то интересно (и у меня дойдут руки).
Это настолько очевидно, что непонятно что тут изобретать: bolknote.ru/2011/10/08/~3431/ mJPEG существует, почему бы и не быть mGIF?
А что будет, если объединить GIF со звуком, которая обсуждалась ранее?
Скоро на всех сайтах запестрит реклама основанная на GIF-сокетах (дешево и сердито). Так укроп я курил, знаю что получается. Может амброзия попробовать!?
Круто!

Было уже, правда не так круто =) Один парень сделал в году 2003 что-то вроде архиватора в GIF-файл. Получалось так, что гифка была размером 1 пиксел но весила 100 мегабайт =)

А если шагнуть ещё дальше, то можно прокинуть VPN через GIF или tor
Хорошо бы еще HTML5 Canvas Sockets т.е. транслировать по Canvas элементу. ВОТ ЭТО БУДЕТ КРУТО!
UFO just landed and posted this here
Блин, это очень интересно. Я вот подумал, что этим методом можно воспользоваться для постинга таких гифок на сайтах типа Лепрозория. Попытался вчитаться, но либо терпения либо знаний мне не хватило… Может кто нибудь подсказать, как подобное реализовать? Есть сервер, нужно чтоб работало из ссылки на этот «гиф».
Sign up to leave a comment.

Articles