FFmpeg 4.3 音视频-多路H265监控录放C++开发十四,总结编码过程,从摄像头获得数据后,转成AVFrame,然后再次转成AVPacket,

embedded/2024/11/18 15:08:05/

也就是将摄像头采集到的YUV 的数据换成 AVFrame,然后再次转成 AVPacket,那么这AVPakcet数据要怎么办呢?分为三种情况:

一种是将AVPacket存储成h264文件,由于h264编码器在将avframe变成avpacket的时候就是按照h264的格式进行编码的,因此存储下来的就是一个一个的h264格式的编码结构(也就是NALU结构),因此一个avpacket就是一个NALU或者多个NALU,那么直接存储成h264文件,是OK的。常用于安防项目。

一种是将AVPacket通过 复用器 存储成mp4文件或者flv文件。 安防

一种是将AVPacket直接通过NALU(NALU是h264的编码结构)的形式发送出去。 流媒体相关


http://www.ppmy.cn/embedded/138568.html

相关文章

VUE+SPRINGBOOT实现邮箱注册、重置密码、登录功能

随着互联网的发展,网站用户的管理、触达、消息通知成为一个网站设计是否合理的重要标志。目前主流互联网公司都支持手机验证码注册、登录。但是手机短信作为服务端网站是需要付出运营商通信成本的,而邮箱的注册、登录、重置密码,无疑成为了这…

[Docker#8] 容器配置 | Mysql | Redis | C++ | 资源控制 | 命令对比

目录 一:Mysql 容器化安装 二:Redis 容器化安装 Redis 简介 Redis 容器创建 三:C容器制作 四:容器资源更新 常见问题 一:Mysql 容器化安装 进入 mysql 的镜像网站,查找 mysql 的镜像 mysql docker…

聊天服务器(8)用户登录业务

目录 登录状态业务层代码数据模型层代码记录用户的连接信息以及线程安全问题客户端异常退出业务 登录状态 登录且状态变为online 业务层代码 #include "chatservice.hpp" #include "public.hpp" #include <string> #include <muduo/base/Loggi…

SWARM: Replicating Shared Disaggregated-Memory Data in No Time——论文泛读

SOSP 2024 Paper 论文阅读笔记整理 问题 内存分解是一种新兴的数据中心架构&#xff0c;允许服务器使用RDMA[30]和CXL[10]等技术访问外部内存&#xff0c;可以提高资源利用率和可扩展性。然而&#xff0c;内存节点的故障会严重干扰用户并降低整体系统的可靠性。复制是确保应用…

以太坊基础知识结构详解

以太坊的历史和发展 初创阶段 2013年&#xff1a;Vitalik Buterin 发表了以太坊白皮书&#xff0c;提出了一个通用的区块链平台&#xff0c;不仅支持比特币的货币功能&#xff0c;还能支持更复杂的智能合约。2014年&#xff1a;以太坊项目启动&#xff0c;进行了首次ICO&…

结合源码讲解下Android中的截图流程

在Android中&#xff0c;截图过程主要涉及以下几个关键步骤&#xff1a; 捕获屏幕内容生成Bitmap图像将Bitmap传递给用户应用 在系统内部&#xff0c;截图流程涉及Android Framework、SurfaceFlinger和Gralloc等模块的协作。下面详细介绍这几个步骤的实现过程&#xff0c;并结…

2024山西省网络建设运维第十八届职业院校技能大赛解析答案(7. mariadb 服务)

\7. mariadb 服务 任务描述:请安装 mariadb 服务,建立数据表,具体要求如下: (1)配置 linux5 为 mariadb 服务器,创建数据库用户 xiao,在任意机 器上对所有数据库有完全权限。 (2)配置linux6为mariadb客户端,使用数据库用户xiao远程登录mariadb 服务器,创建数据库 userd…

探索C/C++的奥秘之vector

vector<int>是一个类模板&#xff0c;要显示的实例化&#xff0c;并且vector<char>不能代替string。原因&#xff1a; 1.string和vector<char>再结构上有所不同&#xff0c;string要保证末尾有\0&#xff0c;sting就是自动生成的\0&#xff0c;vector<ch…