我正在开发一个视频分享项目,想知道是否有一种视频格式可以在Web、Android和iOS上兼容大多数播放器。
该应用程序将按如下方式工作:
- 用户可以从移动设备(iOS和Android)拍摄视频
- 其他用户可以在移动设备(iOS和Android)和Web浏览器上播放视频。
我不熟悉不同的视频格式。我注意到iOS中使用.mov和.mp4格式。但我假设.mov除了Safari之外,无法在Android和Web浏览器上播放。 是否有人能给个提示?
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+)
<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我来自安德鲁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);