Сейчас доделываем Flash-based проигрыватель для видео, сжатого лучшим в мире кодеком для экранного видео. Для него как раз делался парсер из предыдущего поста. Декодер был переведен с С++ на haXe. Тот компилирует в байткод AVM2 - виртуальной машины, используемой в 9 и 10-м флэше. Дальше ВМ его на клиенте уже JIT'ит и выполняет. Причем байткод имеет стековую ОО семантику (а-ля JVM) с минимумом типизации (например, для сложения есть отдельные команды для интов, а для сравнения уже нет, только общие, рассчитанные на определение типа в рантайме). JIT'у приходится типы выводить. Сегодня немного посравнивал скорость и впечатлился: декодер на haXe & Flash player отличается по скорости от C++ & Intel compiler всего процентов на 20. А вы говорите флэш тормозит.
Демку проигрывателя можно пощупать тут:
http://data.infognition.com/sp_demo/
Перевести кодек оказалось довольно простой задачей, гораздо сложнее было организовать логику плеера с прыганием на произвольные позиции, декодированием про запас и обеспечением плавности отображения (для чего пришлось в одном месте делать что-то вроде копроцедур и кооперативной многозадачности, ибо настоящих потоков нет).
Флэшка с декодером, парсером и логикой плеера сейчас занимает меньше 20 КБ. Осталось прикрутить звук и сделать управление посимпатичней.
Демку проигрывателя можно пощупать тут:
http://data.infognition.com/sp_demo/
Перевести кодек оказалось довольно простой задачей, гораздо сложнее было организовать логику плеера с прыганием на произвольные позиции, декодированием про запас и обеспечением плавности отображения (для чего пришлось в одном месте делать что-то вроде копроцедур и кооперативной многозадачности, ибо настоящих потоков нет).
Флэшка с декодером, парсером и логикой плеера сейчас занимает меньше 20 КБ. Осталось прикрутить звук и сделать управление посимпатичней.
no subject
Date: 2011-02-16 05:25 pm (UTC)no subject
Date: 2011-02-16 05:53 pm (UTC)no subject
Date: 2011-02-16 06:36 pm (UTC)На этих потребителях тоже зарабатывают деньги...
no subject
Date: 2011-02-16 06:55 pm (UTC)no subject
Date: 2011-02-16 07:06 pm (UTC)no subject
Date: 2011-02-17 12:32 am (UTC)Серьезно предлагаете писать кодек на JavaScript?
no subject
Date: 2011-02-17 12:33 am (UTC)no subject
Date: 2011-02-17 12:34 am (UTC)no subject
Date: 2011-02-17 12:43 am (UTC)no subject
Date: 2011-02-17 04:16 am (UTC)Именно что сегодня.
Завтра этот кодек уже никому не нужен будет, по причине исчезновения flash.
no subject
Date: 2011-02-17 04:52 am (UTC)Ну и обеспечивать работоспособность и производительность кодека на постоянно меняющемся зоопарке браузеров (у некоторых из которых обращение к массиву даже не О(1)) как-то не улыбается.
no subject
Date: 2011-02-17 05:28 am (UTC)через год будет меньше, чем сейчас.
Это даже легко проверить, надо только понять,
как измерить относительную долю распространённости flash.
Ну а новый гугловский кодек просто вставят
в браузеры и никакой flash не нужен будет.
Кодеки не должны реализовываться ни на JavaScript,
ни на Flash.
no subject
Date: 2011-02-17 06:34 am (UTC)no subject
Date: 2011-02-17 08:23 am (UTC)я сам сейчас такое наблюдаю для 2d scanline, пока все четко уверены что не параллелится :)
no subject
Date: 2011-02-17 12:10 pm (UTC)no subject
Date: 2011-02-17 09:14 pm (UTC)no subject
Date: 2011-02-18 04:58 am (UTC)Про микробенчмарк подумаю, как его лучше сформулировать.
хелп :)
Date: 2011-02-25 12:51 am (UTC)ладно...
мы не знакомы - меня звать Андрей...
куда обратится не знаю - решил написать тебе, ибо из моих знакомых только ты чего-то смыслишь в кодеках и т.п.
так вот - у меня есть один сериал он весит 40 Гб - "как это работает", но я решил докачать пару серий (несколько сезонов), из-за лени с переименовыванием структурирование файлов, решил скачать полностью...
но в последнее время я интересуюсь обработкой видео - так-вот -
видео поидее идентичное но:
смотри различия...Вопрос - какое себе оставить, интересует с лучшим качеством...что б ты выбрал - или что б себе оставил из этих двух? :)
Видео 1
General
Complete name : D:\ЗАКАЧАНОЕ\How it's made\001 S01E01 (Алюминиевая фольга, Сноуборды, Контактные линзы, Хлеб).avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 242 MiB
Duration : 21mn 31s
Overall bit rate : 1 572 Kbps
Writing application : VirtualDubMod 1.5.10.1 (build 2366/release)
Writing library : VirtualDubMod build 2366/release
Video
ID : 0
Format : MPEG-4 Visual
Format settings, BVOP : 1
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Muxing mode : Packed bitstream
Codec ID : DX50
Codec ID/Hint : DivX 5
Duration : 21mn 31s
Bit rate : 1 499 Kbps
Width : 704 pixels
Height : 560 pixels
Display aspect ratio : 5:4
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.152
Stream size : 231 MiB (95%)
Writing library : DivX 6.5.1 (UTC 2007-03)
Видео 2
General
Complete name : E:\Film\How it's made\001 S01E01 (Алюминиевая фольга, Сноуборды, Контактные линзы, Хлеб).avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 233 MiB
Duration : 21mn 31s
Overall bit rate : 1 511 Kbps
Writing application : VirtualDubMod 1.5.10.2 (build 2540/release)
Writing library : VirtualDubMod build 2540/release
Video
ID : 0
Format : MPEG-4 Visual
Format profile : Advanced Simple@L5
Format settings, BVOP : 2
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Muxing mode : Packed bitstream
Codec ID : XVID
Codec ID/Hint : XviD
Duration : 21mn 31s
Bit rate : 1 401 Kbps
Width : 600 pixels
Height : 440 pixels
Display aspect ratio : 4:3
Frame rate : 25.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.212
Stream size : 216 MiB (93%)
Writing library : XviD 1.1.0 (UTC 2005-11-22)
- я так понял ты тут относительно часто появляешься - жду ответа (если не лень)...ответить можешь прямо у себя (под моим сообщением) :)
или мне на E-mail: Akilak@yandex.ru
или Skype, ID: Akilak11
или ICQ 384530221
или напиши куда можешь ответить...
п.с. субъективно я колеблюсь...
хотя меня больше во всяком случае интерсует качество видео, а не звука...
Re: хелп :)
Date: 2011-02-25 05:12 am (UTC)хелп :)
Date: 2011-02-25 04:41 pm (UTC)no subject
Date: 2011-02-26 07:42 am (UTC)no subject
Date: 2011-04-25 08:09 am (UTC)http://encode.ru/threads/1200-Vectorized-rangecoder тема всплыла в связи с тем что какойто росийский stlab хочет запатентовать нечто подобное как часть декодирования видео :)
no subject
Date: 2011-04-25 09:01 am (UTC)Про stlab видел недавно, там заявленный метод применим только для 4-битных алфавитов, вроде, что на степени сжатия плохо сказывается.