Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从视频流中捕获/抓取帧?_Android_Video Streaming_Packet Capture - Fatal编程技术网

Android 如何从视频流中捕获/抓取帧?

Android 如何从视频流中捕获/抓取帧?,android,video-streaming,packet-capture,Android,Video Streaming,Packet Capture,在我的例子中,视频流来自Android MediaRecorder。[更新]根据一些在线信息,视频流通常可以在函数setOutputFile(FileDescriptor fd)的fd中输入 与捕获帧相关的帖子如下: “” 答案之一是: 使用NDK(可能是api,取决于实现)打开流 修改流的字节-每个帧作为单独的数据包发送。你必须从相机上抓取每个包,并修改它。 你可以替换颜色,也可以翻译。你也可以使用 OpenGL完全通过添加玻璃之类的东西来修改图像 效果 但我不知道可以使用什么API/库来捕

在我的例子中,视频流来自Android MediaRecorder。[更新]根据一些在线信息,视频流通常可以在函数setOutputFile(FileDescriptor fd)的fd中输入

与捕获帧相关的帖子如下: “”

答案之一是:

  • 使用NDK(可能是api,取决于实现)打开流
  • 修改流的字节-每个帧作为单独的数据包发送。你必须从相机上抓取每个包,并修改它。 你可以替换颜色,也可以翻译。你也可以使用 OpenGL完全通过添加玻璃之类的东西来修改图像 效果
  • 但我不知道可以使用什么API/库来捕获/抓取视频流中的每一帧。 (我已经能够使用ffmpeg将帧编码到视频文件中)

    我读到“

    但我不清楚如何用C/C++制作程序来捕获/抓取视频流中的帧


    请链接示例和教程。

    您可能使用FFmpeg命令行工具将帧编码为视频。现在是时候使用FFmpeg使用的库了:libavcodec、libavformat、libavutil等。只要从下载一个源代码,您就会在
    doc/examples/
    目录中找到一些如何使用它们的示例。一个很好的例子就是这个例子。

    谢谢。实际上,我使用FFmpeg库对一个视频文件进行解码,处理每一帧,然后编码到另一个视频文件。它起作用了。现在,我将把输入视频文件更改为输入视频流。但是ffmpeg中的例子并没有涉及到这个主题。你的问题当时还不清楚。请提供您想要的更多信息。你想提供什么样的流?其中一些是RTP、RTMP或MPEGTS。在我的帖子中,它写道:“就我而言,视频流来自Android MediaRecorder。”。我想你以前可能不会触及这个话题。我阅读了ffmpeg文档中的相关教程。但问题是不存在api示例。我不知道可以使用什么API/库从视频流中捕获/抓取每个帧。不过还是谢谢你。