Показаны сообщения с ярлыком windows phone. Показать все сообщения
Показаны сообщения с ярлыком windows phone. Показать все сообщения

понедельник, 18 января 2016 г.

Live трансляции и Windows Phone

Так повелось, что под платформу Windows Phone отсутствует множество популярных приложений. Среди них критически популярные: VSCO, Periscope, Snapchat. Microsoft вбахивает кучи денег, чтобы перенести самые крутые приложения, но находятся ребята вроде Snapchat, которые так ненавидят Microsoft, что судятся с разработчиками сумевшими разобрать snapchat приложения на api и сделать приложение под WP. Копии под iOS и Android адвокаты успешно игнорируют.

Но сегодня я расскажу о том, как обстоят дела с live видео трансляциями с телефона под Windows. Сейчас начало 2016-го, и нет ни одного приложения, позволяющего делать live видео трансляции с вашего windows телефона, как это делают миллионы школьников с помощью Periscope под другие мобильные платформы.

Неделю я гуглил и вникал в эту тему и мне импонирует следующий подход: стримить с телефона на сервер, там конвертировать во все возможные форматы и транлировать на любые устройства. Альтернативный способ - писать voip p2p клиенты, как это делает Skype для онлайн конференций.


Эта картинка взята с https://wmspanel.com/nimble. Nimble просто шикарный стример - принимает ваш поток и раздает в любом популярном формате. Я провел небольшой тест: установил Nimble, запустил стримминг изображения вебкамеры с помощью Adobe Media Encoder и сразу поднял простенькую html страницу с видео фреймом из Nimble. Задержка таким способом у меня получилась ~16 секунд.

Как сделать live стримминг с Windows Phone? Вот такие инструменты хотел использовать я:

RTMP (ffmpeg на телефоне) -> WebORB For .Net (Server) -> Nimble (optional) -> любые клиенты

RTMP - старенький простой стримминг протокол. Его поддерживает очень известная видео библиотека ffmpeg. Microsoft сделала отличный пример-обертку FFmpegInterop, но только под клиентскую часть. Т.е. в этом примере можно только принимать стрим на телефон/десктоп (поддерживается UWP под Windows 10). Чтобы сделать трансляцию с телефона, всего-то нужно дописать эту C++ обертку, добавить к вызову ffmpeg опции конвертации видеопотока и отправкой на сервер вместо приема.

WebOrb - единственный найденный мной .net фреймворк, способный работать с rtmp форматом. Дальше поток можно сразу подключаться к потоку rtmp понимающими плеерами или отдать потом на Nimble, чтобы любое устройство смогло подключиться

Аналоги для серверной части - ffmpegServer, nginx (с rtmp модулем), wowza server, nimble.

Когда-то у microsoft существовал silverlight компонент (поддерживался и на WP), способный транслировать видео в IIS Smooth Streaming формате. Эту штуку использовали на Олимпийских играх, чтобы обеспечивать видео трансляцию с минимальной задержкой. Но увы, silverlight умер и унес с собой эту технологию.

Вывод:
Нужно доковырять FFmpegInterop пакет и наконец подарить пользователям WP возможность показать себя красивых всему миру в реальном времени. Если кто-то сделает, дайте знать ;)

понедельник, 31 августа 2015 г.

У Lumia 925 проблемы с флешь памятью eMMC

Иногда приходится повозиться с чужими телефонами. Но совершенно неожиданно, когда ломается твой собственный. Тем более, что пользуюсь я аккуратно и вроде как с пониманием.

И тут моя люмия вырубается и не может загрузится. Soft reset (громкость вниз + выкл.) - не работает. Hard reset (громкость вниз + выкл. + камера) запускается, все падает и телефон вконец окирпичивается.

Я пробовал восстановить его с помощью windows phone recovery tool, пробовал прошить через консольный режим. Ничего не работает. Телефон мертвый на столько, что не подает признаков жизни при подключении к зарядному устройству и не определяется компьютером. На всякий случай я зарядил батарею вручную и продолжил поиски информации.

Заряжать батарею гораздо проще, чем аккуратно снять заднюю крышку телефона.
Перепрошиваются windows телефоны очень здорово через Advance Turbo Flasher - чудесная программа, защищенная хардварным ключом стоимостью порядка $100. Прикинул, что окупится мне такая штука не скоро и просто нашел человека на Ждановичах, который этим на хлеб зарабатывает. Мы вместе попробовали прошить и выяснили, что полетела eMMC память.

После обзвона пары ремонтников, выяснилось, что многие занимаются перепайкой флешь памяти, но на Lumia 925 ни у кого это сделать успешно не удалось. Говорят меняйте системную плату целиком.

Ок, мне повезло недорого выкпить такую же модель, но с треснутым экраном и дикими потертостями.

Две Lumia 925 в частичном разборе
Пока собирал свой телефон, умудрился порвать коаксикальный кабель. Но теперь у меня есть запасной :)

Б.у. телефон обошелся мне в 950 тыс. бел. рублей ($53 на момент покупки). Это выгоднее, чем заказывать новую системную плату с aliexpress (примерно $60 + 2 месяца ожидания + риски), и еще остаются запасные части.