随笔分类 -  音视频

摘要:视频解码流程 视频解码的具体步骤如下: 查找指定的解码器 avcodec_find_decoder 根据指定的解码器ID初始化相应裸流的解析器 av_parser_init 分配解码器上下文 avcodec_alloc_context3 打开解码器和关联解码器上下文 avcodec_open2 读取 阅读全文
posted @ 2024-07-28 12:33 小马同学..3 阅读(198) 评论(0) 推荐(0)
摘要:音频解码流程 音频解码的总体流程如下: 输入音频格式(例如AAC) 通过音频解码器进行解码 得到PCM数据 FFmpeg解码流程 音频解码的具体步骤如下: 查找指定的解码器 avcodec_find_decoder 根据指定的解码器ID初始化相应裸流的解析器 av_parser_init 分配解码器 阅读全文
posted @ 2024-07-28 12:25 小马同学..3 阅读(242) 评论(0) 推荐(0)
摘要:FLV(Flash Video)是一种用于通过互联网传输视频和音频的文件格式。以下是对FLV文件格式的详细讲解: 1. FLV Header FLV文件头部包含文件的基本信息,是文件的开头部分,通常占据9个字节。其结构如下: Signature (3 bytes): 表示文件类型,固定为 "FLV" 阅读全文
posted @ 2024-07-23 20:58 小马同学..3 阅读(370) 评论(0) 推荐(0)
摘要:H.264 是一种广泛使用的视频压缩标准,全称是MPEG-4 Part 10 AVC(Advanced Video Coding)。它通过有效的压缩技术,能够在较低的比特率下提供高质量的视频。以下是对H.264的一些关键概念和工作原理的详细讲解: 1. 编码原理 H.264采用帧内和帧间预测技术来压 阅读全文
posted @ 2024-07-23 20:31 小马同学..3 阅读(199) 评论(0) 推荐(0)
摘要:基本概念 Bit(位): 是计算机数据的最小单位。它只有两种取值,0或1。 Byte(字节): 是计算机存储数据的基本单位。1字节 = 8位。 在数据通信和存储中,数据的大小通常用字节来表示,而在描述数据的详细结构(例如协议头)时,通常使用位。 字节与位的关系 1 字节 = 8 位 (1 Byte 阅读全文
posted @ 2024-07-22 21:30 小马同学..3 阅读(500) 评论(0) 推荐(0)
摘要:AAC音频格式: Advanced Audio Coding(高级音频解码)是一种由MPEG-4标准定义的有损音频压缩格式,由Fraunhofer发展,Dolby,Sony和AT&T是主要的贡献者。 AAC是一种高效的音频编码格式,设计用于提供比MP3更好的音频质量,同时使用更少的存储空间。它广泛应 阅读全文
posted @ 2024-07-22 21:26 小马同学..3 阅读(210) 评论(0) 推荐(0)
摘要:在FFmpeg中,数据共享和数据独立的区别在于浅拷贝和深拷贝的使用。让我们详细探讨这两个概念及其在FFmpeg内存模型中的实现。 数据共享(浅拷贝) 浅拷贝是指在拷贝对象时,只拷贝对象的引用,而不拷贝实际的数据内容。对于FFmpeg中的AVPacket来说,浅拷贝意味着两个Packet共享同一个数据 阅读全文
posted @ 2024-07-21 19:05 小马同学..3 阅读(100) 评论(0) 推荐(0)
摘要:FFmpeg内存模型 在FFmpeg中,当从现有的Packet拷贝一个新Packet时,有两种情况: 数据共享: 两个Packet的buf引用的是同一数据缓存空间。 这种情况下,需要注意数据缓存空间的释放问题。 一个数据块同时被两个AVPacket(avpacket1和avpacket2)引用。此时 阅读全文
posted @ 2024-07-21 19:01 小马同学..3 阅读(88) 评论(0) 推荐(0)
摘要:1. 分配解码器上下文 AVCodecContext *avcodec_alloc_context3(const AVCodec *codec); 首先,需要为解码器分配一个上下文,这一步通过avcodec_alloc_context3函数完成。这个函数会返回一个指向AVCodecContext结构 阅读全文
posted @ 2024-07-21 18:48 小马同学..3 阅读(252) 评论(0) 推荐(0)
摘要:FFmpeg 是一个领先的多媒体框架,可以解码、编码、转码、mux、demux、流、过滤和播放几乎任何由人类和机器创造的内容。它支持最晦涩的古老格式到最尖端的格式。图中展示了FFmpeg的整体结构,分为多个组件,每个组件在多媒体处理流程中扮演特定角色。以下是对每个组件的详细讲解: 顶层组件 ffpl 阅读全文
posted @ 2024-07-21 17:38 小马同学..3 阅读(92) 评论(0) 推荐(0)
摘要:封装格式(Container Formats) 封装格式(也称为容器格式)是指将音频、视频、字幕、元数据等多种数据流封装在一个文件中的文件格式。不同的封装格式支持不同的编码格式和功能特性。以下是一些常见的封装格式及其特点: 1. 常见的封装格式 MP4 (MPEG-4 Part 14) 扩展名: . 阅读全文
posted @ 2024-07-07 20:38 小马同学..3 阅读(203) 评论(0) 推荐(0)
摘要:音频基础知识涵盖了音频信号的基本属性、采样和量化、音频格式和编码、音频处理、以及常见的应用场景。以下是音频基础知识的详细输出: 1. 音频信号的基本属性 频率(Frequency) 定义: 音频信号的频率表示声音的高低,通常以赫兹(Hz)为单位。 范围: 人耳能够听到的频率范围大约在20Hz到20k 阅读全文
posted @ 2024-07-07 20:38 小马同学..3 阅读(602) 评论(0) 推荐(0)
摘要:视频的基础知识涵盖了视频的构成、格式、编码、传输以及显示技术。以下是视频主要基础的详细输出: 1. 视频的基本构成 帧(Frame) 视频是由一系列静止图像(帧)按照一定的速率连续播放而成。每一帧是一个静态的图片,快速播放这些帧就形成了连续的动态视频效果。 帧率(Frame Rate) 帧率指的是每 阅读全文
posted @ 2024-07-07 20:38 小马同学..3 阅读(1085) 评论(0) 推荐(0)
摘要:RGB颜色空间 RGB(Red, Green, Blue)颜色空间是最常见的颜色表示方法,用于大多数显示设备如电视、电脑显示器和相机。每个颜色分量(红、绿、蓝)通常用8位表示,范围从0到255。 红色 (R): 表示红色强度 绿色 (G): 表示绿色强度 蓝色 (B): 表示蓝色强度 在RGB颜色空 阅读全文
posted @ 2024-07-07 20:37 小马同学..3 阅读(150) 评论(0) 推荐(0)
摘要:图片来源于网上学习资料,零声学院! 阅读全文
posted @ 2024-07-07 20:37 小马同学..3 阅读(83) 评论(0) 推荐(0)