Подготовка видеофайлов Android к воспроизведению через HTTP - PullRequest
3 голосов
/ 09 июля 2010

Я работаю над приложением Android, которое должно воспроизводить видео через HTTP на устройствах Android.Прежде чем мы настроили сервер для размещения видеофайлов, хотелось бы кое-что прояснить:

Согласно документации разработчика, Android поддерживает форматы контейнеров .mp4 и .3gp для видео.Если мы используем аудио-видео кодек H.263 (видео) - AAC LC (аудио), используемый для наших медиафайлов, сможем ли мы воспроизвести видео, передав URL-адрес классу MediaPlayer?

Я сделал немногоПоэкспериментируйте и передайте URL одного из видеофайлов (.mp4) в класс MediaPlayer и получите следующую ошибку:

Команда PLAYER_INIT завершилась с ошибкой или информацией PVMFErrContentInvalidForProgressivePlayback

Из документов я узнал, что для прогрессивного воспроизведения индекс видео (например, moov atom) должен быть в начале файла.

Вопросы:
1. Как мы делаем наши видеоГотов к работе с Android?
2. Какие соображения нужно учитывать?

Пожалуйста, помогите.

Спасибо.

Ответы [ 2 ]

1 голос
/ 13 мая 2013

На самом деле вы можете достичь этого, используя чистую реализацию Java из контейнера BMF (MP4) ISO, используемого JCodec (http://jcodec.org).Для этого используйте следующий код:

MovieBox movie = MP4Util.createRefMovie(new File("bad.mp4"));

new Flattern().flattern(movie, new File("good.mp4"));

Побочным эффектом 'Flattern' является создание оптимизированного веб-файла фильма с заголовком ДО данных.

Вы также можете использовать аналогичные функции из командной строки:

java -cp jcodec-0.1.3-uberjar.jar org.jcodec.movtool.WebOptimize <movie>

Библиотеку JCodec можно загрузить с веб-сайта проекта.

0 голосов
/ 10 июля 2010

Я кросс выложил этот вопрос на гугл-группе Android-разработчиков.Марк ответил там.Спасибо Марк! Посмотри эту тему

...