android - 如何在 Android 上播放数字海洋托管视频?
问题描述
如何在 Android 应用上播放托管在 DigitalOcean Space 上的视频?Digital Ocean 提供的视频类型是什么,例如 MPEG-DASH、HSL 或 RTMP 等?我可以使用 Exoplayer 播放 Digital Ocean 视频吗?
解决方案
DigitalOcean 是通用云计算提供商,而 Spaces 是其与 AWS S3-API 兼容的对象存储解决方案 - 即它不是专用的视频主机解决方案。
您可以在那里存储和访问您的视频,但格式、编解码器容器等取决于您。
它确实有一个内置的 CDN,您可能会发现它有助于缩短视频响应时间,但与所有 CDN 一样,您可能需要测试和比较以确定哪个最适合您。
对于流媒体视频,您可以:
- 只需使用 HTTPS 流媒体,基本上只是分块下载视频并在下载时播放。
- 使用像 HLS 或 HASH 这样的专用流协议,这将允许您提供多种比特率来改善用户体验。更多关于 ABR 流的信息:https ://stackoverflow.com/a/42365034/334402
这种支持 HLS 和/或 DASH 的常用方法是使用流式服务器 - 有可用的开源服务器,例如http://www.videolan.org/vlc/streaming.html
在任何一种情况下,如果您的视频是 mp4,您还需要确保标题信息,“moov atom”位于开头,因为播放器需要它来允许它开始播放。有一些工具可以让您执行此操作以及更多信息:https ://multimedia.cx/eggs/improving-qt-faststart/
推荐阅读
- flutter - GetxControllers 是否会自动关闭 obs 流?
- vue.js - 如何在vuetify中水平对齐项目
- nestjs - Nestjs,如何获取实体表名?
- elasticsearch - 具有一个值和一个查询字符串的布尔值的 IS DSL 查询在语义上是相同的
- node.js - 如何显示用户已连接到 GitHub
- laravel - Laravel 不断记录“无效请求(格式错误的 HTTP 请求)”
- vb.net - DataGridView 从另一个类调用时不显示任何内容,但使用表单按钮可以正常工作
- r - 错误:找不到函数“%||%”(管道百分比)
- c# - 如何在 C# 中将 PDF 文本坐标转换为图像文本坐标
- python - PHP7.4:OpenSSL AES-CFB 加密不同于 Python