
ffmpeg
文章平均质量分 92
yerennuo
不要跟我推荐deepseek不感兴趣
展开
-
FFmpeg rtmp推流直播
在实际发送时应对要发送的数据用不同的Chunk Size去尝试,通过抓包分析等手段得出合适的Chunk大小,并且在传输过程中可以根据当前的带宽信息和实际信息的大小动态调Chunk的大小,从而尽量提高CPU的利用率并减少信息的阻塞机率。Basic Header的长度可能是1,2或4个字节,其中chunk type的长度是固定的(占2位,单位是bit),Basic Header是变长的,其长度取决于CSID的大小,在足够存储这两个字段的前提下,最好用尽量少的字节从而减少由于引入Header增加的数据量。原创 2025-01-30 15:50:46 · 1549 阅读 · 0 评论 -
FFmpeg 自定义IO和格式转换
通常解封装时,当调用avformat_open_input和avformat_find_stream_info时,FFmpeg内部会自动读取文件内容来查找信息。除此之外,我们也可以自定义IO,我们只要提供一个自定义的读/写函数提供给avformat_open_input函数作为回调函数,这样的话,当调用前面这两个函数时,FFmpeg内部通过回调函数来提供数据。头文件包含新增#include <libavformat/avio.h> // 输入输出。原创 2025-01-28 11:12:38 · 1253 阅读 · 0 评论 -
FFmpeg音视频采集
DirectShow(简称DShow)是一个Windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能,它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件,同时支持使用WDM驱动或早期的VFW驱动来进行多媒体流的采集。通过ffplay指令播放。跟麦克风录制一样,略。原创 2025-01-21 19:20:16 · 885 阅读 · 0 评论 -
FFmpeg 元数据
使用ACDictonary API,可以查看元数据或者将元数据写入到AVFormatContext,AVStream,AVChapter和AVProgram结构体中,元数据保存在它们Metadata字段中。与FFmpeg中的所有字符串一样,元数据被假定为UTF-8编码的Unicode。请注意,在大多数情况下,demuxers导出的元数据不会检查字符串是否是有效的UTF-8。在处理音视频文件时,了解其元数据信息是非常重要的。元数据是描述文件内容和属性的数据,包括了诸如标题、作者、时长、分辨率等信息。原创 2025-01-16 15:54:57 · 1227 阅读 · 0 评论 -
FFmpeg 编码和解码
文章目录音频格式AACADIF音频数据交换格式ADTS音频数据传输流音频解码音频编码视频格式H264GOP图像组I帧,P帧,B帧H264压缩技术H264压缩级别H264视频级别H264码流结构SPSPPS解码视频编码视频音频格式AACAAC全称 Advanced Audio Coding,是一种专为声音数据设计的文件压缩格式。出现于1997年,基于MPEG-2的音频编码技术。由Fraunhofer IIS、杜比实验室、AT&T、索尼等公司共同开发,目的是取代MP3格式。与MP3不同,它采用了全原创 2024-12-30 12:40:06 · 936 阅读 · 0 评论 -
FFmpeg 音视频基础
因为图像的操作通常按行操作,如果图像的所有数据都紧密排列,那么会发生非常多次的读取非对齐内存,从而影响效率,而图像的处理本就是一个分秒必争的操作,所以为了性能的提高,就引入了stride这个概念。黑白二色的图像是数字图像中最简单的一种,它只有黑、白两种颜色,也就是说它的每一个像素只有1位颜色,位深度是1,用2的一次幂来表示,考虑带位深度平均分给R,G,B和Alpha,而只有RGB可以相互组合成颜色,所以4位颜色的图,它的位深度是4,只有2的4次幂种颜色,(即16种颜色或16种灰度等级)。原创 2024-12-13 23:15:33 · 1247 阅读 · 0 评论 -
FFmpeg库之ffplay
FFplay是一个非常简单的便携式媒体播放器,使用FFmpeg库和SDL库。它主要用作各种FFmpeg api的测试平台。需要把之前编译好的bin文件夹加入环境变量,我的是G:\msys64\home\PVer\ffmpeg\bin。我这里用的是cmake配置,mingw编译,不用移动文件夹。原创 2024-12-16 23:59:22 · 1184 阅读 · 0 评论 -
FFmpeg库之ffmpeg
在特定输出文件没有任何映射选项的情况下,ffmpeg检查输出格式以检查哪种类型的流可以包含在其中,即视频,音频或字母。对于每个可接受的流类型,ffmpeg将从所有输入中选择一个可用的流。复杂过滤器图的一个简单示例是overlay过滤器,它具有两个视频输入和一个视频输出,其中一个视频叠加在另一个视频之上。指定了3个输出文件,对于前2个,没有设置-map选项,因此ffmpeg将自动为这两个文件选择流(会选择最好的那个流)。对于字幕,它将从B.mp4中选择流2,这是A.avi和B.mp4之间的第一个字幕流。原创 2024-12-18 23:00:21 · 1236 阅读 · 0 评论 -
FFmpeg 框架简介和文件解复用
libavformat:复用和解复用,格式封装libavcodec:编码、解码libavutil:通用音视频工具,像素、IO、时间等工具iibavfilter:过滤器,可以用作音视频特效处理libavdevice:设备(摄像头、麦克风)libswscale:视频图像缩放,像素格式互换libswresample:重采样libpostproc:后期处理。原创 2024-12-21 15:40:43 · 1105 阅读 · 0 评论