Libavformat- 将图像对象传递给 libavformat 以生成视频

Posted

技术标签:

【中文标题】Libavformat- 将图像对象传递给 libavformat 以生成视频【英文标题】:Libavformat- Passing an object of images to libavformat to generate a video 【发布时间】:2020-12-26 20:48:56 【问题描述】:

我正在尝试使用 libavformat/Libavcodec 生成一个视频,其中包含一堆内存中的图像。

有人能指点我正确的方向吗?

提前致谢。

【问题讨论】:

【参考方案1】:

首先,解释使用 FFmpeg 从图像创建视频的基础知识here。

如果您只是想更改/强制视频的格式和编解码器,here 是一个好的开始。

对于原始 FFmpeg 文档,您可以使用 Video and Audio Format Conversion、Codec Documentation、Format Documentation 和 image2 demuxer documentation(此解复用器将图像作为输入进行管理)。

如果您只想拍摄图像并制作简单的视频,只需查看前 2 个链接即可。 FFmpeg 的文档为您提供了强大的工具,但如果您不需要它们,请不要使用它们。

从图像创建视频的示例命令是:

ffmpeg -i image-%03d.png video.mp4

这会将所有文件从image-000.png 依次提取到可用的最高编号,并从中制作视频。 您可以使用输出文件的扩展名强制格式。要强制使用视频编解码器,请使用-c:v,后跟编解码器文档中提供的编解码器名称。

【讨论】:

您好,感谢您的评论。我试过了,它可以工作,但现在我想使用生成的 libs*.dll 并调用内部函数来传递图像以生成视频。看看是否有办法做到这一点。谢谢 好吧,你可以去这个page,它会让你访问libav*文档和一些提示。如果您想查找更多信息或教程,我找到了this other question。他们提到了git repo,其中有一些关于使用 libav* 的教程,但它似乎很旧。所以我发现这个other repo 似乎是最新且完整的。

以上是关于Libavformat- 将图像对象传递给 libavformat 以生成视频的主要内容,如果未能解决你的问题,请参考以下文章

如何将三个或多个参数传递给自定义模板标签过滤器 django?

尝试将参数传递给点击手势的方法

Symfony2 覆盖 Sonata 媒体图像提供程序。(将接口传递给构造函数)

如何将库类或对象传递给片段?

.Net 将对象列表作为参数传递给 JQuery

将两个对象传递给mvc中的视图[重复]