web-dev-qa-db-ja.com

Web、Android&iOSで再生するビデオ形式をどのように選択すればよいですか?

私はビデオ共有プロジェクトに取り組んでおり、Web上のほとんどのプレーヤーと互換性のあるビデオ形式があるとしたら、Android&iOS。

アプリは次のように機能します。

  1. ユーザーはモバイルデバイス(iOSおよびAndroid)からビデオを撮ることができます
  2. 他のユーザーは、モバイルデバイス(iOSおよびAndroid)およびWebブラウザーでビデオを再生できます。

さまざまなビデオ形式に慣れていません。 iOSでは.movと.mp4が使用されていることに気付きました。しかし、私は.movがAndroidおよびSafari以外のWebブラウザで再生できないと思いますか?誰かがヒントを与えることはできますか?

16
cannabis

Android Developer-サポートされているメディア形式 から、

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 Mbps、640 x 480ピクセル、30フレーム/秒、H.264ベースラインプロファイルの低複雑度バージョン、最大160 Kbps、48 kHz、.m4vのステレオオーディオ、 .mp4、および.movファイル形式

  • H.264ビデオ、最大768 Kbps、320 x 240ピクセル、30フレーム/秒、最大レベル1.3のベースラインプロファイル、最大160 Kbps、48 kHzのAAC-LCオーディオ、.m4v、.mp4、および。 movファイル形式

  • MPEG-4ビデオ、最大2.5 Mbps、640 x 480ピクセル、30フレーム/秒、最大160 Kbps、48 kHzのAAC-LCオーディオのシンプルプロファイル、.m4v、.mp4、および.movファイル形式のステレオオーディオ

  • Audio Technologies にリストされているものを含む、多数のオーディオ形式

また、 MDN-HTMLオーディオおよびビデオ要素でサポートされるメディア形式<video> HTML5のタグ)、

  • <video>:WebMのVP8およびVorbis
  • <video>:WebMのVP9とOpus
  • <video>:MSEを介したストリーミングWebM
  • <video>:OggのTheoraとVorbis
  • <video>:MP4のH.264およびMP3
  • <video>:MP4のH.264およびAAC
  • <video>:MP4のFLAC

すべてのデータから、。mp4(正確には、H.264ビデオ、AACオーディオ、 MPEG-4)は、すべてのプラットフォーム(iOS、Android、Webブラウザー)でサポートされているため、ここで選択します。ただし、各サイトで説明されているように、各プラットフォーム(Androidの異なるバージョン、異なるWebブラウザー)で互換性の問題を確認する必要があることに注意してください。

40
Andrew T.

Andrew T.の回答からさらに情報を追加します。

アンドリューの結論からパラメータを設定するには:

// 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);

それが役に立てば幸い...!!!

1
Chintan Soni