#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.