我在哪里可以找到 C/C++ FFmpeg 扩展教程? [关闭]

Posted

技术标签:

【中文标题】我在哪里可以找到 C/C++ FFmpeg 扩展教程? [关闭]【英文标题】:Where can I find a C/C++ FFmpeg extensive tutorial? [closed] 【发布时间】:2012-07-08 22:08:08 【问题描述】:

我想使用 ffmpeg(以它的 c 库形式)将视频分割成更多部分,重新​​组合它们并对最终结果进行编码。一些基本的东西。但是很难找到有关此的文档或提示。我应该去哪里寻找/寻求建议?

【问题讨论】:

怎么样:inb.uni-luebeck.de/~boehme/using_libavcodec.html(基本上是一个教程链接自:ffmpeg.org/documentation.html) 看看这个...不是最新的,但会是一个好的开始。 dranger.com/ffmpeg 并且不要忘记 ffmepg doxygen 文档 ffmpeg.org/doxygen。 我也发现了这个:ffmpeg.org/developer.html danger.com 教程+1。这是我发现的唯一一个提供关于创建一个简单的精简应用程序来播放视频的分步教程,同时解释每个步骤并涵盖一些 API 特性。 C 中最小的可运行调整大小示例:***.com/questions/12831761/… 【参考方案1】:

您可以从 FFmpeg 项目维护的命令行实用程序的源代码中学到很多东西。

ffplay.c 中,ma​​in() 将向您展示如何初始化库。 stream_component_open() 演示了将编解码器与媒体中的流匹配,get_video_frame() 演示了如何解码数据包并获取其 PTS(呈现时间戳)。您将需要它来正确计时。

这应该可以让您开始解码方面的工作。在编码方面,请查看 ffmpeg.c。它比 ffplay 更大更复杂,但是编码帧的过程几乎反映了解码它的过程,所以一旦你有解码工作,它应该更有意义。

【讨论】:

【参考方案2】:

我正在寻找 FFmpeg 教程和 php,但我发现以下是使用任何语言学习它的最佳场所 一本书,我认为这是唯一一本关于 FFmpeg 的书 FFmpeg 基础:使用快速音频和视频编码器处理多媒体

http://www.amazon.com/FFmpeg-Basics-Multimedia-handling-encoder/dp/1479327832/ref=sr_1_12?ie=UTF8&qid=1357356672&sr=8-12&keywords=ffmpeg

第二个地方是 http://ffmpeg.org/documentation.html

【讨论】:

【参考方案3】:

我也一直在寻找一个好的 c/c++ FFmpeg 教程,而这个 c/c++ ffmpeg-libav-tutorial 绝对是我迄今为止找到的最好的。它解释了如何将 FFmpeg 用作库,并在此之前对视频关键词(如编码、解码、转译、复用 exc.)进行了清晰的概述,这对不熟悉视频的人非常有帮助。

另外,这个tutorial很好理解视频的概念,所以对于视频世界还不够熟悉的朋友,我建议先从这个开始,然后再继续c/c++ ffmpeg-libav-tutorial。

【讨论】:

【参考方案4】:

TLDR;

https://github.com/ShootingKing-AM/ffmpeg-pseudocode-tutorial - 通过松散的伪代码对 ffmpeg-cli 的工作流程有广泛的理解。


根据 FFmpeg 开发人员,最好的方法是阅读 ffmpeg libav 和/或 ffmpeg-cli 的完整源代码。

了解ffmpeg-cli的目标是能够将FFmpeg集成到我们的项目中,而无需在后台调用ffmpeg-cli进行多媒体操作。这很重要,因为,

启动外部可执行文件往往会被防病毒软件阻止,并可能导致用户出现问题。 优化项目特定的 libav 使用并跳过 ffmpeg-cli 中的不必要代码 此外,ffmpeg 官方文档充其量是模糊的,对于希望在其代码中实现 ffmpeg 库 (libav) 功能的开发人员来说,唯一的选择是阅读命令行界面的源代码。

但是,阅读ffmpeg-cli的源代码是非常困难的,因为它不是用来作为理解如何使用libav的学习材料,而是作为一个优化的多媒体工具。因此,我尝试将其源代码整理为简单的伪代码函数,突出显示 何时何地 以调用重要的(几乎所有)libav 的函数,以全面了解 ffmpeg 工作流程。有关如何调用 libav 函数调用的信息,可以参考 doxygen 文档和 ffmpeg-cli-source 文件。

【讨论】:

以上是关于我在哪里可以找到 C/C++ FFmpeg 扩展教程? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我在哪里可以找到合适格式(不是 .html)的 C/C++ 用户日志存档?

我在哪里可以找到 XMPP ios 的 XEP-0054 扩展

不和谐机器人在哪里可以找到 ffmpeg buildpack heroku

C/C++ Detours 库 - 在哪里可以找到?

怎样才能得到ffmpeg的colorchannelmixer的colormatrix

我在哪里可以找到 phpMyAdmin 的 create_tables.sql?