Как выбрать формат видео для воспроизведения в Интернете, Android и iOS?

Я работаю над проектом совместного использования видео и задаюсь вопросом, что, если есть видеоформат, совместимый с большинством игроков в Интернете, Android и iOS.

Приложение будет работать следующим образом:

  1. Пользователи могут снимать видео с мобильных устройств (iOS и Android)
  2. Другие пользователи могут воспроизводить видео на мобильных устройствах (iOS и Android) и веб-браузерах.

Я не знаком с различными видеоформатами. Я заметил, что .mov и .mp4 используются в iOS. Но я полагаю, что .mov не может воспроизводиться на Android и веб-браузерах, кроме Safari? Может ли кто-нибудь дать подсказку?

Solutions Collecting From Web of "Как выбрать формат видео для воспроизведения в Интернете, Android и iOS?"

От разработчиков Android – Поддерживаемые форматы носителей ,

Type | Format / | Supported File Type(s) / | Codec | Container Formats ------+-----------+---------------------------------------------------------- Video | H.263 | 3GPP (.3gp) | | MPEG-4 (.mp4) +-----------+---------------------------------------------------------- | H.264 AVC | 3GPP (.3gp) | | MPEG-4 (.mp4) | | MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+) +-----------+---------------------------------------------------------- | H.265 HEVC| MPEG-4 (.mp4, Android 5.0+) +-----------+------------------------------------------------------ | MPEG-4 SP | 3GPP (.3gp) +-----------+---------------------------------------------------------- | VP8 | WebM (.webm) | | Matroska (.mkv, Android 4.0+) +-----------+---------------------------------------------------------- | VP9 | WebM (.webm) | | Matroska (.mkv, Android 4.0+) 

С другой стороны, из iOS Developer Library – Media Layer ,

IOS поддерживает множество стандартных форматов видео и стандартов сжатия, включая следующие:

  • H.264, до 1,5 Мбит / с, 640 на 480 пикселей, 30 кадров в секунду, версия с низким уровнем сложности базового профиля H.264 с аудио AAC-LC до 160 Кбит / с, 48 кГц, стерео аудио в формате .m4v, .mp4 и .mov форматы файлов

  • Видео H.264, до 768 Кбит / с, 320 на 240 пикселей, 30 кадров в секунду, базовый профиль до уровня 1.3 с аудио AAC-LC до 160 Кбит / с, 48 кГц, стерео аудио в .m4v, .mp4 и. Форматы файлов mov

  • MPEG-4, до 2.5 Мбит / с, 640 на 480 пикселей, 30 кадров в секунду, Простой профиль с аудио AAC-LC до 160 Кбит / с, 48 кГц, стереозвук в форматах .m4v, .mp4 и .mov

  • Многочисленные аудиоформаты, включая те, которые перечислены в Audio Technologies

Кроме того, из форматов MDN – Media, поддерживаемых аудио и видео элементами HTML ( <video> в HTML5),

  • <video> : VP8 и Vorbis в WebM
  • <video> : VP9 и Opus в WebM
  • <video> : потоковая передача VP9 и Opus / VP8 и Opus в WebM через расширения для источников мультимедиа (MSE)
  • <video> : Theora и Vorbis в Ogg
  • <video> : H.264 и MP3 в MP4
  • <video> : H.264 и AAC в MP4

Из всех данных кажется, что .mp4 (точнее, видео H.264, аудио AAC в MPEG-4 ) является выбором здесь, поскольку он поддерживается на всех платформах (iOS, Android, веб-браузер). Однако учтите, что вам по-прежнему приходится проверять проблемы совместимости на каждой платформе (другая версия Android, другой веб-браузер), что объясняется на каждом сайте.

Добавляем больше информации из ответа Эндрю Т.

Чтобы установить параметры из заключения Андрея:

 // To Set Audio Encoder: AAC mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); // To set Video Encoder: H264 mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); // To set Output Video format: mp4 mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 

Надеюсь, поможет…!!!