Спасибо вам за статью. Простите за то что трачу ваше время, но наболело. В своем приложение для проигрывания видео с сервера я использовал RTSP (раздавалось через wowza), но некоторые устройства (в частности галакси 2 отказывались проигрывать эти видео, в то время как htc sony ericcson, вполне успешно и без прерываний проигрывали видео). Тогда я попробовал псевдо стриминг. Однако время от времени независимо от файла, пользователи на некоторых девайсах могут получаю ошибку воспроизведения видео, я отловил эту ошибку:MediaPlayer: Error (1,-1004). Погуглив выяснил, что это скорее всего проблема I/O и что связана именно с сервером. Но найти решение как устранить проблему возникновения этой ошибки мне до сих пор не удалось. Быть может у вас есть какие-то рекомендации?
Сам с этой проблемой не сталкивался, так что решения у меня нет. Можно попробовать поменять web-сервер (взять тот же nginx), поэкспериментировать с настройками раздачи контента, убедится в устойчивости конекта между девайсом и сервером…
С RTSP — нет. В нём главное правильно сформировать SDP-описание, но за вас это делает Wowza, поэтому проблема скорее всего в профиле, которым закодировано видео. Обычный Baseline может не подойти, нужен Constrained Baseline.
Спасибо за статью. К сожалению, у нас ситуация другая: мы используем сторонний сервис, отдающий видео по http и стандартный андроидовый компонент воспроизведения часто теряет поток и отказывается его воспроизводить. Быть может кто сталкивался и поделится рецептом встраивания стороннего плеера в свое приложение?
Из сторонних плееров/фреймворков, которые можно встроить в своё apk при помощи SDK довелось работать с vitamio — vov.io/vitamio/ ( сейчас сайт лежит ).
Работает отлично, SDK(набор классов для плеера и остального) распространяется свободно, но, есть одно но. Для его работы нужно устанавливать на устройство vitamio-plugin, который невозможно встроить в приложение и нужно устанавливать из маркета.
Ещё один минус — он использует софтовое декодирование, поэтому на слабых смартфонах производительность никакая.
В вашем случае я бы грешил не на плеер, потому как обычный прогрессив даунлод вроде как все фреймворки реализовали хорошо, а на сторонний сервис.
Возможно, что сторонние плееры просто не знают как декодировать аппаратно. Об это же только вендор знает, который готовит родную прошивку и внедряет в неё фреймворк.
Потоковое видео в Android