The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Реализация Flash-проигрывателя целиком на языке JavaScript

07.06.2010 13:09

В рамках проекта Smokescreen подготовлено web-приложение, способное проигрывать незамысловатые Flash-ролики в SWF-формате в web-брузерах без установленного Flash-плагина. Скрипт получился достаточно объемный, его исходный текст состоит из более 8 тыс. строк и занимает 175 Кб. Преимуществом скрипта является его полная автономность, он не требует привлечения дополнительных плагинов, внешних сервисов или перекодирования потока на стороне сервера.

В настоящий момент Smokescreen поддерживает значительную часть анимационных возможностей Flash 8, обработку потокового аудио, генерацию звуковых эффектов, функции ввода данных и базовый набор возможностей ActionScript. Принцип работы Smokescreen основан на трансляции SWF-файлов в представление на JavaScript/HTML5: скрипт загружает SWF-файл, распаковывает его, выделяя изображения и звуковые данные, а затем транслирует векторную графику в SVG-представление. Скрипт также имеет встроенную реализацию простейшего интерпретатора байткода ActionScript. Проект находится на начальной ступени своего развития, но уже сейчас позволяет корректно отображать содержимое простых Flash-баннеров.

Наглядно оценить возможности Smokescreen можно на специально подготовленной демонстрационной странице, которая работает в браузерах Firefox 3.6, Chrome 5, Safari 4, MobileSafari (iPhone/iPad/iPod) и Opera 10.5 (в Opera наблюдается ряд проблем, которые обещают исправить в ближайшее время). В настоящий момент код скрипта распространяется в оптимизированном (нечитаемом) виде без явного указания лицензии, но по заявлению разработчиков проект позиционируется как свободный и в скором времени исходные тексты будут доступны для модификации под одной из открытых лицензий.

  1. Главная ссылка к новости (http://simonwillison.net/2010/...)
  2. OpenNews: Реализация Flash на языке JavaScript и Web-сервис для преобразования FLV в Ogg
  3. OpenNews: Greasemonkey-скрипт для прозрачного перекодирования Flash-видео в OGG формат
  4. OpenNews: Создание универсального html-блока для показа видео на сайте
  5. OpenNews: Инициатива по привлечению Wikipedia для продвижения свободного видео в сети
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/26870-javascript
Ключевые слова: javascript, web, browser, flash, actionscriot
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (60) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 13:34, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    а смысл? если он на сях то тормозит, на яваскрипте будет совсем слайдшоу...
     
     
  • 2.2, sss (??), 13:45, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >а смысл? если он на сях то тормозит, на яваскрипте будет совсем
    >слайдшоу...

    Чтобы пользователям iPhone, iPad и прочих iВещей показывать flash-рекламу

     
     
  • 3.9, User294 (ok), 14:09, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Чтобы пользователям iPhone, iPad и прочих iВещей показывать flash-рекламу

    И прочей iФигни :).Да, и правда, давайте им высадим батарейки лупящим со всей дури яваскриптом, так им и надо :).Вот только врядли вы яваскриптом видео задекодируете или хотя-бы приемлимый FPS выжмете с приемлимой загрузкой CPU.

     
  • 2.3, sg (?), 13:48, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Не тормозит. Как минимум на демо работает нормально.
     
     
  • 3.7, User294 (ok), 14:05, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Не тормозит. Как минимум на демо работает нормально.

    На демо почему-то всегда и все работает нормально :D. А если рельсу^W навороченный мувик? :)

     
     
  • 4.10, sg (?), 14:09, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте этот мувик с этим плеером, тогда посмотрим :) Не исключено что тормозить будет адово.
     
     
  • 5.15, User294 (ok), 14:35, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Давайте этот мувик с этим плеером, тогда посмотрим :)
    >Не исключено что тормозить будет адово.

    Да оно и на этом демо - тормозит адово. Одно ядро проца при проигрывании ЭТОГО жрется на 100%... oO

     
     
  • 6.48, yet another anonim (?), 23:03, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Давайте этот мувик с этим плеером, тогда посмотрим :)
    >>Не исключено что тормозить будет адово.
    >
    >Да оно и на этом демо - тормозит адово. Одно ядро проца
    >при проигрывании ЭТОГО жрется на 100%... oO

    У меня ничего не тормозит - т.е. ест конечно больше, чем флэш, но вы сами подумайте - чтоб распаковать и фактически вживую конвертить всё это добро в SVG... Тем болей, пробуйте на Опере\Хроме - наверняка будет не отличить (у них Яваскрипт быстрый)

     
  • 3.39, Сергей Митрофанович (?), 03:39, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А у меня либо не работает, либо слайдшоу. Firefox 3.6.3, Ubuntu 10.04. Впрочем, надеюсь, допилят. Потому что кто-нибудь же должен был это сделать.
     
     
  • 4.47, yet another anonim (?), 23:00, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Firefox 3.6.3, Ubuntu 10.04 - всё прекрасно работает и ничего не тормозит, только текст на баннерах не такой чёткий, как в оригинале. А так почти клон.
     
     
  • 5.59, амонинус (?), 13:04, 09/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Firefox 3.6.3, Ubuntu 10.04 - всё прекрасно работает и ничего не тормозит,
    >только текст на баннерах не такой чёткий, как в оригинале. А
    >так почти клон.

    Перепроверил. Действительно, на Kubuntu у меня тормозит, на Ubuntu - нет. Или у меня где-то что-то поломалось.

    Ну что ж, хорошо, уже HTML5 набирает обороты.

     
  • 2.4, Аноним (-), 13:49, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >а смысл? если он на сях то тормозит, на яваскрипте будет совсем
    >слайдшоу...

    Не удивлюсь, если он будет работать в некоторых случаях быстрее нативного Flash, так как SVG достаточно быстро работает в современных браузерах.

     
     
  • 3.5, аноним (?), 13:52, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >SVG достаточно быстро работает в современных браузерах

    SVG отвратительно работает в современных браузерах. Афаик аппаратного рендеринга нет нигде, кроме IE9 и FF3.7, оба под Direct2D.

     
  • 2.25, Аноним (-), 17:34, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смысл можно выразить в двух вещах:
    а) JavaScript уже созрел для использоваться в серьёзных проектах
    б) людям уже надоел флеш и они пытаются двигаться к более открытым/распространённым технологиям
     
  • 2.49, yet another anonim (?), 23:10, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >а смысл? если он на сях то тормозит, на яваскрипте будет совсем
    >слайдшоу...

    Странно даже так мыслить... Хотя бы затем, чтоб иметь альтернативы в мире абобо-монополии. Чтоб не нужно было обязательно какие-то глюкавые плагины врубать. Чтоб на неподдерживаемых абобой платформах веб-контент тоже работал.
    1 шаг сделан - видео по HTML5 (и "освобождение" VP8, кстати, тоже немаловажно), теперь 2 шаг - баннеры с обр. связью, реклама, интерактивные заставки, презентации, мини-игры (тут как раз JAVAScript, AJAX, ECMAScript в помощь - для подобного и создавались) и 3 шаг - оптимизация браузеров - идёт полным ходом.

     

  • 1.6, Аноним (-), 13:57, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    суровое слайд-шоу Mozilla/5.0 (X11; U; SunOS i86pc; ru; rv:1.9.1.8) Gecko/20100226 Firefox/3.5.8
     
     
  • 2.8, Аноним (-), 14:08, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Mozilla/5.0 (X11; U; Linux x86_64; ru; rv:1.9.1.9) Gecko/20100501 Iceweasel/3.5.9 (like Firefox/3.5.9)

    Не тормозит. Грузится только пару секунд, но никакого слайдшоу.

     
  • 2.50, yet another anonim (?), 23:11, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >суровое слайд-шоу Mozilla/5.0 (X11; U; SunOS i86pc; ru; rv:1.9.1.8) Gecko/20100226 Firefox/3.5.8

    Спеки в студию. Небось слабее АРМов и Квалкомов???

     

  • 1.11, Аноним (-), 14:13, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Одна тормозящая технология на другой не менее тормозящей - это жОстка....
     
     
  • 2.12, аноним (?), 14:18, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Одна тормозящая технология на другой не менее тормозящей

    Тока не нада, в flash встроет jit компилятор ecma script и поддержка аппаратной акселерации 2d/3d. Flash может работать ОЧЕНЬ быстро, если задуматься об оптимизации, на что клепателям баннеров по 20$ разумеется наплевать.

     
     
  • 3.26, Аноним (-), 17:35, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Одна тормозящая технология на другой не менее тормозящей
    >
    >Тока не нада, в flash встроет jit компилятор ecma script и поддержка
    >аппаратной акселерации 2d/3d. Flash может работать ОЧЕНЬ быстро, если задуматься об
    >оптимизации, на что клепателям баннеров по 20$ разумеется наплевать.

    Флеш тормозит не из-за медленного java-подобного языка, а из-за отстойного рендеринга, который он осуществляет в линуксе.

     
     
  • 4.36, User294 (ok), 22:40, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Для начала он тормозит потому что отдельные не в меру су... суровые! му.... мужики! ввинчивают там FPS под сто иногда. Во вторых да, вывод видео там тормозной. И хотя абоба отмазывалась что это бай дизайн и прочая - не если абоба жопой к юзерам, юзеры очевидно должны не терять времени даром и помочь такому вендору получить то что он заслуживает с такой политикой. Если учест что флеш юзается только для мувиков и рекламы в 90% случаев - первое может взять на себя HTML5+webm а второе ... пусть кому надо тот и смотрит рекламу на 100FPS загружая ей проц :)
     

  • 1.13, Аноним (-), 14:19, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вообще завис Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTB7.1
     
  • 1.14, Анонимус_б8 (?), 14:23, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    опера 10.51 ничего не тормозит, тока вот опера под виндой...
     
  • 1.16, Аноним (-), 14:56, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    еще бы не завис, там плагин работает в самом процессе)) почему сразу не сделали для каждого плагина отдельных процесс?
     
     
  • 2.19, filosofem (ok), 15:21, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    какой плагин?
     

  • 1.17, igron (ok), 15:16, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мда. Первые официальные версии флеша и были на js. Потом переписали на сях, ибо тормоза.
     
     
  • 2.37, User294 (ok), 22:41, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Откуда такие странные сведения? Есть пруфлинки?
     
  • 2.51, yet another anonim (?), 23:14, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Мда. Первые официальные версии флеша и были на js. Потом переписали на
    >сях, ибо тормоза.

    Переписали, ибо сложно на Яве, голова нужна! А она не у всех...

     
     
  • 3.62, User294 (ok), 17:39, 10/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, далеко не у всех жабистов голова на месте :)
     

  • 1.18, JL2001 (ok), 15:19, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    тооормозит хоть проц и не нагружен вобще (фокс 3.6.3 win)
     
  • 1.20, FSA (??), 15:35, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >но уже сейчас позволяет корректно отображать содержимое простых Flash-баннеров

    Накой .... мне эти баннеры. Вы мне видео покажите под FreeBSD AMD64.

     
     
  • 2.52, yet another anonim (?), 23:15, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>но уже сейчас позволяет корректно отображать содержимое простых Flash-баннеров
    >
    >Накой .... мне эти баннеры. Вы мне видео покажите под FreeBSD AMD64.
    >

    ХТМЛ5 + ВебМ + ЮТуб тебе покажут...

     
     
  • 3.53, yet another anonim (?), 23:15, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>>но уже сейчас позволяет корректно отображать содержимое простых Flash-баннеров
    >>
    >>Накой .... мне эти баннеры. Вы мне видео покажите под FreeBSD AMD64.
    >>
    >
    >ХТМЛ5 + ВебМ + ЮТуб тебе покажут...

    Да и вообще, зайди хотя бы на Вики...

     
  • 2.63, User294 (ok), 17:42, 10/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Накой .... мне эти баннеры. Вы мне видео покажите под FreeBSD AMD64.

    Ну вот внедрят webm и будет видео. Для всех. Браузеры в отличие от абобовского флеша явно соберут под ВСЕ мыслимые платформы и системы которые хоть кому-то хоть немного нужны.


     

  • 1.22, sluge (ok), 16:15, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    лучше бы свою энергию пустили на отвязку ютуба от флеша
     
     
  • 2.23, F (?), 16:51, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    http://www.youtube.com/html5
     
  • 2.27, Аноним (-), 17:37, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >лучше бы свою энергию пустили на отвязку ютуба от флеша

    Этот процесс уже завершён. Осталось дождаться выхода стабильных версий браузеров осенью.

     
     
  • 3.35, sluge (ok), 21:55, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ну значит еще не завершен
     
     
  • 4.64, User294 (ok), 17:43, 10/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >ну значит еще не завершен

    Он еще не завершен, НО взялись за него все и весьма дружно. Как раз за лето допилят. Это будет воистину summer of code :D.

     
  • 2.54, yet another anonim (?), 23:19, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >лучше бы свою энергию пустили на отвязку ютуба от флеша

    Вообще-то это такой же необходимый шаг, как открытие 2 фронта на 2-ой мировой. Одно только видео на ютубе от флеша не спасёт (хотя и врежет больно). А вот когда вкупе с Явой и SVG-анимацией - какбе уже предначертано. Главное - хороший технологический напор + отменный ПР.

     

  • 1.24, Alen (??), 17:20, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не, не зачтено!
    Надо жабу тоже на жабе переписать...и ОС тоже. Вот тогда да :)
    ОС кто то уже вроде переписал так что только форкнуть осталось :)
     
     
  • 2.28, Аноним (-), 17:38, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Не, не зачтено!
    >Надо жабу тоже на жабе переписать...и ОС тоже. Вот тогда да :)
    >
    >ОС кто то уже вроде переписал так что только форкнуть осталось :)

    Джава теперь это эдвансед скриптиг оракла. Вы что до сих пор пытаетесь на ней программировать?

     
     
  • 3.44, Sarmat (?), 11:08, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А какая альтернатива? C#?
     
  • 3.55, yet another anonim (?), 23:21, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Не, не зачтено!
    >>Надо жабу тоже на жабе переписать...и ОС тоже. Вот тогда да :)
    >>
    >>ОС кто то уже вроде переписал так что только форкнуть осталось :)
    >
    >Джава теперь это эдвансед скриптиг оракла. Вы что до сих пор пытаетесь
    >на ней программировать?

    Тогда оставайтесь на абобином флеше. Выбор за вами. В любом случае, на мой взгляд, альтернатива (на чём угодно) есть только гуд.

     
  • 2.31, Mike Lee (?), 20:04, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    жава давно на жаве.
     
     
  • 3.32, Аноним (-), 20:22, 07/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Сначала была жава, потом жава на жаве, потом жава на жаве на жаве, потом жава на жаве на жаве на жаве...
     

  • 1.30, ононим (?), 19:28, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кто понял, как это можно использовать уже сейчас (помимо демо) и заменить им флеш? есть пара сайтов с flash 7, где он мне безальтернативно необходим.
     
  • 1.33, аноним (?), 21:14, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну это точка в споре о том, может ли HTML5 все, что может флеш. Надобности в последнем объективно больше нет.
     
  • 1.34, svchost (ok), 21:38, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "скрипт загружает SWF-файл, распаковывает его, выделяя изображения и звуковые данные, а затем транслирует векторную графику в SVG-представление."

    Как-то заморочено. И прокрутка вряд ли работает.

     
     
  • 2.56, yet another anonim (?), 23:22, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >"скрипт загружает SWF-файл, распаковывает его, выделяя изображения и звуковые данные, а затем
    >транслирует векторную графику в SVG-представление."
    >
    >Как-то заморочено. И прокрутка вряд ли работает.

    Создайте свой идеальный(R) и неповторимый[TM] метод.

     
     
  • 3.65, User294 (ok), 17:44, 10/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Создайте свой идеальный(R) и неповторимый[TM]

    ... метод удаления гланд через жопу автогеном :) /*bugfixed version*/

     

  • 1.38, yantux (??), 23:58, 07/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня тормозит на этапе конвертации. Как это не смешно, но на этапе проигроывания вроде не тормозит.


    Было бы приколько, чтобы был в виде плагина для Firefox и Opera.

     
     
  • 2.57, yet another anonim (?), 23:24, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >У меня тормозит на этапе конвертации. Как это не смешно, но на
    >этапе проигроывания вроде не тормозит.
    >
    >
    >Было бы приколько, чтобы был в виде плагина для Firefox и Opera.
    >

    Плагин ради плагина... сами поняли, что сказали? В том то и дело, что не нужен для этого никакой плагин.

     

  • 1.40, Mr.Close (?), 10:16, 08/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень жду того момента, когда flash наконец отправится следом за java-плагинами - в историю. Свою роль он сыграл, больше не надо.
    Хотя Apple конечно поступила по-свински со старым партнером. Да и их "армия клонов" уже порядком достала.
    Но сейчас html(xml)+css+javascript уже сами все могут :) Действительно пора этого слона убирать из посудной лавки.
     
     
  • 2.45, аноним (?), 12:32, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Но сейчас html(xml)+css+javascript уже сами все могут :) Действительно пора этого слона убирать из посудной лавки.

    Оппа! раскажите, как подключить веб-камеру через html(xml)+css+javascript.


     
     
  • 3.58, yet another anonim (?), 23:25, 08/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Но сейчас html(xml)+css+javascript уже сами все могут :) Действительно пора этого слона убирать из посудной лавки.
    >
    >Оппа! раскажите, как подключить веб-камеру через html(xml)+css+javascript.

    А вы запросите там, тут - глядишь сделают (я уверен, что НИЧЕГО сложного для хорошего программера в этом нет).

     
  • 2.61, sHaggY_caT (ok), 13:29, 10/06/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Очень жду того момента, когда flash наконец отправится следом за java-плагинами - в >историю.

    Скажите, это, например, HP с ее HP Ilo реализацией IP KVM, да и еще большей части реализацией IP KVM.

     

  • 1.46, Yan (??), 17:58, 08/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ждем ответного удара - Интерпретатор Java Script целиком на Flash, и конечно же реинкарнация флеш плеера в этом новом интерпретаторе целиком силами Java Script..... (у попа была собака.....)
     
  • 1.60, Аноним (-), 21:14, 09/06/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В заголовке новости тоже стоило бы упомянуть про HTML5 а не только JS
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру