ньюансы разработки видео для мобильных устройств

Post on 24-Jun-2015

1.410 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Ньюансы разработки медиапл

TRANSCRIPT

Ньюансы разработки медиаплееров для мобильных устройств

vkozhaev@gmail.comhttps://gamesdevandmath.blogspot.com

Для кого этот доклад?

Для людей имеющих опыт разработки видео, но не имеющих оного для мобильных устройств

Для сомневающихся в том, что на adobe Air можно написать высоконагруженное приложение для мобильников

Чего здесь не будет?

Рассказа о том, как создавать медиаплееры

Речь идет о ньюансах Чтоб начать, обратитесь к

официальной документации Адоби

Введение

Введение

Можно – ли „на флеше“ разработать медиаплеер для мобильника?

Да, если правильно его готовить! Flex SDK дает возможность

создавать AIR - приложения для айфона и андроида, в том числе с проигрыванием контента.

Введение

Почему – бы не писать на „родных“ языках?

Кроссплатформенность (за исключением исключений)

Рисование во Flash CS вместо кодинга Простота и мощь ActionScript 3.0 Возможность переноса приложения

из броузера

Введение

Как же написать плеер для мобилки?

Да так – же как и для броузера/десктопа

Тот – же код, те – же компоненты Но... есть ньюансы, рассмотрим

их

Тестируемые устройства и средства разработки Код тестировался на устройствах

Samsung galaxy tab P100 (Android 2.2) и Iphone 3.0

Компилировался с помощью Flash CS 5.5

Редактор кода FlashDevelop

Собственно ньюансы

Пути доступа к контенту

Можно проиграть контент через HTTP протокол RTMP протокол С локального хранилища RTMPE и HTTPS протоколы не

работают на мобильных устройствах

Кодеки

Для айфона актуальны кодеки Sorensen и ON2 VP6

Другие не работают Для Android не проверял Sorensen работает быстрее

Доступ к файлам

Айфон позволяет читать/писать файлы только в каталог приложения или специального хранилища приложения(так сказано в документации от Adobe)

Андроид позволяет писать куда угодно(Этого в документации Adobe нет)

Доступ к файлам

Айфон var file:File = new

File(File.applicationStorageDirectory.nativePath+“/filename.txt“)

var stream:FileStream = new FileStream(); stream.open(file, FileMode.WRITE); stream.writeUTFBytes("Hello"); stream.close();

Андроид

var file:File = new File(pathToFile)

stream.open(file, FileMode.WRITE);

stream.writeUTFBytes("Hello");

stream.close();

Ждущий режим

При нажатии кнопки back на айфоне проигрывание медиа и аудио прерывается, коннект к RTMP серверу обрывается

С андроидом это не так: приложение вышедшее из активного режима будет продолжать скачивать или проигрывать

Рендеринг

У айфона и андроида есть возможность использовать аппаратное ускорение при рендеринге.

Оно совершенно необходимо при проигрывания медиа файлов на Iphone. Аndroid устройства в целом более производительны

Рендеринг

Проигрывание локальных файлов

Для того, чтобы проиграть файл из локального хранилища необходимо добавлять file:/// как префикс к пути. Без этого играть не будет

var MyVideo:Video = new Video(); addChild(MyVideo); var MyNC:NetConnection = new NetConnection(); MyNC.connect(null); var MyNS:NetStream = new NetStream(MyNC); MyNS.play("file:///"+pathToLocalDir); MyVideo.attachNetStream(MyNS);

Размышлизмы и рекомендации

Размышлизмы и рекомендации

Не бойтесь пробовать - флеш нормально работает на мобилках. Важно лишь знать чего он не может

Перед разработкой всегда делайте прототип Всегда, всегда, всегда!!! Мобильные приложения нужно писать сразу

оптимизированными – лучше зафейлить проект на пол дороги, чем за неделю до релиза

Удаление ссылок и повторное использование объектов спасут человечество!

Не бойтесь пробовать - флеш нормально работает на мобилках

MVC с первых дней жизни проекта

Размышлизмы и рекомендации Используйте OSMF Flash Media Server только для

прототипов – потом вовза, или чего другое покузявее

Для перекодировки смело используем Flash Media Encoder

Вопросы

Вопросы? Хочешь спросить – напиши vkozhaev@gmail.com

top related