android - MP4 是流媒体协议(protocol)还是文件格式?

标签 android mp4 google-cast

我目前正在使用 Wowza 来流式传输视频。我目前正在尝试集成 Wowza、Android 和 ChromeCast 设备 (CCD)。根据这份文件,https://developers.google.com/cast/docs/media , Google Cast 支持“MP4 协议(protocol)”。

所以,我的问题是:MP4 是流媒体协议(protocol)、文件格式还是两者兼而有之?

在 ChromeCast Android 演示应用程序中,它们只是将像这样的 URL http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 作为元数据传递给 CCD .

对我来说,这意味着不需要服务器来流式传输 MP4 文件。意思是,我什至不需要 Wowza 作为中介来进行流式传输。

这个理解对吗?

似乎客户端播放器将负责直接与 MP4 文件交互(例如搜索、暂停、停止、播放等...)。

最佳答案

虽然您已经接受了答案并让您的应用程序运行(这可能是您的最终目标),但我认为回答您的问题以及 MP4 的真正含义可能会有所帮助。

MP4 是一种视频容器格式; MP4容器内部是视频流数据(一般编码为H.264格式)和音频流数据(通常编码为AAC格式)。客户端播放器可以直接与其交互,因为 Chromecast 的浏览器具有 HTML5 视频支持,可以解释 MP4 容器格式并播放 H.264 视频和 AAC 音频,但它不是通常使用的术语“流式传输” ...它只是从您的网络服务器上分块下载并播放。如果它按照你喜欢的方式执行,这没有什么问题(事实上,这是 HTML5 视频的一大好处,它不需要流媒体服务器后端),但如果你真的想要真正的媒体流(到利用自适应比特率切换、许可等),您将通过 Wowza 而不是通过 Web 服务器提供 MP4 文件。

关于android - MP4 是流媒体协议(protocol)还是文件格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23446159/

相关文章:

ffmpeg - 最大将任何视频转码为 mp4。 800 宽度或最大。 800高度+水印

android - PagerTabStrip 未显示

android - "org.xmlpull.v1.XmlPullParserException: expected: START_TAG"错误

java - android在特定 fragment 中隐藏工具栏

html - 使用 HTML5 视频在 Firefox 中播放 MP4 文件

google-analytics - Chromecast接收器应用上的广告

Java .contains() 的行为不符合我的预期

ffmpeg - 使用 ffmpeg 进行色度二次采样

google-chrome - Chromecast 和其他浏览器中的 MPEG-DASH MPEG2-TS 支持

android - 如何阻止发送方拆除接收方以便其他发送方可以继续转换?