作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 FFMPEG 中,集成了许多视频解码器。其中之一是 H264。现在,在 FFMPEG 中,解码器的哪一部分负责为解码器提供必要的输入数据给解码器,以便解码器对其进行解码?
我已经浏览了解码器的大部分代码,但无法找到发生任何事情的地方。
我只知道有一个文件叫做 file.c
在 libavutils
FFMPEG 源的目录。在这个文件中使用了一个 read() 函数。但是,h.264 解码器如何将其传送到 ffmpeg 以发送一些数据进行解码。
任何有关相同的指示都会对我很有帮助。请务必提出您的宝贵建议。
提前致谢。
最佳答案
ffmpeg 由几个库组成。您已经提到过 libavutil,该库提供了从文件或网络读取数据的低级访问权限。接下来,该数据由 libavformat 处理。该库知道如何读取可能不同的容器格式和协议(protocol)(mp4、mkv、rtmp 等),并将各个帧提取到 AVPacket 结构中。然后将每个 AVPacket 提供给作为 libavcodec 一部分的解码器。
关于video - FFMPEG:如何将输入数据馈送到解码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21727142/
我是一名优秀的程序员,十分优秀!