0

我已经使用 h264 编解码器和 AAC 将视频转换为带有 ffmpeg 的 mp4,并使用了基线配置文件。

视频为 540x360x250kbps

然后我在文件上运行 qt-faststart 以将原子移动到正确的顺序。

我已将文件粘贴在我们使用的 wiki 上并创建了指向它的链接。

我的测试手机是三星 Galaxy S3。

当我浏览到上面有 mp4 链接的页面并单击它们时,我会看到一个带有 2 个选项的弹出窗口:Internet 和 Video。

如果我使用“Internet”选项下载视频,我可以毫无问题地在手机上播放它们。

我也使用主配置文件进行了其他编码,这些也可以正常工作。我认为像 s3 这样功能强大的手机将能够处理 h264 中可用的更高级的压缩方案,但是我也浏览了有关支持的视频格式的 Android 文档,似乎只有“基线”支持压缩配置文件。

无论如何,尝试使用我假设尝试流式传输视频的“视频”选项是行不通的。

对于有问题的 wiki,单击链接显示正在设置 content-type 和 content-length 标头:

Content-Length  6175996
Content-Type    video/mp4;charset=UTF-8

使用浏览器单击链接会调用可以播放 mp4 的播放器(大多数情况下为 Quicktime)。

除了链接到它之外,还有更多的文件可以流式传输吗?为什么我的 Android 4 不能播放这些文件?

更新: 我决定使用视频标签制作一个快速的 HTML5 页面,这些视频确实可以在我的 Galaxy S3 和最新的 IOS 上播放。

4

3 回答 3

0

mp4 is not a streaming format. Unless you have a player that can handle pseudo streaming or pd streaming a link will simply cause a download. To get playback of mp4 file without downloading you need to have a player support. The default player is meant to play local files. To play files off the web in pseudo streaming form you need to have atleast a webapp with the appropriate player [say jwplayer]

于 2012-10-31T18:36:37.237 回答
0

我怀疑您指的是 Apple 的 HTTP Live Streaming (HLS),自 Honeycomb 以来,Android 就支持它。(正如您所怀疑的)比在 HTTP 服务器上粘贴 mp4 文件更复杂。您可以阅读有关Apple 开发人员资源的更多信息。

于 2012-10-31T06:53:35.973 回答
0

如果你想让一个 mp4 流式传输(以便它可以在下载完成之前开始播放),你需要运行 qt-faststart 以将 moov atom 放在正确的位置。

有关更多信息和大量参考资料,请参阅http://forums.creativecow.net/thread/291/486#610

于 2012-11-01T12:13:21.103 回答