![](https://img-blog.csdnimg.cn/20210609091933887.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
音视频编解码
文章平均质量分 86
介绍ffmpeg编解码使用,以及音视频应用
aworkholic
路漫漫其修远兮,吾将上下而求索
展开
-
ffmpge 学习目录汇总
致敬雷神,学习ffmpeg除了参看官方文档和注释,很多相关音视频行业知识、基本概念、代码等都从雷神博客中获益匪浅。整个系列使用 FFmpeg 4.x版本,参考雷神的博客,对自己学习的一个记录。0、背景知识1 ffmpeg获取和使用ffmpeg命令行工具、ffmpeg开发库(数据结构、源码等)介绍...原创 2021-04-17 15:38:34 · 2030 阅读 · 1 评论 -
ffmpeg学习 源代码编译、英伟达硬件加速
使用cpu进行软编解码时,cpu效率低并且占用高。使用硬件加速,能够明显降低CPU的占用,参看博客 ffmpeg学习(16)AVDevice使用。 这里以使用英伟达gpu进行h264编解码加速为例说明,其他平台类似。1、winodws硬件加速支持在windows平台直接下载官方的预编译ffmpeg、lib开发包,都已经支持了英伟达显卡硬件加速。使用命令ffmpeg.exe -hide_banner true -codecs |findstr h264,查询结果如下可以看到英伟达硬件支持的解码器有 h原创 2022-02-12 00:47:17 · 2636 阅读 · 0 评论 -
ffmpeg应用 接收网络流并解码播放
文章目录1、ImageHandler模板类2、StreamDecoder类3、UdpServer类4、StreamApp类5、测试5.1、测试裸流数据保存5.2、回调方式获取图像5.3、轮询方式获取图像前文 【ffmpeg学习(17)文件流、网络流的格式解析(使用AVIOContext )】 和 【ffmpeg学习(19)文件流、网络流的格式解析(纯净版av_parser_parse2)】 介绍了使用文件模拟网络流解析并解码的过程。本文使用UDP socket通信实现真实的网络流通信。下面是文件关系图:原创 2022-02-12 00:43:08 · 3439 阅读 · 9 评论 -
ffmpeg学习(19)文件流、网络流的格式解析(纯净版av_parser_parse2)
前文 【ffmpeg学习(17)文件流、网络流的格式解析(使用AVIOContext )】 使用AVIOContext来指定AVFormat的输入,从内存数据中读取音视频数据进行解析。当我们需要解析网络流时,通常是使用socket手段接收到数据,主动使用ffmpeg进行解析解码。如果继续使用AVIOContext,必须将接收的socket数据复制到AVIOContext的回调中进行处理,或者使用队列进行数据的同步处理,并且要能完整每个数据(因为缓冲区可能不足以放下当前包的所有数据,详见上一篇博客);使用了原创 2021-08-29 10:23:52 · 1092 阅读 · 8 评论 -
视频编码中的帧内刷新intra refresh
背景:近期在使用硬编码器编码H264流,发现常规Period I结构的静态画面I帧比P帧要大好几倍。当画面有运动时,I帧变减小和P帧大小差不多。当画面无运动时就存在问题:每隔一段GOP时间,出现I帧非常大,而两个GOP之间P帧较小,导致这种Period I结构的整体码率不平稳,在I帧出现的时候导致码率突然变高,不利于网络传输。帧内刷新技术可以使码率平稳,降低码流传输时延,并且仍然可以在传输出错的情况下快速恢复。帧内刷新原理常规的Period I结构为IPPP...PPIPPP...PPIPP...,而原创 2021-08-28 23:37:13 · 3722 阅读 · 12 评论 -
使用ffmpeg以v4l2输入打开相机进行h264编码
网上有很多关于ffmpeg打开输入流的博客,雷神的博客仅在windows下介绍了如何通过dshow打开摄像头,有关linux使用video4linux2(v4l2)方式的较少,也不全面。本文以树莓派linux为例,详细介绍ffmpeg在树莓派使用v4l2方式打开的完整设置,并且详细配置硬编码h264_omx的选项设置。本节前置知识:树莓派相机开启配置,参看博客 【树莓派CSI相机使用】ffmpeg的libavdevice关于摄像头、屏幕的录制介绍,参见博客【ffmpeg学习 库libavdevic原创 2021-08-19 19:47:21 · 4494 阅读 · 5 评论 -
关于某些编码方式中数据拆包发送引起的问题处理
我们常规使用ffmpeg进行视频h264编码中,每次输出的AVPacket时一个完整的NALU单元,并且都是包含起始码(这里以0x00000001为例)。而某些硬编码器实际设计输出的每个数据包的最大数据流限制,就拆分多次发送。例如,一个大小为100K的NALU数据,分两次发送,第一次发送64K,第二次发送36K。如果不做处理,对每次收到的数据,直接进行数据保存或者进行网络推送,都是没有问题的。但是,当有二次处理,例如对每个NALU的slice类型追加AUD分割数据,导致原来本属于一个NALU的数据因为两次原创 2021-08-13 16:51:28 · 209 阅读 · 0 评论 -
ffmpeg学习 (18)AVUtil库常见例子(AVLog、AVOption等)
本文参考雷神博客。FFmpeg的libavutil中几种工具函数的使用方法:AVLog:日志输出AVOption (AVClass):选项设置AVDictionary:键值对存储1、AVLogAVLog是FFmpeg的日志输出工具。在FFmpeg中所有的日志输出不是通过printf()函数而是通过av_log()函数。av_log()会最终调用fprintf(stderr,…)函数将日志内容输出到命令行界面上。1.1、自定义log回调函数在一些非命令行程序(MFC程序,Android程序等原创 2021-07-31 23:50:58 · 1122 阅读 · 0 评论 -
ffmpeg学习 编码为h264裸流添加sps、pps
在h264流中,有两种NALU极其的重要,序列参数集(Sequence Paramater Set,SPS)和图像参数集(Picture ParamaterSet,PPS)。SPS中的信息至关重要,记录了编码的prfile、level、图像宽高等,如果其中的数据丢失或出现错误,那么解码过程很可能会失败。每一帧编码后数据所依赖的参数保存于PPS中。一般情况SPS和PPS的NAL Unit通常位于整个码流的起始位置。封装文件一般进保存一次,位于文件头部,而对于实时流,通常是从流中间开始解码,因此需要在每个I原创 2021-07-08 17:30:26 · 5446 阅读 · 16 评论 -
ffmpeg学习(17)文件流、网络流的格式解析(使用AVIOContext )
如果音视频来源于内存数据(文件流)、网络数据(如socket接收)等,无法直接使用`avformat_open_input`打开,如图所示,需要先分配一个AVFormatContext,再创建一个`AVIoContext`对赋值给AVFormatContext的pb指针,调用`avformat_open_input`时要求从自定义IO数据来源中进行格式解析。这里是输入解析,因此`avio_alloc_context`仅注册了读IO数据的回调;对于自定义的输出,仅注册写IO数据的回调,本文不做代码说明。...原创 2021-07-03 14:47:42 · 4559 阅读 · 30 评论 -
ffmpeg学习(16)AVDevice使用
使用FFmpeg的libavdevice库库,可以读取电脑(或其他设备上)的多媒体设备的数据,或者输出到指定的多媒体设备上。使用ffmpeg命令行捕获摄像头画面、录屏等操作见 [ffmpeg学习 库libavdevice使用(摄像头、屏幕)](https://blog.csdn.net/wanggao_1990/article/details/116143199)。这里以windows平台为例,介绍代码中使用AVDevice获取从摄像头、屏幕的数据。原创 2021-06-17 23:05:01 · 1276 阅读 · 2 评论 -
ffmpeg学习 库libavdevice使用(摄像头、屏幕)
使用FFmpeg的libavdevice库库,可以读取电脑(或其他设备上)的多媒体设备的数据,或者输出到指定的多媒体设备上。使用ffmpeg -hide_banner -devices命令查看本机支持的输入输出设备,以windows和linux为例,如下。D解码支持,可以作为输入;E为编码支持,可以作为输出。Devices: D. = Demuxing supported .E = Muxing supported -- D dshow DirectShow capture原创 2021-06-04 23:55:17 · 2406 阅读 · 1 评论 -
ffmpeg学习(15)流媒体应用(2)推流
前面基本介绍了整个ffmepg的编解码相关的内容,本文介绍ffmpeg在流媒体上的应用,主要是流媒体的发送和接收。通常流媒体应用协议有有rtmp、rtsp,以及其他的流媒体协议如http、udp、rtp等。直接使用ffmpeg.exe命令行工具介绍见文章FFmpeg发送流媒体的命令(UDP,RTP,RTMP)。上文 。。。。。。。链接。。。。ffmpeg学习(14)流媒体应用(1)拉流。。。。。。。。。。。 简单介绍流媒体接收的功能(拉流),将一个流媒体的裸流保存为文件,并比较不同流媒体协议的处理区别。原创 2021-05-28 21:32:14 · 1520 阅读 · 0 评论 -
ffmpeg学习(14)流媒体应用(1)拉流
前面基本介绍了整个ffmepg的编解码相关的内容,本文介绍ffmpeg在流媒体上的应用,主要是流媒体的发送和接收。通常流媒体应用协议有有rtmp、rtsp,以及其他的流媒体协议如http、udp、rtp等。直接使用ffmpeg.exe命令行工具介绍见文章FFmpeg发送流媒体的命令(UDP,RTP,RTMP)。本文简单介绍流媒体接收的功能(拉流),将一个流媒体的裸流保存为文件,并比较不同流媒体协议的处理区别。后文。。。。。。链接。。ffmpeg学习(15)流媒体应用(2)推流。。。。。将介绍流媒体推送的原创 2021-05-22 10:02:19 · 1908 阅读 · 0 评论 -
ffmpeg学习 libavfilter使用
在ffmpeg中图像处理、音频处理可以使用libswscale和libswresample库,简单的几次转换在编解码尚可,一旦需求复杂则难以实现,就需要使用libavfilter库实现。libavfilter库简介libavfilter提供了一整套的基于filter的机制,以插件(可实现自定义filter并编译到ffmpeg库中)的形式快速组装需要的结果。Ffmpeg官方提供的filter相关资料见文档https://ffmpeg.org/ffmpeg-filters.html#Filtering-In原创 2021-05-20 20:50:58 · 1367 阅读 · 2 评论 -
ffmpeg学习(13)音视频转码(2)使用filter
ffmpeg学习(10)音视频文件muxer(1)封装格式转换 中介绍了媒体文件的封装格式转换,ffmpeg学习(11)音视频文件muxer(2)多输入混流 中介绍了音视频的混流,本文介绍基于ffmpeg的转码,将一种视频格式(编码格式、封装格式)转换为另一种视频格式,该过程先解码、再编码,以下图为例说明转码流程。输入视频的封装格式是MP4,视频编码标准是H.264,音频编码标准是AAC;输出视频的封装格式是AVI,视频编码标准是MPEG4,音频编码标准是MP3。首先从输入视频中分离出视频码流和音频压缩原创 2021-05-19 22:37:28 · 619 阅读 · 1 评论 -
ffmpeg学习(12)音视频转码(1)使用sws、swr
ffmpeg学习(10)音视频文件muxer(1)封装格式转换 中介绍了媒体文件的封装格式转换,ffmpeg学习(11)音视频文件muxer(2)多输入混流 中介绍了音视频的混流,本文介绍基于ffmpeg的转码,将一种视频格式(编码格式、封装格式)转换为另一种视频格式,该过程先解码、再编码,以下图为例说明转码流程。输入视频的封装格式是MP4,视频编码标准是H.264,音频编码标准是AAC;输出视频的封装格式是AVI,视频编码标准是MPEG4,音频编码标准是MP3。首先从输入视频中分离出视频码流和音频压缩原创 2021-05-15 19:22:57 · 1222 阅读 · 0 评论 -
ffmpeg学习(11)音视频文件muxer(2)多输入混流
在 ffmpeg学习(3)编码、解码的流程介绍 和 ffmpeg学习(9)音视频文件demuxer 中介绍了媒体文件的解封装。本文记录Ffmpeg封装格式另一种处理与与demuxer相反方式–视音频复用器(混流器)Muxer,视频压缩数据(例如H264)和音频压缩数据(例如AAC)合并到将封装格式数据(如MP4)中。本文的音视频也不涉及到编解码,根据输入、输出结果不同,提供以下示例(1) 输入一种音视频封装文件,输出为另一种音视频封装文件 (链接)(2) 输入两个不同来源的音频、视频码流,保存到MP原创 2021-05-08 23:25:46 · 1897 阅读 · 8 评论 -
ffmpeg学习(10)音视频文件muxer(1)封装格式转换
在 ffmpeg学习(3)编码、解码的流程介绍 和 ffmpeg学习(9)音视频文件demuxer 中介绍了媒体文件的解封装。本文记录Ffmpeg封装格式另一种处理与demuxer相反的方式–视音频复用器(混流器)Muxer,视频压缩数据(例如H264)和音频压缩数据(例如AAC)合并到将封装格式数据(如MP4)中。本文的音视频也不涉及到编解码,根据输入、输出结果不同,提供以下示例(1) 输入一种音视频封装文件,输出为另一种音视频封装文件 (本文内容)(2) 输入两个不同来源的音频、视频码流,保存到原创 2021-05-08 23:23:48 · 1664 阅读 · 0 评论 -
ffmpeg学习(9)音视频文件demuxer
在 ffmpeg学习(3)编码、解码的流程介绍 和 ffmpeg学习(4)协议解析、封装解析 中简要介绍封装的概念。本文记录Ffmpeg封装格式一种处理方式。视音频分离器demuxer,将封装格式数据(如MP4)中的视频压缩数据(例如H264)和音频压缩数据(例如AAC)分离开,如下图。解封装不涉及到编解码,根据保存结果不同,提供以下示例(1) 音视频文件解析的压缩编码数据包,保存到两个裸流数据文件(2) 音视频文件解析的压缩编码数据包,保存到不同的封装数据文件中解封装到裸流数据文件输入一个媒体原创 2021-05-06 19:43:34 · 1861 阅读 · 0 评论 -
ffmpeg学习(8)音频编码
ffmpeg项目巨大,本文针对ffmpeg学习(3)编码、解码的流程介绍中编码部分,完成以下内容:(1) 实现对音频采样数据pcm进行MP3/AAC编码、保存;(2) 音频格式转码,保存封装关于解码的流程主要流程如下流程图中使用的函数,可以通过其名称了解其用处,网上参考较多,也可以直接看api文档。其中关于结构体AVFrame和AVPackt的介绍参看文章:ffmpeg学习 结构体分析AVFrameffmpeg学习 结构体分析AVPackffmpeg_audio_encoder示例代码和原创 2021-05-04 10:04:29 · 1061 阅读 · 0 评论 -
ffmpeg学习(7)视频编码
ffmpeg项目巨大,本文针对ffmpeg学习(3)编码、解码的流程介绍中编码部分,完成以下内容:(1) 实现对图像数据进行h264、h265(HEVC)编码、裸流保存;(2) 要求输入与输出的图像像素格式、分辨率,用sws_scale做图像变换处理;(3) 输出帧率变化的处理。关于解码的流程主要流程如下流程图中使用的函数,可以通过其名称了解其用处,网上参考较多,也可以直接看api文档。其中关于结构体AVFrame和AVPackt的介绍参看文章:ffmpeg学习 结构体分析AVFramef原创 2021-04-28 20:29:01 · 1045 阅读 · 1 评论 -
ffmpeg学习(6)音频解码、音频数据处理
ffmpeg项目巨大,本文针对 ffmpeg学习(3)编码、解码的流程介绍 中解码部分,实现了一个最简单的音频解码器,之后再对解码后的音频数据进行处理,例如调整位深度/采样率。最后将音频数据保存为pcm文件并使用Audacity播放。先给出基本的流程,如下图。流程图中使用的函数,可以通过其名称了解其用处,网上参考较多,也可以直接看api文档。其中关于结构体AVFrame和AVPackt的介绍参看文章:ffmpeg学习 结构体分析AVFrameffmpeg学习 结构体分析AVPack关于音频采样数原创 2021-04-27 23:15:26 · 2046 阅读 · 2 评论 -
ffmpeg学习(5)视频解码、图像数据处理
ffmpeg项目巨大,本文针对 ffmpeg学习(3)编码、解码的流程 介绍中解码部分,实现了一个最简单的视频解码器,之后再对解码后的图像像素数据进行处理,例如图像变换、保存为像素数据文件等。先给出基本的流程,如下图。流程图中使用的函数,可以通过其名称了解其用处,网上参考较多,也可以直接看api文档。其中关于结构体AVFrame和AVPackt的介绍参看文章:ffmpeg学习 结构体分析AVFrameffmpeg学习 结构体分析AVPackffmpeg_video_decoder示例代码对照流原创 2021-04-26 23:05:47 · 1303 阅读 · 2 评论 -
ffmpeg 时基timebase、时间戳pts/dts、延时控制delay
ffmpeg中在不同是层(封装、编解码、数据)的采样率不同,为精确描述该其数值,使用结构AVRational来描述时基这一概念。一个时间戳在不同的时基下进行变化,获取精确延时(av_usleep函数)。原创 2021-04-24 20:24:09 · 5581 阅读 · 6 评论 -
ffmpeg学习 函数分析swr_convert
有关ffmpeg中主要的api函数源码解析参考雷神系列文章,整理如下 ffmpeg学习(2)获取和使用,源码分析。libswresample主要是用于音频的重采样和格式转换的,包含如下功能:采样频率转换:对音频的采样频率进行转换的处理,例如把音频从一个高的44100Hz的采样频率转换到8000Hz;从高采样频率到低采样频率的音频转换是一个有损的过程声道格式转换:对音频的声道格式进行转换的处理,例如立体声转换为单声道;当输入通道不能映射到输出流时,这个过程是有损的,因为它涉及不同的增益因素和混合。采样原创 2021-04-24 13:28:42 · 4916 阅读 · 3 评论 -
ffmpeg学习 函数分析sws_scale
有关ffmpeg中主要的api函数源码解析参考雷神系列文章,整理如下ffmpeg学习(2)获取和使用,源码分析。函数sws_scale位于libswscale库,该库是一个主要用于处理图片像素数据的类库。可以完成图片像素格式的转换,图片的拉伸等工作。libswscale的使用参考文章:FFmpeg源代码简单分析:libswscale的sws_getContext()最简单的基于FFmpeg的libswscale的示例(YUV转RGB)本文仅演示的程序将像素格式为YUV420P,分辨率为480x272原创 2021-04-23 19:56:16 · 1202 阅读 · 0 评论 -
ffmpeg学习 pcm文件转wav文件
前面有详细介绍PCM文件数据格式,本文简单说明PCM文件如何转换成WAV文件,并通过代码实现转换过程。WAV文件格式WAV是微软公司专门为Windows开发的一种标准数字音频文件,符合资源互换文件格式(RIFF)规范,支持多种音频位数、采样频率和声道。基于PCM编码的WAV格式的音频数据无压缩,能被生声卡直接支持,文件体积大。类似视频封装格式,WAV文件可以认为是保存音频采样数据的容器封装,仅在PCM数据前增加一些wav文件信息。基于PCM编码的标准WAV协议如下图整个wav文件只有一个RIFF块原创 2021-07-19 20:40:49 · 1992 阅读 · 2 评论 -
ffmpeg学习 音频采样数据PCM
1. 什么是PCM?PCM(Pulse Code Modulation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。描述PCM数据的6个参数:Sample Rate采样频率。8kHz(电话)、44.1kHz(CD)、48kHz(DVD)。Sample Size量化位数。通常该值为16-bit。Number of Channels通道个数。常见的音频有立体声(stereo)和单声道(mono)两种类型,立体声包含左声道和右声原创 2021-04-22 20:31:05 · 2328 阅读 · 0 评论 -
ffmpeg学习 结构体分析AVPack
雷神写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体分析:AVStreamFFMPEG结构体分析:AVPacketFFMPEG有几个最重要的结构体,包含了解协议,解封装,解码操作,此前已经进行过分析:FFMPEG中最关键的结构体之间的关系..原创 2021-04-22 20:30:01 · 324 阅读 · 0 评论 -
ffmpeg学习 结构体分析AVFrame
雷神写了一系列的结构体的分析的文章,在这里列一个列表:雷神写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体分析:AVStreamFFMPEG结构体分析:AVPacketFFMPEG有几个最重要的结构体,包含了解协议,解封装,解码操作,此前已经进行原创 2021-04-20 20:36:08 · 1204 阅读 · 0 评论 -
ffmpeg学习 结构体分析AVFormatContext
雷神写了一系列的结构体的分析的文章,在这里列一个列表:FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContextFFMPEG结构体分析:AVIOContextFFMPEG结构体分析:AVCodecFFMPEG结构体分析:AVStreamFFMPEG结构体分析:AVPacketFFMPEG有几个最重要的结构体,包含了解协议,解封装,解码操作,此前已经进行过分析:FFMPEG中最关键的结构体之间的关系AVF原创 2021-04-18 12:46:24 · 358 阅读 · 0 评论 -
ffmpeg学习(4)协议解析、封装解析
这里介绍ffmpeg打开一个输入进行协议封装解析,输入可以是本地文件、也可以是视频流信息。以一个最简单示例代码开始,后面再对代码进行说明。示例代码#include <stdio.h>#ifdef __cplusplus extern "C" {#endif #include "libavformat/avformat.h"#ifdef __cplusplus }#endif int main(){ int ret; AVFormatConte原创 2021-04-18 12:47:40 · 956 阅读 · 0 评论 -
ffmpeg学习(3)编码、解码的流程介绍
我们学习ffmpeg最早是从命令行ffplay进行播放音视频文件或网络流,展示的是解封装、解码的过程;在使用ffmpeg命令行可以对输入源进行转码(可能先解码再编码),设计到编码、封装的过程。在ffmpeg中将磁盘文件与rtmp/http等同当统一作为URLPRotocal协议,作为输入或者输出。ffmpeg在使用时主要处理解码、编码两个流程,也可能只处理其中的一小部分。使用分如下情况:解码部分(1)音视频封装文件、直播流的解封装 提供输入音视频的相关封装、编码信息(2)H264/AAC音原创 2021-04-18 12:43:57 · 1140 阅读 · 1 评论 -
ffmpeg 使用SDL2播放音频、视频 (2) 音频播放
学习ffmepg解码后的音视频通常只能保存为文件,或者进行再次编码保存或发送出去。为了在使用中直观中看到解码的结果,有必要使用SDL2进行展示。FFMPEG提供的工具ffplay可以播放解码后的音视频,实现使用了SDL库。SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成,目前大版本已经到SDL2。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)原创 2021-04-18 12:42:42 · 1617 阅读 · 0 评论 -
ffmpeg 使用SDL2播放音频、视频 (1) 视频播放
FFMPEG提供的工具ffplay可以播放解码后的音视频,实现使用了SDL库。学习ffmepg解码后的音视频通常只能保存为文件,或者进行再次编码保存或发送出去。为了在使用中直观中看到解码的结果,有必要使用SDL2进行展示。SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成,目前大版本已经到SDL2。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等原创 2021-04-18 12:42:14 · 1527 阅读 · 0 评论 -
ffmpeg学习(2)获取和使用,源码分析
1、ffmpeg命令行工具ffmpeg提供了三个工具ffmpeg.exe,ffplay.exe,ffprobe.exe,可以在官网http://ffmpeg.org/下载。(以windows平台为例)该网站中的FFMPEG分为3个版本:Static只有三个程序 ffmpeg.exe,ffplay.exe,ffprobe.exe,每个exe的体积都很大,相关的Dll已经被编译到exe里面去了Shared除了三个程序 ffmpeg.exe,ffplay.exe,ffprobe.exe, 还有一原创 2021-04-18 12:40:42 · 1655 阅读 · 0 评论 -
ffmpeg学习(1)背景知识-基础知识
http://blog.csdn.net/leixiaohua1020/article/details/11694129原创 2021-04-18 12:39:29 · 797 阅读 · 0 评论