在Android上从字节流中播放视频

10
有没有办法在Android中从字节流播放视频? 我使用特定的通信中间件,因此不能仅将http/rtsp链接传递给MediaPlayer对象。
我想知道是否可以使用本地http/rtsp链接包装我的流,以便播放流而不是等待文件下载后再播放。
我的中间件在TCP上运行,因此我还考虑过可以使用tcp数据报包装我的rtsp数据报,并在客户端上以某种方式解释它们,同时删除TCP头。
我真的很惊讶我不能直接将字节流传递给MediaPlayer。 提前致谢。

这是一个有趣的话题... 我能想到的最好方法是在应用程序目录中创建临时文件,作为实现某种缓冲区的一种方式。 - mdelolmo
4
除非是 MPEG4 流,否则你不能仅仅将一些字节传递给解码器并让它解码图片。如果是 MPEG4 流,那么你就可以让一些东西工作。你能告诉我这是什么类型的视频流吗?如果是 h264 的话,它是哪个配置级别?你有它的 SDP 吗? - Cipi
我试图使用手机录制的3gp文件进行尝试。首先,我尝试在获得最小值(约2000 KB)后将缓冲区复制到文件中,然后创建一个MediaPlayer,但是当这样做时,prepare()会崩溃。我不知道如何创建SPD会话。事实上,我对解码并不了解。如果有教程链接,将不胜感激。谢谢回复。 - Pedriyoo
1个回答

3
在Android中自定义流媒体并不像我想象的那么容易。我设法做到了,但只有特定的视频可以。糟糕交错的MPEG4视频似乎是可流式传输的。 我最远能够流传这个视频:http://www.pocketjourney.com/downloads/pj/video/famous.3gp 正如Cipi回答我的那样,大多数格式不能仅仅打包在字节缓冲区中并将其传递给MediaPlayer。它们需要一些头文件、尾部等。我不确定上述文件中包含哪种格式,但我猜测它是MPEG4。

10
能否展示一些代码?我也在尝试做同样的事情。 - Vinod Maurya
16kbps无法通过Android中的媒体播放器类播放。 - Zaeem Sattar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接