有没有办法在Android API中播放原始音频/视频流?

有没有办法在Android API中播放原始音频/视频流?,android,h.264,android-mediaplayer,vorbis,Android,H.264,Android Mediaplayer,Vorbis,我有一个Vorbis流,如果需要,我可以解码到PCM,我有一个原始h264流,当在容器中时,Android支持这三个流。想知道是否有任何方法可以在没有任何容器的情况下手动将视频和音频样本输入android MediaPlayer。我想我必须重写MediaPlayer中的方法。有没有人有这方面的经验或有更简单的方法?我无法想象这是不可能的 您可能还可以播放音频pcm样本,我猜您可能需要放置wav头,但如果没有容器,您可能无法播放H264基本流。在媒体框架Stagefright中,有为各种容器格式注

我有一个Vorbis流,如果需要,我可以解码到PCM,我有一个原始h264流,当在容器中时,Android支持这三个流。想知道是否有任何方法可以在没有任何容器的情况下手动将视频和音频样本输入android MediaPlayer。我想我必须重写MediaPlayer中的方法。有没有人有这方面的经验或有更简单的方法?我无法想象这是不可能的

您可能还可以播放音频pcm样本,我猜您可能需要放置wav头,但如果没有容器,您可能无法播放H264基本流。在媒体框架Stagefright中,有为各种容器格式注册的嗅探器函数,可以告诉您需要使用哪种解析器,然后创建extractorparser。我认为您无法使用Android内置媒体框架播放应用程序中的H264基本流。

您可能也可以播放音频pcm示例,我猜您可能需要放置wav头,但如果没有容器,您可能无法播放H264基本流。在媒体框架Stagefright中,有为各种容器格式注册的嗅探器函数,可以告诉您需要使用哪种解析器,然后创建extractorparser。我认为您无法使用Android内置媒体框架播放应用程序中的H264基本流。

我想我可能能够让pcm流正常工作。我可以想象,如果我要绕过容器嗅探器,StageFright至少需要持续时间、SPS和PPS NAL以及视频样本的时间戳?我想知道netflix是怎么做到的?谢谢你的回答。这不是我想要的,但没关系…:-除非您对框架进行更改,你可能无法告诉Stagefright你只是发送H264 NAL单位/时长等。我不确定netflix是否使用Android框架,但肯定它可以使用NDK,这样它就可以拥有自己的媒体播放器,并按照自己的方式使用,而不必使用Android媒体框架。我认为你是对的。我认为Netflix正在使用NDK。我看不出在Android SDK中如何管理一个碎片化的容器。那太糟糕了。谢谢你的回复。我想我可能能够让pcm流工作。我可以想象,如果我要绕过容器嗅探器,StageFright至少需要持续时间、SPS和PPS NAL以及视频样本的时间戳?我想知道netflix是怎么做到的?谢谢你的回答。这不是我想要的,但没关系…:-除非您对框架进行更改,你可能无法告诉Stagefright你只是发送H264 NAL单位/时长等。我不确定netflix是否使用Android框架,但肯定它可以使用NDK,这样它就可以拥有自己的媒体播放器,并按照自己的方式使用,而不必使用Android媒体框架。我认为你是对的。我认为Netflix正在使用NDK。我看不出在Android SDK中如何管理一个碎片化的容器。那太糟糕了。谢谢你的回复。