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

Posted

技术标签:

【中文标题】为应用用户快速高效地播放音频和视频的最常用方法?【英文标题】:Most common methods to play audio and video for app users fast and efficiently? 【发布时间】:2021-02-13 20:25:58 【问题描述】:

我已经看到了几种方法和意见 - 包括流媒体(HLS、RTSP),或者只使用普通的 mp3、AAC、mp4 等。从数据库? (例如,用户点击播放按钮并播放媒体。)文件的大小(媒体的长度)会影响这个选择吗?什么是标准做法?

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

音频是我的主要目标。

【问题讨论】:

【参考方案1】:

HLS 流式传输是提供视频的事实上的方法 - 特别是在超过 5 分钟的情况下。您必须为不同尺寸的屏幕编码不同的尺寸/比特率。好处是这会减少小屏幕的带宽。

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

有一些 API 和服务可以对您的视频进行编码、托管,并为您提供播放视频的播放器(上传视频并获取播放网址)。我为api.video 工作,但也有Mux 和其他可以为您在构建应用程序时省去很多麻烦的人。

【讨论】:

谢谢!很有帮助【参考方案2】:

欢迎使用 ***,

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

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

在您的代码中很容易实现。您可以用来播放来自互联网的长音频文件/流。

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

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

关于播放视频,本人没有经验,无法发表意见。

编码愉快! :)

【讨论】:

感谢您的意见!感谢您的建议

以上是关于为应用用户快速高效地播放音频和视频的最常用方法?的主要内容,如果未能解决你的问题,请参考以下文章

Android 音频播放——AudioTrack直接播PCMMediaPlayer播媒体文件可以是audio

iOS音频问题通用配置

基于FFmpeg的视频播放器之十一:倍速播放

HTML5音频视频总结

使用任何方法在 openTK 应用程序中播放音频的最简单方法

从视频制作音频播客的服务? [关闭]