0
Android AV streaming     Как это сделать?
НЕЛЬЗЯ ПРОСТО ВЗЯТЬ СДКИ НАЧАТЬ СТРИМИТЬ ДАННЫЕ
Нам нужен хитрый план!
Что же дает нам     андроид?Видео   Линукс   Аудио
Мы всегда можем сделать     видеозапись
Часть первая: Легкий путь
Легкий путь: MediaRecorder- MediaRecorder объект- MediaRecorder объект- Источник видео/аудио- Путь к файлу с результатами ...
Усложняем: чтение файла "на          лету"       MediaRecorder           Файл           Поток
Пытаемся прочитать файл- Описание типа файла- Секция с бинарными данными (в семплах)- Таблица описания семплов (оффсет, дл...
Курение мануалов и сорцов
Процесс записи файла          Секция данных (aka data atom)   raw 1        raw 2       raw 3        raw 4   raw 5        r...
Усложняем: чтение файла "на          лету"          MediaRecorderФайл #1                   Файл #2              Поток
Типы "файлов"доступные для приложений   Файл                        ПайпMediaRecorder использует RandomAccessFile
Часть вторая: Сложный путь
Raw dataCamera preview    AudioRecord
Raw dataCamera preview                         AudioRecord   Raw video frame                                      Raw audi...
Курение мануалов и сорцов 2            +                Свежая кровь мамонта
FFMPEG              Параметры             конвертацииMedia data                 Media data             Стандарты
Raw dataCamera preview                         AudioRecord   Raw video frame                                      Raw audi...
А почему мы не можем использовать драйвера linux?Сетевой драйвер     Video4Linux драйвер    Отсутствие прав у пользователя
Большая картинка         Драйвера Linux   RAW                    RAWАудио поток         Видео поток     RAW              R...
Большая картнка 2             Аудио              Видео пайп              пайп                                             ...
Выводы- Видео и аудио стриминг в андроиде - это  реальность- Не все так просто, как может показаться- Есть слабые места в ...
Вопросы???
Что посмотреть- Atomic parsley (http://atomicparsley.sourceforge.net)- Imsdroid (http://code.google.com/p/imsdroid)- RTP (...
Сергей Арнаут - Stream yourself with Android
Upcoming SlideShare
Loading in...5
×

Сергей Арнаут - Stream yourself with Android

432

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
432
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Сергей Арнаут - Stream yourself with Android"

  1. 1. Android AV streaming Как это сделать?
  2. 2. НЕЛЬЗЯ ПРОСТО ВЗЯТЬ СДКИ НАЧАТЬ СТРИМИТЬ ДАННЫЕ
  3. 3. Нам нужен хитрый план!
  4. 4. Что же дает нам андроид?Видео Линукс Аудио
  5. 5. Мы всегда можем сделать видеозапись
  6. 6. Часть первая: Легкий путь
  7. 7. Легкий путь: MediaRecorder- MediaRecorder объект- MediaRecorder объект- Источник видео/аудио- Путь к файлу с результатами записи- Источник видео/аудио- Prepare- Start- Путь к файлу с результатами записи- Stop- Release- Prepare- Start- Stop- Release
  8. 8. Усложняем: чтение файла "на лету" MediaRecorder Файл Поток
  9. 9. Пытаемся прочитать файл- Описание типа файла- Секция с бинарными данными (в семплах)- Таблица описания семплов (оффсет, длина) А почему таблица описания идет в конце? А почему таблица Начали запись.... Мы семплов пустая???все же должны читать Читаем файл... последовательно
  10. 10. Курение мануалов и сорцов
  11. 11. Процесс записи файла Секция данных (aka data atom) raw 1 raw 2 raw 3 raw 4 raw 5 raw 6 raw 7 raw 8 raw 9 raw 10 raw 11 raw 12 raw 13 raw 14 raw 15 raw 16Секция расположения данных (aka data alloc atom) alloc 1 alloc 2 alloc 3 alloc 4 alloc 5 alloc 6 alloc 7 alloc 8 alloc 9 alloc 10 alloc 11 alloc 12 alloc 13 alloc 14 alloc 15 alloc 16
  12. 12. Усложняем: чтение файла "на лету" MediaRecorderФайл #1 Файл #2 Поток
  13. 13. Типы "файлов"доступные для приложений Файл ПайпMediaRecorder использует RandomAccessFile
  14. 14. Часть вторая: Сложный путь
  15. 15. Raw dataCamera preview AudioRecord
  16. 16. Raw dataCamera preview AudioRecord Raw video frame Raw audio buffer Network stream Network stream
  17. 17. Курение мануалов и сорцов 2 + Свежая кровь мамонта
  18. 18. FFMPEG Параметры конвертацииMedia data Media data Стандарты
  19. 19. Raw dataCamera preview AudioRecord Raw video frame Raw audio buffer Network stream
  20. 20. А почему мы не можем использовать драйвера linux?Сетевой драйвер Video4Linux драйвер Отсутствие прав у пользователя
  21. 21. Большая картинка Драйвера Linux RAW RAWАудио поток Видео поток RAW RAW Аудио Видео пайп пайп
  22. 22. Большая картнка 2 Аудио Видео пайп пайп Тоже отдельный поток RTP packages InternetsПайп с RTP Наше приложение пакетами
  23. 23. Выводы- Видео и аудио стриминг в андроиде - это реальность- Не все так просто, как может показаться- Есть слабые места в любой реализации- Не бойтесь экспериментировать
  24. 24. Вопросы???
  25. 25. Что посмотреть- Atomic parsley (http://atomicparsley.sourceforge.net)- Imsdroid (http://code.google.com/p/imsdroid)- RTP (http://tools.ietf.org/html/rfc3550)- RTSP (http://tools.ietf.org/html/rfc2326)- UStream (Google play)- IP Webcam (Google play)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×