Как конвертировать видео 3GP для Android для просмотра?

#android #mencoder

#Android #mencoder

Вопрос:

Я создаю видео в формате 3GP на Android — однако, когда файлы в формате 3GP размещаются на сайте, тот же телефон Android не может просмотреть их обратно. (Файл работает на iPhone).

Как правильно закодировать / изменить размер видео в формате 3GP, чтобы видеоплеер на Android мог его воспроизвести?

Спасибо

Комментарии:

1. Используйте adb logcat DDMS или перспективу DDMS в Eclipse, чтобы просмотреть предупреждения , которые печатает мультимедийная подсистема, и получить дополнительную информацию о том, почему видео не воспроизводится.

2. Спасибо. На самом деле я больше смотрю на загрузку записанного файла 3GP на веб-сайт, а затем просмотр из браузера. Очень странно, что видео загружается на iPhone, но на Android написано, что оно не может воспроизвести формат. Однако, если файл выбран в файловой системе Android, он будет работать, но не при передаче через Интернет.

Ответ №1:

Решил эту проблему, конвертировав его в MP4, а затем перекомпилировав сервер Nginx для установки модуля потоковой передачи MP4. По умолчанию для Nginx mimetype было установлено значение [application / octet-stream] вместо .

Ответ №2:

Похоже, что эта проблема была решена на телефонах Froyo — по крайней мере, когда файл 3gp открывается в окне браузера с использованием http, а не rtsp, видео воспроизводится нормально. В версии 2.1 этого не происходит.

Ответ №3:

Чтобы сделать видео mp4 потоковым, вы должны изменить порядок байтов ‘atom’. Для этого я использую qt-faststart tool из пакета ffmpeg.

Этот инструмент изменяет порядок некоторых метаданных внутри контейнера mp4 и, как результат, позволяет выполнять «потоковую передачу» видео по HTTP.