android - 如何录制(和处理?)可从 Android 流式传输的视频

标签 android video encoding ffmpeg streaming

我公司的应用程序严重依赖网络视频的视频录制和播放。我使用 MediaRecorder录制视频的API,通过我设计的这个库:https://github.com/afollestad/material-camera .

对于播放,我使用这个库,它基本上是 Google 的 ExoPlayer 库的包装器:https://github.com/brianwernick/ExoMedia .

它在大多数情况下都适用于小视频,尤其是当我降低音频和视频的比特率时。然而,更大和更高质量的视频存在许多问题。有时它们似乎永远缓冲,有时甚至无法成功开始播放,等等。同样,这些视频是通过 HTTP 从 Amazon S3 流式传输的。

我已经阅读了一些关于 FFMPEG 的内容,以及它如何处理 MP4 以实现“快速启动”、将文件拆分为 DASH 的 block 等。但是,适用于 Android 的 FFMPEG 解决方案似乎有点复杂,所以......

有没有办法用 MediaRecorder 从 Android 录制 MP4? , MediaCodec ,或其他一些导致视频文件快速流式传输的 API?让我吃惊的是 Snapchat 能很好地解决这个问题。

最佳答案

好吧,我最终尝试了股票MediaPlayer再次API。只要您使用的是 API 16 或更高版本,默认的硬编码缓冲区大小应该没有什么大问题。

我最终制作了一个小型库,以防其他人需要一个很好的视频播放解决方案:https://github.com/afollestad/easy-video-player

关于android - 如何录制(和处理?)可从 Android 流式传输的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37193598/

相关文章:

java - 如何设置自定义尺寸的背景图片?

java - 使用回调异步加载 ListView 中的图像

swift - AV 视频 URL 在内存中保留多长时间?

html - 嵌入用户输入的 YouTube 视频

Java 日语字符串大小(以字节为单位)

encoding - 如何对非 ASCII 字符串和非整数进行 Bencode?

Powershell Remedy ARQ 文件,可能存在编码问题

android - Webview 重新加载蜂窝中的方向变化

android - ProGuard 不能与 okhttp 一起使用

php - 获取YouTube视频长度返回错误的值