我该如何选择在Web,Android和Android上播放的视频格式? iOS版?

时间:2014-10-03 03:11:58

标签: android ios video browser

我正在制作一个视频分享项目,并想知道如果有一种视频格式与Web,Android和Android上的大多数播放器兼容,该怎么办?的iOS。

该应用程序将如下工作:

  1. 用户可以从移动设备(iOS和Android)中播放视频
  2. 其他用户可以在移动设备(iOS和Android)和网络浏览器上播放视频。
  3. 我不熟悉不同的视频格式。我注意到.mov和.mp4在iOS中使用。但我认为.mov不能在除Safari之外的Android和Web浏览器上播放?任何人都可以提示吗?

2 个答案:

答案 0 :(得分:38)

来自Android Developer - Supported Media Formats

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基线配置文件的低复杂度版本,AAC-LC音频高达160 Kbps,48 kHz, .m4v,.mp4和.mov文件格式的立体声音频

  •   
  • H.264视频,高达768 Kbps,320 x 240像素,每秒30帧,基线配置文件高达1.3级,AAC-LC音频高达160 Kbps,48 kHz,立体声音频输入为.m4v ,.mp4和.mov文件格式

  •   
  • MPEG-4视频,高达2.5 Mbps,640 x 480像素,每秒30帧,简单配置文件,AAC-LC音频高达160 Kbps,48 kHz,立体声音频,.m4v,.mp4,和.mov文件格式

  •   
  • 多种音频格式,包括Audio Technologies

  • 中列出的格式   

此外,来自MDN - Media formats supported by the HTML audio and video elements(HTML5中的<video>标记),

  
      
  • <video>:WebM中的VP8和Vorbis
  •   
  • <video>:WebM中的VP9和Opus
  •   
  • <video>:通过媒体源扩展程序(MSE)在WebM中流式传输VP9和Opus / VP8以及Opus
  •   
  • <video>:奥拉的Theora和Vorbis
  •   
  • <video>:MP4中的H.264和MP3
  •   
  • <video>:MP4中的H.264和AAC
  •   

从所有数据来看,似乎 .mp4 (确切地说, H.264视频,AAC音频,MPEG-4 )是这里的选择,因为它在所有平台(iOS,Android,网络浏览器)中都受支持。但是,请注意,您仍然需要检查每个平台(不同版本的Android,不同的Web浏览器)上的兼容性问题,这将在每个站点上进行说明。

答案 1 :(得分:1)

添加来自Andrew T.的更多信息。

根据Andrew的结论设置参数:

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

希望它有所帮助...... !!!