为应用程序用户快速高效地播放音频和视频的最常用方法?

Most common methods to play audio and video for app users fast and efficiently?

我看过几种方法和意见 -- 包括流式传输媒体(HLS、RTSP),或者只是使用普通的 mp3、AAC、mp4 等。用户最常用的播放音频和视频的方法是什么从数据库? (例如,用户点击播放按钮和媒体播放。)文件的大小(媒体的长度)是否影响这个选择?什么是标准做法?

就上下文而言,我正在设计一个使用 Flutter 的应用程序,使用 AWS 或 firebase 作为后端,允许用户收听音频(短至 5 分钟,长至 20 分钟)并最终观看视频。寻找一种带宽高效且对最终用户而言速度快的方法。

音频是我的主要objective。

欢迎使用 Whosebug,

据我所知,大的音频平台都使用流媒体。

检查这个 flutter 包:https://pub.dev/packages/audioplayers

在您的代码中很容易实现。您可以用来播放互联网上的长音频 files/streams。

AudioPlayer audioPlayer = AudioPlayer(mode: PlayerMode.LOW_LATENCY);

  play() async {
    int result = await audioPlayer.play(url);
    if (result == 1) {
      // success
    }
  }

关于播放视频,我没有任何经验,无法给出任何意见。

编码愉快! :)

HLS 流式传输是传输视频的实际方法 - 特别是超过 5 分钟时。您必须为不同尺寸的屏幕编码不同的 sizes/bitrates。好处是这会减少较小屏幕的带宽。

对于播放,浏览器本身不支持流式传输,您需要一个 JS 播放器来播放视频(video.js 是一个很好的播放器)。

有一些 API 和服务可以对您的视频进行编码、托管它们,并为您提供一个播放器来播放视频(上传视频,并获得播放 url)。我为 api.video but there is also Mux 和其他人工作,他们可以让您在构建应用程序时省去很多麻烦。