音视频入门知识(一):基本概念篇

一、基本概念篇

编码(encode)

通过特定的压缩技术,将某个视频的视频流格式转换成另一种视频格式的视频流方式。

输入:一串连续的图片帧;输出:连续的二进制字节流

编码的本质:压缩 -> 减少占用空间

YUV420/422可通过ffmpeg/opencv库直接编码成H264编码格式

PCM可编码成AAC编码格式

解码(decode)

通过特定的解压缩技术,将某个视频格式的视频流转换成另一种视频格式的视频流方式。

输入:连续二进制流、网络流、文件流 ;输出:一张张图片

H264解码成YUV、AAC解码成PCM

转码(transcode)

视频转码技术将视频信号从一种格式转换成另一种格式

很多时候由需求决定 (如:rtsp -> rtmp)

改变视频/音频的格式(如分辨率、帧率等参数)

封装(mux)

复用,按一定格式组织原音视频流

为什么要进行封装?

编码(codec) ,比如视频编码h264,h265,音频编码aac,mp3,它存在的目的主要是压缩原始数据的体积封装格式(container) ,比如mp4,mkv,用来存储/传输编码数据,并按一定规则把音视频、字幕等数据组织起来,里面都会有一些信息,比如当前流中包含哪些编码类型,时间戳等,播放器可以按照这些信息来匹配解码器、同步音视频。

解封装(demux)

解复用,按一定格式解析出原始音视频流

相关推荐
aqi001 小时前
FFmpeg开发笔记(七十二)Linux给FFmpeg集成MPEG-5视频编解码器EVC
android·ffmpeg·音视频·流媒体
花开花落的个人博客3 小时前
ESP32-S3开发板播放wav音频
音视频
顾道长生'9 小时前
(Arxiv-2025)通过动态 token 剔除实现无需训练的高效视频生成
计算机视觉·音视频·视频生成
每次的天空17 小时前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频
爱分享的飘哥19 小时前
【V6.0 - 听觉篇】当AI学会“听”:用声音特征捕捉视频的“情绪爽点”
人工智能·音视频
菜包eo20 小时前
二维码驱动的独立站视频集成方案
网络·python·音视频
阿蒙Amon1 天前
【Python小工具】使用 OpenCV 获取视频时长的详细指南
python·opencv·音视频
aqi001 天前
FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频
android·ffmpeg·音视频·流媒体
正在走向自律1 天前
第二章-AIGC入门-开启AIGC音频探索之旅:从入门到实践(6/36)
人工智能·aigc·音视频·语音识别·ai音乐·ai 音频·智能语音助手
美狐美颜sdk1 天前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk