SlideShare a Scribd company logo
Опыт работы с Android
Media Framework
на примере приложения Cinepic
CINEPIC
● Собрать на Android
● API 18+
● Совместимо с 80%+ устройств
2
Фон клипа
● Подготовка фото
● Применение жестов Scale Up/Down, Translate
● Сохранение матрицы трансформации
3
● Очень не надежно
● Ресурсоемко
● Медленно
Превью в ячейке. Шаг первый
4
SurfaceView MediaPlayer
VideoView
+
=
● Надежно но не быстро
Превью в ячейке. Шаг второй
5
TextureView MediaPlayer
TextureVideoView
+
=
UI Thread
Превью в ячейке. Шаг третий
6
TextureView MediaCodec+ <=PlaybackController
AsyncThread
Кадры
То что нужно
● Максимально быстро
● Минимум памяти
● Минимум поддержки
● … но трудоемко
7
Трансформация видео во View
8
TranslateListener
ScaleListener
(-x,-y)
(0, 0)
Rect ImageBounds
ViewBounds
Эффекты
9
TextureView=>VideoStream <=
OpenGL ES ObjectAnimator
Fade In/Out
Scale Up
Ffmpeg
10
● Тяжелая
● Сложно поддерживать
ffmpeg module
Input params + Video Resized video
Транскодирование из коробки
11
MediaDecoder MediaEncoder=> => MediaMuxer
Intel Inde
● Компактная
● Может заменять кадры
● Есть сэмплы
● На основе MediaCodec
● Рендерит с помощью OpenGL ES
12
Извлечение кадров
13
MediaDecoder Surface DataExtractor FrameSaver
OpenGL ES
OpenGL ES
Заготовка Preview
14
Scene Drawer Surface MediaEncoder MediaMuxer
Рендеринг клипа
15
Frame Drawer
Tile Frame
Composer
Intel Inde frame
Composer
0 ms 15000 ms….
время
Frame
Provider
N times
Результаты работы c Video
16
Плюсы
● Совместимость с большинством устройств
● Скорость рендеринга и отрисовки
● Минимальное использование памяти
● Поддержка популярных видео форматов
Минусы
● Время подготовки preview
17
Аудио в Cinepic
Пользователь хочет:
● Загружать в проект существующий аудиофайл
● Записывать звуковой фрагмент используя микрофон смартфона
● Выбирать пятнадцати-секундный фрагмент и добавлять его к видео в
качестве звуковой дорожки
● Видеть waveform при записи и редактировании
18
Аудио в Android
19
Формат
20
Конвертация
● MediaCodec?
● ffmpeg?
● aac-encoder?
MP3 m4a
21
Конвертация
MP3 wav m4a
JLayer decoder
MediaCodec + MediaMuxer
22
Конвертация
Создание кодека по имени кодера/декодера:
● OMX.google.aac.encoder
Создание кодека по MIME- типу
● audio/mp4a-latm
● Формирование очереди входных данных:
codec.queueInputBuffer(inputBufIndex, 0, bytesRead, presentationTimeUs, 0);
● Теоретический рассчёт времени смещения:
presentationTimeUs = 1000000 * (totalBytesRead / SAMPLING_RATE);
● Фактический рассчёт времени смещения:
presentationTimeUs = 1000000 * ((totalBytesRead / (SAMPLING_RATE/10000)) / SAMPLING_RATE);
Конвертация
23
MP4Parser
● Вырезаем
Movie srcAudio = MovieCreator.build(srcAudioPath);
Track track = srcAudio.getTracks().get(0);
Movie cropped = new Movie();
cropped.addTrack(new AppendTrack(new CroppedTrack(track, startSample, endSample)));
● Добавляем
Movie src = MovieCreator.build(srcVideo);
Movie audio = MovieCreator.build(croppedAudio);
src.addTrack(audio.getTracks().get(0));
24
Визуализация
MediaRecorder
● getMaxAmplitude()
● ~60ms
● 32767
25
RingDroid
● < 2.7.2 - CheapMP3, CheapAAC!
● 2.7.+ SoundFile :(
26
Визуализация
Итоги
27
28
Вопросы?
29

More Related Content

Viewers also liked

Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)fefe7270
 
Android Training (Media)
Android Training (Media)Android Training (Media)
Android Training (Media)
Khaled Anaqwa
 
mason updated cv2
mason updated cv2mason updated cv2
mason updated cv2
Mason Sylvester
 
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
Омские ИТ-субботники
 
Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)fefe7270
 
Thiyagu-Resume-film-multimedia-editor
Thiyagu-Resume-film-multimedia-editorThiyagu-Resume-film-multimedia-editor
Thiyagu-Resume-film-multimedia-editor
Thiyagarajan M
 
Why Employers Keen To Do Background Checks
Why Employers Keen To Do Background ChecksWhy Employers Keen To Do Background Checks
Why Employers Keen To Do Background Checks
affordablebackgroundchecks
 
Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)fefe7270
 
Реєстрація розрахункових операцій в Чехії. Особливості запровадження в чесько...
Реєстрація розрахункових операцій в Чехії. Особливості запровадження в чесько...Реєстрація розрахункових операцій в Чехії. Особливості запровадження в чесько...
Реєстрація розрахункових операцій в Чехії. Особливості запровадження в чесько...
Jan Ruzicka
 
Mellss yr5 paeds breathing difficulties (congestive cardiac failure)
Mellss yr5 paeds breathing difficulties (congestive cardiac failure)Mellss yr5 paeds breathing difficulties (congestive cardiac failure)
Mellss yr5 paeds breathing difficulties (congestive cardiac failure)
nur amalina aminuddin baki
 
Ozymandias - in class notes
Ozymandias - in class notes Ozymandias - in class notes
Ozymandias - in class notes
lramirezcruz
 
2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC
Омские ИТ-субботники
 
안드로이드 MediaPlayer & VideoView
안드로이드 MediaPlayer & VideoView안드로이드 MediaPlayer & VideoView
안드로이드 MediaPlayer & VideoView
Eunjoo Im
 
Android audio system(audioplicy_service)
Android audio system(audioplicy_service)Android audio system(audioplicy_service)
Android audio system(audioplicy_service)
fefe7270
 
Android media codec 사용하기
Android media codec 사용하기Android media codec 사용하기
Android media codec 사용하기Taehwan kwon
 
Biobancos y colecciones de muestras biologicas
Biobancos y colecciones de muestras biologicasBiobancos y colecciones de muestras biologicas
Biobancos y colecciones de muestras biologicas
Instituto Aragonés de Ciencias de la Salud - IACS
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia Framework
Opersys inc.
 
08 android multimedia_framework_overview
08 android multimedia_framework_overview08 android multimedia_framework_overview
08 android multimedia_framework_overview
Arjun Reddy
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)
fefe7270
 
IT talk "Процессы: настроим и перестроим"
IT talk "Процессы: настроим и перестроим"IT talk "Процессы: настроим и перестроим"
IT talk "Процессы: настроим и перестроим"
DataArt
 

Viewers also liked (20)

Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)
 
Android Training (Media)
Android Training (Media)Android Training (Media)
Android Training (Media)
 
mason updated cv2
mason updated cv2mason updated cv2
mason updated cv2
 
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
2016-10-01 01 Звиад Кардава. Welcome to Internet of Things
 
Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)
 
Thiyagu-Resume-film-multimedia-editor
Thiyagu-Resume-film-multimedia-editorThiyagu-Resume-film-multimedia-editor
Thiyagu-Resume-film-multimedia-editor
 
Why Employers Keen To Do Background Checks
Why Employers Keen To Do Background ChecksWhy Employers Keen To Do Background Checks
Why Employers Keen To Do Background Checks
 
Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)
 
Реєстрація розрахункових операцій в Чехії. Особливості запровадження в чесько...
Реєстрація розрахункових операцій в Чехії. Особливості запровадження в чесько...Реєстрація розрахункових операцій в Чехії. Особливості запровадження в чесько...
Реєстрація розрахункових операцій в Чехії. Особливості запровадження в чесько...
 
