当前位置: 首页 > 面试题库 >

Android中的视频处理

融烨华
2023-03-14
问题内容

我正在将Android 2.2与Eclipse结合使用。

我想制作一个捕获视频的应用程序,并针对每一帧将其作为位图发送到处理该方法 并返回新位图 并显示已处理位图的方法。

我对Android不太熟悉,因此,请问有人可以将我发送到我需要研究的资源上吗?


问题答案:

使用Android SDK完成以下步骤非常简单:

  • 从相机捕获预览帧作为位图数据。 Camera.PreviewCallback将以byte[]多种可能的图像格式返回代表帧的数据。
  • 修改像素数据。由于数据以原始字节的形式返回,因此对数据进行调整相对容易…这里的困难是将算法应用于要执行的特定图像处理。没有任何内置效果(4.0之前的效果)可以简单地应用于图像,因此您必须编写自己的效果。
  • 也可以将数据解码为一个Bitmap对象,以使像素处理更加容易。在2.2中,您可以选择使用NDK和jnigraphics以本机代码处理位图的像素,这比Java层要快得多。
  • 取结果的内容Bitmap并显示出来。对于快速移动的数据,您希望将其显示在SurfaceView; 上。使用该视图包含的lockCanvas()unlockCanvasAndPost()方法SurfaceHolder

如果这只是您想要做的,则可以轻松完成此任务。但是,这与捕获视频不同。Android当前不提供钩子来将帧实时流式传输到编码的视频容器(MPEG4、3GP等)中。它的视频捕获功能紧密地包装在MediaRecorder其中,它控制从帧捕获到编写编码视频的整个过程。您需要第3部分库(例如FFMPEG)(已在Android应用程序中使用NDK层多次构建和运行)来协助修改帧的编码过程。

我知道您有一个2.2目标,但是Android
4.0确实为您提供了一些缓解,因为他们已经发布了NDK的新版本,该版本可以让人们对从流中读取图像数据并将其传递到表示层之前发生的事情有更多的发言权。
。但是,我还没有花足够的时间了解它是否适​​合您的情况。



 类似资料:
  • 虽然HTML5的画布API没有提供直接在画布上绘制视频的方法,但是我们一定可以处理视频,其方法是从隐藏的video标签中捕获视频的帧,再使用循环把它们拷贝到画布上。 图3-5 处理视频 准备工作 开始之前,让我们谈一谈每个浏览器所支持的HTML5视频格式。在本书写作之时,关于视频格式的战争还在如火如荼的进行着,所有的主流浏览器,如Chome, Firefox, Opera, Safari, and

  • 我目前正在开发一个android应用程序,它将视频直播到kinesis视频流,并能够在其他一些设备中播放视频流。 问:我的问题是,在Android中不是有端到端的支持来制作和使用kinesis视频流吗?

  • 问题内容: 我想从视频中提取帧并对其应用一些过滤器,例如gabor / hough等。哪个Java库最适合处理各种视频编码?我一直在研究GStreamer,JMF,Xuggler等,但无法确定哪一个最好。我还希望编辑框架并使用新框架制作视频。 问题答案: 如果您要进行低级操作(例如提取帧和对其进行操作),那么Xuggler将是最佳选择,因为API围绕此低级进行调整。它适用于ffmpeg,因此可以处

  • 问题内容: 我需要在Java应用程序中进行一些简单的视频编辑,但是我发现的框架(JMF和FMJ)看起来很陈旧,到目前为止,我还没有发现任何证据可以实际编辑视频。我需要的操作类型是:裁剪,编辑部分和提取剪辑。 我以前从未以任何实际身份使用过视频,因此可能只是误解了FMJ / JMF的功能,但我仍对这些工具的最新版本的年龄感到担忧。 人们用什么来做这种事情?我应该使用哪些关键字来获得更相关的结果? (

  • 问题内容: 我在android中实现了视频播放,这对android来说是全新的,这是我到目前为止收集的部分代码。 根据逻辑,它应该播放视频。不知道我在哪里做错了。 问题答案: