![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频
文章平均质量分 60
Crazy learner
边学边记录
展开
-
数据共享(浅拷贝)与数据独立(深拷贝)
深拷贝是指在拷贝对象时,不仅拷贝对象的引用,还会拷贝对象包含的实际数据内容。浅拷贝是指在拷贝对象时,只拷贝对象的引用,而不拷贝实际的数据内容。拷贝生成AVPacket2:分配新的数据缓冲区,将AVPacket1的数据内容拷贝到新的缓冲区中。数据访问和修改:两个Packet共享同一数据缓冲区,对数据的任何修改对两个Packet都可见。修改影响:对数据的修改会影响所有引用该数据的Packet,因为它们共享同一份数据。无需引用计数管理:每个Packet独立持有数据,不需要管理共享数据的引用计数。原创 2024-08-05 20:01:03 · 180 阅读 · 0 评论 -
ffmpeg内存模型
AVFrame与AVPacket类似,也使用引用计数机制来管理内存,确保多次引用同一缓冲空间时不会发生内存泄漏或过早释放的问题。FFmpeg在内存管理方面的策略,通过合理使用数据共享和独立数据以及引用计数机制,FFmpeg能够在性能和内存使用之间取得平衡。数据独立:每个Packet有独立的数据拷贝,避免了共享数据带来的管理复杂性,但会占用更多的内存。两个Packet的buf引用的是不同的数据缓存空间,每个Packet都有数据缓存空间的拷贝。当有新的Packet引用共享的缓冲空间时,将引用计数+1。原创 2024-08-05 20:00:13 · 170 阅读 · 0 评论 -
ffmpeg解码基本流程
这一步可以通过avcodec_find_decoder或avcodec_find_decoder_by_name函数来实现。首先,需要为解码器分配一个上下文,这一步通过avcodec_alloc_context3函数完成。这一步通过avcodec_parameters_to_context函数完成。这一步通过avcodec_close和avcodec_free_context函数完成。avcodec_receive_frame函数会将解码后的帧数据填充到AVFrame结构中。原创 2024-08-05 19:59:32 · 76 阅读 · 0 评论 -
ffmpeg基本结构
FFmpeg 是一个领先的多媒体框架,可以解码、编码、转码、mux、demux、流、过滤和播放几乎任何由人类和机器创造的内容。无论是简单的格式转换,还是复杂的音视频处理,FFmpeg都能胜任。libavutil: 提供了各种有用的工具函数和数据结构,例如内存管理、数据结构、数学运算等,是其他库的基础。libavfilter: 提供各种滤镜功能,可以对音视频数据进行各种处理,例如裁剪、缩放、去噪、加字幕等。ffmpeg: 最常用的命令行工具,用于转换多媒体文件的格式,支持广泛的转换参数和选项。原创 2024-08-05 19:58:55 · 67 阅读 · 0 评论 -
封装格式与音视频同步
封装格式(也称为容器格式)是指将音频、视频、字幕、元数据等多种数据流封装在一个文件中的文件格式。音视频同步是指在播放多媒体内容时,确保音频和视频流按正确的时间关系同步播放,以避免“口型不同步”现象。主从同步: 一般情况下,以视频为主同步,音频为从同步。通过理解封装格式和音视频同步的基础知识,可以更好地处理和优化多媒体内容的存储、传输和播放。不同步问题: 由于音频和视频编码、解码处理时间不同,可能导致音视频不同步。支持高质量视频和音频。日志记录: 记录音视频帧的时间戳、缓冲区状态等信息,分析不同步原因。原创 2024-08-05 19:58:09 · 517 阅读 · 0 评论 -
音频基础学习
交错模式(Interleaved Mode)和非交错模式(Non-Interleaved Mode)是音频数据存储和处理中的两种不同方法。音频基础知识涵盖了音频信号的基本属性、采样和量化、音频格式和编码、音频处理、以及常见的应用场景。一致的时间顺序:交错模式使得音频数据按时间顺序连续存储,便于播放设备和音频处理算法按时间顺序处理多声道数据。交错模式是将多声道音频数据按时间顺序交错存储的方式。简化缓冲区管理:在实时音频处理中,交错模式简化了缓冲区的管理,因为每个缓冲区包含所有声道的样本数据。原创 2024-08-05 19:57:26 · 612 阅读 · 0 评论 -
视频基础学习
视频分辨率指的是每一帧图像的像素数量,通常以宽度×高度表示,如1920×1080(1080p),3840×2160(4K)。帧率指的是每秒钟显示的帧数,通常以帧每秒(FPS)为单位。每一帧是一个静态的图片,快速播放这些帧就形成了连续的动态视频效果。在不丢失任何数据的情况下压缩视频,常见于某些专业视频编辑和存储中。视频的基础知识涵盖了视频的构成、格式、编码、传输以及显示技术。常见的视频显示设备包括电视、电脑显示器、投影仪、智能手机和平板电脑。包括转场效果、滤镜、动画和其他视觉效果,提升视频的视觉吸引力。原创 2024-08-05 19:56:14 · 202 阅读 · 0 评论 -
图像RGB-YUV
绿色:Y=149.685, U=-74.125, V=-25.905。红色:Y=76.245, U=150.975, V=29.90。蓝色:Y=29.07, U=176.09, V=-100.0。白色:R=255, G=255, B=255。红色:R=255, G=0, B=0。绿色:R=0, G=255, B=0。蓝色:R=0, G=0, B=255。白色:Y=255, U=0, V=0。黑色:R=0, G=0, B=0。黑色:Y=0, U=0, V=0。绿色 (G): 表示绿色强度。原创 2024-08-05 19:54:52 · 157 阅读 · 0 评论 -
音视频录制与播放原理
图片来源于网上学习资料,零声学院!原创 2024-08-05 19:53:41 · 34 阅读 · 0 评论