Mellss yr5 paeds breathing difficulties (congestive cardiac failure)
Mellss yr5 paeds breathing difficulties (congestive cardiac failure)Mellss yr5 paeds breathing difficulties (congestive cardiac failure)
Mellss yr5 paeds breathing difficulties (congestive cardiac failure)
 
Ozymandias - in class notes
Ozymandias - in class notes Ozymandias - in class notes
Ozymandias - in class notes
 
2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC2016-09-17 03 Василий Полозов. WebRTC
2016-09-17 03 Василий Полозов. WebRTC
 
안드로이드 MediaPlayer & VideoView
안드로이드 MediaPlayer & VideoView안드로이드 MediaPlayer & VideoView
안드로이드 MediaPlayer & VideoView
 
Android audio system(audioplicy_service)
Android audio system(audioplicy_service)Android audio system(audioplicy_service)
Android audio system(audioplicy_service)
 
Android media codec 사용하기
Android media codec 사용하기Android media codec 사용하기
Android media codec 사용하기
 
Biobancos y colecciones de muestras biologicas
Biobancos y colecciones de muestras biologicasBiobancos y colecciones de muestras biologicas
Biobancos y colecciones de muestras biologicas
 
Android's Multimedia Framework
Android's Multimedia FrameworkAndroid's Multimedia Framework
Android's Multimedia Framework
 
08 android multimedia_framework_overview
08 android multimedia_framework_overview08 android multimedia_framework_overview
08 android multimedia_framework_overview
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)
 
IT talk "Процессы: настроим и перестроим"
IT talk "Процессы: настроим и перестроим"IT talk "Процессы: настроим и перестроим"
IT talk "Процессы: настроим и перестроим"
 

Similar to 2016-08-20 01 Дмитрий Рабецкий, Сергей Сорокин. Опыт работы с Android Media Framework

Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
TrueConf__
 
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
TrueConf
 
2016-09-17 02 Игорь Гончаровский. Техническая и программная сторона VoIP
2016-09-17 02 Игорь Гончаровский. Техническая и программная сторона VoIP2016-09-17 02 Игорь Гончаровский. Техническая и программная сторона VoIP
2016-09-17 02 Игорь Гончаровский. Техническая и программная сторона VoIP
Омские ИТ-субботники
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON
 
Архитектура Itop.fm #kyiiv
Архитектура Itop.fm   #kyiivАрхитектура Itop.fm   #kyiiv
Архитектура Itop.fm #kyiivArtem Alexandrovich
 
12.pptx
12.pptx12.pptx
12.pptx
AdletShoraev
 
10183
1018310183
10183
nreferat
 
Автоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийАвтоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложений
Andrei Pugachev
 
Видео+Конференция 2013. Перспективные инновации в обработке видеосигналов. Ко...
Видео+Конференция 2013. Перспективные инновации в обработке видеосигналов. Ко...Видео+Конференция 2013. Перспективные инновации в обработке видеосигналов. Ко...
Видео+Конференция 2013. Перспективные инновации в обработке видеосигналов. Ко...
TrueConf
 
Alexander norinchak - HTML5 для мобильных платформ
Alexander norinchak - HTML5 для мобильных платформAlexander norinchak - HTML5 для мобильных платформ
Alexander norinchak - HTML5 для мобильных платформ
True Token
 
Презентация Microsoft PowerPoint nou.pptx
Презентация Microsoft PowerPoint nou.pptxПрезентация Microsoft PowerPoint nou.pptx
Презентация Microsoft PowerPoint nou.pptx
ssuserfd3c1c
 
DevOPS meetup
DevOPS meetupDevOPS meetup
DevOPS meetup
Rinat Muhamedgaliev
 
Egor Fedorov "Behavior-driven development in Python"
Egor Fedorov "Behavior-driven development in Python"Egor Fedorov "Behavior-driven development in Python"
Egor Fedorov "Behavior-driven development in Python"
Fwdays
 
CI/CD with Fastlane and Telegram
CI/CD with Fastlane and TelegramCI/CD with Fastlane and Telegram
CI/CD with Fastlane and Telegram
Сергей Веселовский
 
