我应该如何选择在Web、Android和;网间网操作系统?

我应该如何选择在Web、Android和;网间网操作系统?,android,ios,video,browser,Android,Ios,Video,Browser,我正在做一个视频共享项目,想知道是否有一种视频格式可以与大多数网络、Android和iOS播放器兼容 该应用程序的工作原理如下: 用户可以从移动设备(iOS和Android)拍摄视频 其他用户可以在移动设备(iOS和Android)和网络浏览器上播放视频 我不熟悉不同的视频格式。我注意到.mov和.mp4在iOS中使用。但我想,除了Safari,Android和web浏览器上不能播放.mov?有人能给点提示吗?来自 另一方面, iOS支持许多行业标准的视频格式和压缩标准,包括: H.264视频

我正在做一个视频共享项目,想知道是否有一种视频格式可以与大多数网络、Android和iOS播放器兼容

该应用程序的工作原理如下:

  • 用户可以从移动设备(iOS和Android)拍摄视频
  • 其他用户可以在移动设备(iOS和Android)和网络浏览器上播放视频
  • 我不熟悉不同的视频格式。我注意到.mov和.mp4在iOS中使用。但我想,除了Safari,Android和web浏览器上不能播放.mov?有人能给点提示吗?

    来自

    另一方面,

    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文件格式

    • 多种音频格式,包括中列出的格式

    另外,从(HTML5中的标签)

    • :WebM中的VP8和Vorbis
    • :WebM中的VP9和Opus
    • :通过MSE传输WebM
    • :Ogg中的Theora和Vorbis
    • :MP4中的H.264和MP3
    • :MP4中的H.264和AAC
    • :MP4中的FLAC

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

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

    希望对你有帮助

    嗨。。我想到目前为止,Android上还没有适用于HEVC的编码器。这意味着不能用HEVC编码。只有解码器可用。如果我错了,请纠正我@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);