FFmpeg编解码流程解读--视频解码1

这篇具有很好参考价值的文章主要介绍了FFmpeg编解码流程解读--视频解码1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

首先我们知道ffmpeg是一个开源的音视频编解码,封装和解封装的工具。具体的下载方式这里不多赘述(感兴趣百度自行下载源码)。这里主要将编解码。ffmpeg音视频编解码依赖libavcodec。其为我们提供一套架构,其中包含了编解码器。这里主要介绍我们常用的一些API接口去处理实现编解码等媒体业务。但是一个好的应用框架需要兼容所有的功能的同时还不会因为底层api接口发生改变的(通过上层策略兼容新旧API才是我们长久之策)。

解码:

视频解码:

这边先将一下旧API流程:

FFmpeg编解码流程解读--视频解码1

注意:

1、如果要使用FFmpeg的API,就要先注册使用Av_register_all注册。

2、avcodec_find_decoder和Avcodec_alloc_context3分别是查找和申请解码器

3、vcodec_open2打开解码器,至此解码功能开启。

4、av_read_frame收流,即获取解码数据

5、Avcodec_decode_video2开始数据解码

新的API:

FFmpeg编解码流程解读--视频解码1

新的API其实大致流程其实是一样的,只是接口有所不同。

个人感觉区别如下:

1、新增了一个码流解析器,Av_parser_init和av_parser_parse2分别查找解析器和码流解析

2、Avcode_send_packet向解析器发送数据

3、avcodec_receive_frame解完码后将数据取出

如果想要将进入源码分析的话,可以进入这个目录:\ffmpeg\doc\examples文章来源地址https://www.toymoban.com/news/detail-401553.html

到了这里,关于FFmpeg编解码流程解读--视频解码1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FFmpeg音频解码流程详解及简单demo参考

            本文主要讲解FFmpeg的音频解码具体流程,API使用。最后再以一个非常简单的demo演示将一个mp3格式的音频文件解码为原始数据pcm文件。 本文主要基于FFmpeg音频解码新接口。    API接口简单大体讲解如下:         这一步是ffmpeg的任何程序的第一步都是需要先注

    2023年04月08日
    浏览(49)
  • 【FFmpeg+Qt开发】解码流程 详细分析+代码示例

    一、FFMPEG 概述 ​二、FFMPEG 解码 2.1解码流程 2.2解码示例 FFmpeg 是一套可以用来记录、转换,数字音频、视频,并能将其转化为流的开源计算机程序。 FFmpeg 采用 LGPL 或 GPL 许可证;它提供了录制、转换以及流化音视频的完整解决案;它还包含了非常先进的音频 视频编解码库

    2024年01月23日
    浏览(41)
  • [一]ffmpeg音视频解码

    (1)下载FFmpeg源码(v3.3.6) 下载地址( http://www.ffmpeg.org/download.html#releases ) (2)下载NDK(r14b) 下载地址( https://developer.android.google.cn/ndk/downloads/index.html) (3)编写Android编译脚本 (1)用ftp上传到Ubuntu中 (2)解压Ffmpeg(tar -zxvf ffmpeg-3.3.6.tar.gz) (3)解压NDK(unzip andro

    2024年01月19日
    浏览(266)
  • [音视频处理] FFmpeg使用指北1-视频解码

    本文将详细介绍如何使用ffmpeg 4.4在C++中解码多种格式的媒体文件,这些媒体文件可以是视频、视频流、图片,或是桌面截屏或USB摄像头的实时图片。解码文件后,还将每帧图片转换为OpenCV的Mat格式以供后续使用。 目录 1 基于ffmpeg的媒体文件解码 1.1 简介 1.2 详细代码 2 ffmpeg函

    2024年02月07日
    浏览(67)
  • FFmpeg 开发(14):Android FFmpeg + MediaCodec 实现视频硬解码

    FFmpeg 开发系列连载: FFmpeg 开发(01):FFmpeg 编译和集成 FFmpeg 开发(02):FFmpeg + ANativeWindow 实现视频解码播放 FFmpeg 开发(03):FFmpeg + OpenSLES 实现音频解码播放 FFmpeg 开发(04):FFmpeg + OpenGLES 实现音频可视化播放 FFmpeg 开发(05):FFmpeg + OpenGLES 实现视频解码播放和视频滤镜 FFmpeg 开发

    2024年02月09日
    浏览(39)
  • ffmpeg视频解码器的配置选项含义

    lowres 是 AVCodecContext 结构体中的一个成员变量,用于指定编解码器的降低分辨率级别。 在某些情况下,为了加快编解码的速度或减少计算资源的消耗,可以通过设置 lowres 参数来降低编解码器的分辨率级别。这将导致编解码器在处理视频时使用较低的分辨率,从而减少计算量

    2024年02月22日
    浏览(42)
  • ffmpeg cuda硬件解码后处理使用opengl渲染,全硬件流程

    使用硬件解码后不要transfer到内存,使用cuda转化nv12 - bgr24 转化完毕后cuda里面存了一份bgr24 如果需要opencv gpumat直接使用cuda内存,则可以手动构造gpumat 可以使用gpumat的各种函数 ptr(0)、ptr(1)和ptr(2)分别获取了R、G、B三个通道的数据指针。 使用reinterpret_cast将uchar 指针转换为ucha

    2024年04月12日
    浏览(47)
  • FFmpeg解码H264视频裸流(直接可用)

    1、写在前面 此文章主要包含解码H264视频流数据,主要有以下几点: 1、H264视频帧为Annex B格式,若使用AVCC格式可自行研究; 2、H264视频裸流,非解码视频文件(若有需要我后期可添加这部分代码); 3、支持输出RGB24或YUV420格式,其他可自行修改; 4、FFmpeg官网代码迭代及接口变

    2024年04月25日
    浏览(43)
  • 利用ffmpeg和opencv进行视频的解码播放

    引子 OpenCV中有自己的用于处理图片和视频的类VideoCapture,可以很方便的读入文件和显示。 现在视频数据流是ffmpeg解码h264文件得到的,由于要依赖该数据源进行相应的后续处理,所以需要将ffmpeg中得到的数据缓存转换成可以被OpenCV处理的Mat类对象。 ffmpeg介绍 FFmpeg是一个开源

    2024年02月13日
    浏览(45)
  • 基于新版FFmpeg(FFmpeg 6.1)的音视频复用(不涉及编解码)

    FFmpeg库常用函数介绍(一)-CSDN博客 FFmpeg库常用函数介绍(二)-CSDN博客 FFmpeg库常用函数介绍(三)-CSDN博客 这篇文章介绍的是基于新版FFmpeg(FFmpeg 6.1)的音视频复用器的实现,可以实现音频和视频文件复用为一个视频文件,具体功能如下表所示。 输入视频文件 输入音频文

    2024年01月17日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包