11.pptx
11.pptx11.pptx
11.pptx
AdletShoraev
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
Yandex
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
Yandex
 
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PUG #9 at OWOX: Поиск узких мест в приложении на PHP                PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
Анна Магас
 
Система подготовки видео для стриминга на платформе ivi / Евгений Россинский ...
Система подготовки видео для стриминга на платформе ivi / Евгений Россинский ...Система подготовки видео для стриминга на платформе ivi / Евгений Россинский ...
Система подготовки видео для стриминга на платформе ivi / Евгений Россинский ...
Ontico
 
Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"
Fwdays
 

Similar to 2016-08-20 01 Дмитрий Рабецкий, Сергей Сорокин. Опыт работы с Android Media Framework (20)

Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
 
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин СмирновВидео + Конференция. Как получить правильное изображение? Константин Смирнов
Видео + Конференция. Как получить правильное изображение? Константин Смирнов
 
2016-09-17 02 Игорь Гончаровский. Техническая и программная сторона VoIP
2016-09-17 02 Игорь Гончаровский. Техническая и программная сторона VoIP2016-09-17 02 Игорь Гончаровский. Техническая и программная сторона VoIP
2016-09-17 02 Игорь Гончаровский. Техническая и программная сторона VoIP
 
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли UnitySECON'2016. Чубарь Алексей, Мобильные грабли Unity
SECON'2016. Чубарь Алексей, Мобильные грабли Unity
 
Архитектура Itop.fm #kyiiv
Архитектура Itop.fm   #kyiivАрхитектура Itop.fm   #kyiiv
Архитектура Itop.fm #kyiiv
 
12.pptx
12.pptx12.pptx
12.pptx
 
10183
1018310183
10183
 
Автоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложенийАвтоматизация тестирования iOS и Android приложений
Автоматизация тестирования iOS и Android приложений
 
Видео+Конференция 2013. Перспективные инновации в обработке видеосигналов. Ко...
Видео+Конференция 2013. Перспективные инновации в обработке видеосигналов. Ко...Видео+Конференция 2013. Перспективные инновации в обработке видеосигналов. Ко...
Видео+Конференция 2013. Перспективные инновации в обработке видеосигналов. Ко...
 
Alexander norinchak - HTML5 для мобильных платформ
Alexander norinchak - HTML5 для мобильных платформAlexander norinchak - HTML5 для мобильных платформ
Alexander norinchak - HTML5 для мобильных платформ
 
Презентация Microsoft PowerPoint nou.pptx
Презентация Microsoft PowerPoint nou.pptxПрезентация Microsoft PowerPoint nou.pptx
Презентация Microsoft PowerPoint nou.pptx
 
DevOPS meetup
DevOPS meetupDevOPS meetup
DevOPS meetup
 
Egor Fedorov "Behavior-driven development in Python"
Egor Fedorov "Behavior-driven development in Python"Egor Fedorov "Behavior-driven development in Python"
Egor Fedorov "Behavior-driven development in Python"
 
CI/CD with Fastlane and Telegram
CI/CD with Fastlane and TelegramCI/CD with Fastlane and Telegram
CI/CD with Fastlane and Telegram
 
11.pptx
11.pptx11.pptx
11.pptx
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PUG #9 at OWOX: Поиск узких мест в приложении на PHP                PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
 
Система подготовки видео для стриминга на платформе ivi / Евгений Россинский ...
Система подготовки видео для стриминга на платформе ivi / Евгений Россинский ...Система подготовки видео для стриминга на платформе ivi / Евгений Россинский ...
Система подготовки видео для стриминга на платформе ivi / Евгений Россинский ...
 
Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"Сергей Комлач "Итоги Google I/O: что нас ждет"
Сергей Комлач "Итоги Google I/O: что нас ждет"
 

More from Омские ИТ-субботники

2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!
Омские ИТ-субботники
 
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
Омские ИТ-субботники
 
2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?
Омские ИТ-субботники
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
Омские ИТ-субботники
 
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
Омские ИТ-субботники
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
Омские ИТ-субботники
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
Омские ИТ-субботники
 
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
Омские ИТ-субботники
 
