2010-12-15 144 views
2

我知道Android本身不支持MJPEG,但是有没有可用的jar文件/驱动程序可以添加到项目中使其成为可能?查看MJPEG视频流

回答

0

很少,除非它是您的Android平台(即您是运行Android的专用设备的集成商)。

一个好地方,开始寻找关于Android框架如何处理视频流的是在这里: http://opencore.net/files/opencore_framework_capabilities.pdf

如果你想煮了一些完全不兼容的,我想你可以做到这一点与NDK,果酱的ffmpeg成在那里,并有一点运气(和支持不同的Android设备的噩梦),你可以让它工作。

你试图解决什么是根本问题,也许我们可以解决一些问题。

+0

我们有摄像头看在DMV线,市民可以在桌面Web浏览器中查看。这是使用小程序完成的。我们希望能够在智能手机上显示相同的Feed。 – Tom 2010-12-15 18:38:46

+0

您是否在考虑为普通大众支持所有主流Android手机,还是想为您分发给员工的一组Android手机开发一款企业应用程序? – qdot 2010-12-15 19:11:32

+0

你真的应该将这个从mjpeg代码转换为帧间压缩的东西,无论如何都要大幅度提高带宽效率,那么为什么不用android支持的格式呢? mjpeg主要受欢迎,因为它在数码相机的芯片组中实现它已经实现了jpeg以增加视频功能,但它对于网络视频并不是一个很好的解决方案。或者,您可以只显示频繁更新的静态图片 - 不需要运动视频。 – 2010-12-15 20:19:24

0

您当然可以编写或移植软件来处理任何文档化的视频格式,问题是您不会拥有与内置视频编解码器相同程度的硬件优化代码,并且不会有效率低级访问帧缓冲区。所以你的代码很可能无法全速播放。有时候,如果你只是想了解一些东西,那可能就没问题了。另外,mjpeg分别压缩帧,所以写一些只跳过很多帧的东西应该是微不足道的,只能解码任何可以跟上的部分。

我认为有些人设法使用某些手机中的cpus的可选功能来构建ffmpeg或mplayer,并获得某些视频的全帧速率,但这是棘手的和设备特定的。

+0

现在,我了解你的申请,我将推荐我的答案。这是太多的工作,并要求用户安装一个应用程序。你应该在你的服务器上解决这个问题。 – 2010-12-15 20:32:31

0

我可能在这里说明了明显的情况,但MJPEG只包含多个JPEG。如果您可以通过剪切数据来抓取帧,则可以将该数据显示为任何其他图像。