当前位置: 首页 > 知识库问答 >
问题:

将视频中的帧转换成矩阵

蒋阳华
2023-03-14

我目前正在尝试实现一个分配的压缩算法(帧预测)。我不是在寻找缩略图文件,甚至只是一个shell命令来为我生成一些东西。我的问题是具体地将它与一个golang程序集成。

我刚开始就已经卡住了。我应该从视频中提取每一帧,将其分为I、P和B帧,并执行帧间编码(压缩帧本身),然后执行帧内编码(在帧之间)。

现在我甚至不能开始上面的问题,因为我不知道如何阅读视频作为我可以在代码中使用的东西。显然,我能想到的唯一库是FFMPEG。FFMPEG可以得到单独的帧,显然甚至i p和b帧。

共有1个答案

慕容博涛
2023-03-14

I/P/B帧只存在于原始比特流中。一旦视频被解码,所有帧都是I帧。您可能希望使用ffmprg解码为类似YUV4MPEGIPIPE的内容,然后在golang程序中解析输出。

 类似资料:
  • 我有一个30 fps的视频。我需要提取帧从视频在1 fps。在Python中这是怎么可能的? 我有下面的代码,我从网上得到,但我不确定如果它提取帧在1 fps。请救命!

  • 我在另一个论坛上问过这个问题,但从来没有运气。我在网上找到了下面的命令,它应该使用FFMPEG从图像创建一个视频(每个持续时间为5秒)。 FFMPEG-F image2-r 1/5-i img%03d.png-vcodec libx264 out.mp4 编辑:添加命令行输出

  • 问题内容: 是否有Java的框架或开源项目可以将视频从任何视频格式转换为任何视频格式。类似于Panda Video Conversion框架。 问题答案: 您是说JMF吗?- ( Java的媒体框架 )检查 这个 出来。

  • 我曾尝试使用GStreamer管道将mp4视频转换为avi视频,但它是在没有声音的情况下转换的 gst launch-t-v filesrc location=源。mp4!qtdemux!ffdec\U h264!视频/x-raw-yuv!avimux!filesink location=结果yuv。avi公司

  • 我已经创建了一个媒体播放器,它在表面视图上播放视频。视频完成后,视频的最后一帧仍保留在表面上。我想从表面移除视频帧,因为经过一些延迟后,另一个视频开始。 谁能帮助解决这个问题。 谢谢山贾因

  • 问题内容: 如何将BufferedImages数组转换为视频?我正在制作屏幕录像机。 之后我该如何压缩视频? 问题答案: 您可以使用Xuggler(在Windows,Mac或Linux上)执行此操作,以下教程将向您确切演示如何执行此操作。特别是,请参阅(我不是在开玩笑的)“如何成长球”教程,该程序可以从一系列BufferedImages(和一些音频)中提取视频。