2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач
Омские ИТ-субботники
 
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
Омские ИТ-субботники
 
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
Омские ИТ-субботники
 
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
Омские ИТ-субботники
 
2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке
Омские ИТ-субботники
 
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
Омские ИТ-субботники
 
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
Омские ИТ-субботники
 
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность 2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
Омские ИТ-субботники
 
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
Омские ИТ-субботники
 
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
Омские ИТ-субботники
 
2016-09-17 01 Василий Полозов. Обзор понятий и технологий VoIP
2016-09-17 01 Василий Полозов. Обзор понятий и технологий VoIP2016-09-17 01 Василий Полозов. Обзор понятий и технологий VoIP
2016-09-17 01 Василий Полозов. Обзор понятий и технологий VoIP
Омские ИТ-субботники
 
2016-08-20 02 Антон Ковалев, Антон Кормаков. Viper. Чистая архитектура для iOS
2016-08-20 02 Антон Ковалев, Антон Кормаков. Viper. Чистая архитектура для iOS2016-08-20 02 Антон Ковалев, Антон Кормаков. Viper. Чистая архитектура для iOS
2016-08-20 02 Антон Ковалев, Антон Кормаков. Viper. Чистая архитектура для iOS
Омские ИТ-субботники
 

More from Омские ИТ-субботники (20)

2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!2017-08-12 01 Алексей Коровянский. Привет, ARKit!
2017-08-12 01 Алексей Коровянский. Привет, ARKit!
 
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
2017-08-12 02 Антон Ковалев. Texture a.k.a AsyncDisplayKit
 
2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?2017-05-06 02 Илья Сиганов. Зачем учить машины?
2017-05-06 02 Илья Сиганов. Зачем учить машины?
 
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
2017 04-08 03 Максим Верзаков. Docker — жизнь, вселенная и все остальное
 
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
2017-04-08 01 Евгений Оськин. Video streaming: от идеи до нагруженной системы
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
 
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
2017-03-11 01 Игорь Родионов. Docker swarm vs Kubernetes
 
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
2017-02-04 03 Алексей Букуров, Игорь Циглер. DSL для правил валидации
 
2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач2017-02-04 02 Яков Лило. Решение задач
2017-02-04 02 Яков Лило. Решение задач
 
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
2017-02-04 01 Евгений Тюменцев. Выразительные возможности языков программиро...
 
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
2016-12-03 01 Вадим Литвинов. От 2D к 3D обзор методов реконструкции поверхно...
 
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
2016-12-03 02 Алексей Городецкий. Как пишут компиляторы
 
2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке2016-12-03 03 Евгений Тюменцев. DSL на коленке
2016-12-03 03 Евгений Тюменцев. DSL на коленке
 
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
2016-11-12 02 Николай Линкер. Чему Java может поучиться у Haskell и наоборот
 
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
2016-11-12 03 Максим Дроздов. Навести порядок быстро, или как спасти оценки н...
 
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность 2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
2016-11-12 01 Егор Непомнящих. Агрегация и осведомленность
 
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
2016-10-01 03 Андрей Аржанников. Что такое Bluetooth Low Energy?
 
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
2016-10-01 02 Евгений Комаров. Как я сделал IoT-кикер
 
2016-09-17 01 Василий Полозов. Обзор понятий и технологий VoIP
2016-09-17 01 Василий Полозов. Обзор понятий и технологий VoIP2016-09-17 01 Василий Полозов. Обзор понятий и технологий VoIP
2016-09-17 01 Василий Полозов. Обзор понятий и технологий VoIP
 
2016-08-20 02 Антон Ковалев, Антон Кормаков. Viper. Чистая архитектура для iOS
2016-08-20 02 Антон Ковалев, Антон Кормаков. Viper. Чистая архитектура для iOS2016-08-20 02 Антон Ковалев, Антон Кормаков. Viper. Чистая архитектура для iOS
2016-08-20 02 Антон Ковалев, Антон Кормаков. Viper. Чистая архитектура для iOS
 

2016-08-20 01 Дмитрий Рабецкий, Сергей Сорокин. Опыт работы с Android Media Framework