gpt4 book ai didi

c - 如何使用 FFMpeg 将图像转换为视频以用于嵌入式应用程序?

转载 作者:行者123 更新时间:2023-11-30 16:19:07 29 4
gpt4 key购买 nike

我使用 FFmpeg 使用自定义 C 代码而不是 Linux 命令将图像编码为视频,因为我正在为嵌入式系统开发代码。

我目前正在学习第一个 dranger 教程和以下问题中提供的代码。

How to encode a video from several images generated in a C++ program without writing the separate frame images to disk?

我在以下 github 位置找到了一些“不太抽象”的代码。

https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/encode_video.c

我也打算使用它。

我的最终目标只是使用嵌入式 C 源代码在嵌入式系统上保存视频,但我的进度太慢了。总而言之,我的问题是,我似乎走在正确的道路上吗?我知道我的系统没有配备用于视频编解码器转换的硬件,这意味着我需要使用软件来完成它,但我不确定 FFmpeg 是否是嵌入式工作的可行选择,因为我还没有编译。

到目前为止,对我来说最大的危险信号是 FFmpeg 使用动态内存分配。我不熟悉如何评估它使用的动态内存量。这对我来说是非常重要的信息,如果有人熟悉所使用的内存量或如何在编译前评估它,我将不胜感激。

最佳答案

经过进一步的研究,在我看来,视频编码通常是一项硬件密集型任务,可以使用多个处理器和兆字节大小的 RAM。为了避免这种情况,我利用 AVI 格式执行最小量的压缩。

我发现 FFmpeg 不能轻易用于原始金属嵌入式系统,因为该库的初始“make”设置了特定于计算机编译的配置设置,这与交叉编译的需要相冲突。我可以看到有可用的交叉编译标志,但我没有找到任何描述如何使用它们的文档。不管怎样,我想避免大堆和多线程,所以我继续前进。

我决定在其他地方寻找更基本的源代码。 mikekohn.net/file_formats/libkohn_avi.php 是非常基本的编码的重要资源,无需任何复杂的库依赖项或多线程。我还没有实现,所以不能保证,但祝你好运。这实际上是我为图像到视频应用程序找到的唯一可以理解的编码源代码之一,除了 https://www.jonolick.com/home/mpeg-video-writer 之外。 。然而,Jon Olick 的源代码使用有损编码和最小帧速率(MPEG 固有的),这两者都是我试图避免的。

关于c - 如何使用 FFMpeg 将图像转换为视频以用于嵌入式应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55696741/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com