В предыдущей заметке я рассказал про то, как сделать видео для iPhone, которое можно передавать на гаджет с использованием принципа Smooth Streaming. И даже дал ссылку на собственный проект, где применил результаты своего знания. К сожалению, как оказалось — весьма поспешно: люди, проверившие ресурс на iPhone 3G, сообщили, что ничего не работает и выдается одна и та же ошибка, схожая с той, которую получал я на своем аппарате — «Формат видео не поддерживается».

То, что я посчитал ограничением первой версии аппарата, оказалось более системным. Сложилось так, что эмуляция iPhone в SDK, распространяемом Apple, строится на немного иных принципах, нежели традиционная эмуляция аппаратуры, как это делали в QEMU в проекте OpenMoko. Если во втором случае действительно эмулировался ARM SoC, то разработчики iPhone пошли по пути меньшего сопротивления — они просто пересобрали среду под традиционную платформу (которая x86), и когда запускался эмулятор — по сути дела работает родной для платформы код, но с ограничениями, налагаемыми эмулятором. А когда программу для гаджета необходимо перенести на устройство — используется кросс-компиляция и уже генерируется код для платформы ARM.

Разумеется, при первых испытаниях трансляции псевдо-потока я использовал iPhone первого поколения и результат был плачевен — устройство от казалось играть данный формат. Но попытка воспроизвести тот же самый фрагмент в эмуляторе оказалась успешной, что и привело к ошибочному выводу, позднее опровергнутому посетителями ресурса. Скорее всего, эмулятор использует мультимедиа-прослойку операционной системы, гораздо менее привередливую, нежели та, которая используется в iPhone OS (у которой ноги растут тоже из Mac OS X). Поэтому он беспроблемно показал то видео, которое мой телефон посчитал сбойным.

Причина же невоспроизведения видео кроется не в формате, а в кодеке видео h.264. В его реализации для мобильной платформы Apple внесло ряд ограничений, нарушение которых ведет к тому, что файл просто не воспроизводется. Поэтому правильно подобранные параметры из ссылки в предыдущей статье приводят к закономерно успешному результату.

Мне остается выразить благодарность всем тем, кто протестировал мой ресурс и указал на ошибку. Спасибо большое!

Комментарии к записи Ограничения на воспроизведения видео на iPhone отключены
08
Июн

Новое в iPhone OS 3.0

Написал Максим Крентовский в Деятельность

iphone3gs

Сейчас, когда идет keynote WWDC 2009 и о новшествах третьей версии прошивки говорят открыто, раскрою и я завесу тайны, надеясь не попасть при этом под NDA. Тем более, что еще во время объявления оных свойств, многие пользователи и разработчики захлебывались слюной на этот счет.
Подробнее →

Комментарии к записи Новое в iPhone OS 3.0 отключены
04
Апр

Batman is back

Написал Максим Крентовский в Деятельность

Спустя почти месяц молчания расскажу про покупку права присоединения Apple iPhone Developer Programm, точнее — о моем опыте в этом деле. Ну а прежде, чем приступить к сему благостному занятию, вкратце расскажу о том, что планирую в будущем написать.

Так, в планах:

  • описание простейшей CRM, которую мы сейчас разрабатываем в компании;
  • интерфейс информационного ресурса для использования в сетях IPTV для получения информации при помощи традиционных STB;
  • вкусности iPhone OS 3.

Ну а теперь, когда интерес подогрет, приступлю к основной теме.
Подробнее →

Комментарии к записи Batman is back отключены