当前位置: 首页 > news >正文

01-解码-H264转YUV

整体方案:
采集端:摄像头采集(YUV)->编码(YUV转H264)->RTMP推流
客户端:RTMP拉流->解码(H264转YUV)->YUV显示(SDL2)

H264码流转YUV是视频解码部分,具体的代码实现如下。

#include <stdio.h>
#include <stdlib.h>
#ifdef __cplusplus
extern "C"
{
#endif
#include <libavformat/avformat.h>
#include <libavcodec/avcodec.h>
#include <libavutil/imgutils.h>
#include <libswscale/swscale.h>
#ifdef __cplusplus
}
#endifint main(int argc, char *argv[])
{char* in_file = NULL;char* out_file = NULL;av_log_set_level(AV_LOG_INFO);if(argc < 3){av_log(NULL, AV_LOG_ERROR, "缺少输入文件和输出文件参数");return -1;}in_file = argv[1];out_file = argv[2];AVFormatContext *fmt_ctx = NULL;AVCodecContext *cod_ctx = NULL;AVCodec *cod = NULL;struct SwsContext *img_convert_ctx = NULL;int ret = 0;AVPacket packet;//第一步创建输入文件AVFormatContextfmt_ctx = avformat_alloc_context();if (fmt_ctx == NULL){ret = -1;av_log(NULL, AV_LOG_ERROR,"alloc fail");goto __ERROR;}if (avformat_open_input(&fmt_ctx

相关文章:

01-解码-H264转YUV

整体方案: 采集端:摄像头采集(YUV)->编码(YUV转H264)->RTMP推流 客户端:RTMP拉流->解码(H264转YUV)->YUV显示(SDL2) H264码流转YUV是视频解码部分,具体的代码实现如下。 #include <stdio.h> #include <stdlib.h> #ifdef __cplusplus ext…...

keepalived+Nginx+邮件

实验场景&#xff1a; 我使用keepalived保证nginx的高可用&#xff0c;我想知道什么时候ip发生漂移&#xff0c;可以让ip发生漂移的时候 我的邮箱收到消息. 如果对keepalived不了解&#xff0c;这有详细解释&#xff1a;keepalived与nginx与MySQL-CSDN博客https://blog.csdn.ne…...

CMakeCache.txt有什么用

2023年11月11日&#xff0c;周六上午 CMakeCache.txt 是由 CMake 自动生成的一个缓存文件&#xff0c;用于记录在配置过程中生成的各种变量和选项的值。 在使用 CMake 构建项目时&#xff0c;CMake 会根据 CMakeLists.txt 文件中的配置和命令&#xff0c;解析项目的源代码并生…...

ZYNQ_project:key_breath

[Synth 8-327] inferring latch for variable led_breath_reg ["C:/Users/warrior/Desktop/ZYNQ/pl/key_breath/rtl/led_breath.v":66] 因为在组合逻辑中&#xff0c;用了非阻塞赋值的方式赋值信号。 组合逻辑自己给自己赋值会产生组合回环&#xff0c;输出不稳定。 …...

设计模式 (原则)

在软件开发中&#xff0c;为了提高软件系统的可维护性和可复用性&#xff0c;增加软件的可扩展性和灵活性&#xff0c;程序员要尽量根据6条原则来开发程序&#xff0c;从而提高软件开发效率、节约软件开发成本和维护成本 一、开闭原则 对扩展开放&#xff0c;对修改关闭。 案…...

LeetCode 每日一题 2023/11/6-2023/11/12

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 11/6 318. 最大单词长度乘积11/7 2586. 统计范围内的元音字符串数11/8 2609. 最长平衡子字符串11/9 2258. 逃离火灾11/10 2300. 咒语和药水的成功对数11/11 765. 情侣牵手1…...

Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】

一、传统磁盘管理的弊端 传统的磁盘管理&#xff1a;使用MBR先对硬盘分区&#xff0c;然后对分区进行文件系统的格式化最后再将该分区挂载上去。 传统的磁盘管理当分区没有空间使用进行扩展时&#xff0c;操作比较麻烦。分区使用空间已经满了&#xff0c;不再够用了&#xff…...

CTFHUB-WEB-SQL注入

sql学的太不好了&#xff0c;回炉重造 判断 Sql 注入漏洞的类型&#xff1a; 1.数字型 当输入的参 x 为整型时&#xff0c;通常 abc.php 中 Sql 语句类型大致如下&#xff1a;select * from <表名> where id x这种类型可以使用经典的 and 11 和 and 12 来判断&#xff…...

案例分享:某汽车企业通过龙智拓展Jira功能,实现高效项目管理

这家汽车行业的客户缺乏一套系统来支持产品研发过程的管理。他们一直在寻找一款可以覆盖从基本需求到产品开发&#xff0c;再到项目实施等各个阶段的研发管理工具&#xff0c;并且需要这款工具又一定的灵活性&#xff0c;更好地适应并提升现有的业务流程。 通过引入Atlassian的…...

【算法与数据结构】40、LeetCode组合总和 II

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;【算法与数据结构】39、LeetCode组合总和的基础之上&#xff0c;这道题变成了candidates中有重复元素&…...

Flink SQL -- 命令行的使用

1、启动Flink SQL 首先启动Flink的集群&#xff0c;选择独立集群模式或者是session的模式。此处选择是时session的模式&#xff1a;yarn-session.sh -d 在启动Flink SQL的client&#xff1a; sql-client.sh 2、kafka SQL 连接器 在使用kafka作为数据源的时候需要上传jar包到…...

asp.net core把所有接口和实现类批量注入到容器

要将所有接口和实现类批量注入到容器&#xff0c;可以使用反射和循环来实现自动批量注册。下面是一种示例方法&#xff1a; 创建一个扩展方法&#xff0c;用于批量注册接口和实现类。 public static class ServiceCollectionExtensions {public static IServiceCollection Re…...

SPSS曲线回归

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…...

软件之禅(七)面向对象(Object Oriented)

黄国强 2023/11/11 前文提到面向对象构建的模块控制器&#xff0c;根据第一性原理&#xff0c;从图灵机的角度&#xff0c;面向对象不是最基本的元素。那么面向对象是不是不重要呢&#xff1f; 答案是否定的&#xff0c;面向对象非常非常重要。当我们面对一个具体的领域…...

汽车之家车型_车系_配置参数数据抓取

// 导入所需的库 #include <iostream> #include <fstream> #include <string> #include <curl/curl.h> #include <regex>// 声明全局变量 std::string htmlContent; std::regex carModelRegex("\\d{4}-\\d{2}-\\d{2}"); std::regex ca…...

RabbitMQ的 五种工作模型

RabbitMQ 其实一共有六种工作模式&#xff1a; 简单模式&#xff08;Simple&#xff09;、工作队列模式&#xff08;Work Queue&#xff09;、 发布订阅模式&#xff08;Publish/Subscribe&#xff09;、路由模式&#xff08;Routing&#xff09;、通配符模式&#xff08;Topi…...

原型制作神器ProtoPie的使用Unity与网页跨端交互

什么是ProtoPie&#xff1f; ProtoPie是一款面向设计师的软件原型设计工具&#xff0c;例如制作App界面交互展示&#xff0c;制作好的原型可以一键发布到Web服务器&#xff0c;就可以浏览器访问。由于其内置了大量常用交互类型&#xff0c;以及"程序化"模块&#xf…...

另辟奚径-Android Studio调用Delphi窗体

大家都知道Delphi能调用安卓SDK&#xff0c;比如jar、aar等&#xff0c; 但是反过来&#xff0c;能在Android Studio中调用Delphi开发的窗体吗&#xff1f; 想想不太可能吧&#xff0c; Delphi用的是Pascal&#xff0c;Android Studio用的是Java&#xff0c;这两个怎么能混用…...

SOLID 原则,程序设计五大原则,设计模式

SOLID 是让软件设计更易于理解、更加灵活和更易于维护的五个原则的简称。 单一职责(Single Responsibility Principle)&#xff1a;修改一个类的原因只能有一个。开闭原则(Open/Closed Principle)&#xff1a;对于扩展&#xff0c;类应该是“开放”的&#xff1b;对于修改&…...

Java基础——数组(一维数组与二维数组)

文章目录 一维数组声明初始化与赋值内存图解 二维数组声明初始化与赋值内存图解 数组练习 数组是多个相同类型的数据按一定顺序排列的集合。 说明&#xff1a; 数组是引用数据类型&#xff0c;数组的元素是同一类型的任何数据类型&#xff0c;包括基本数据类型和引用数据类型…...

避坑指南:Verilog中real数据类型的3个常见误区与5个高效使用技巧

Verilog中real数据类型的深度避坑指南&#xff1a;从误区到高阶技巧 在数字电路设计领域&#xff0c;Verilog的real数据类型就像一把双刃剑——它能够精确模拟现实世界的连续信号&#xff0c;却也暗藏着无数让工程师夜不能寐的陷阱。我曾亲眼见证一个团队花费两周时间追踪的仿真…...

FPGA图像处理入门:手把手教你用FIFO实现3x3滑动窗口(附Verilog代码)

FPGA图像处理实战&#xff1a;从串行像素到3x3滑动窗口的工程化实现 第一次接触FPGA图像处理时&#xff0c;最让我困惑的不是算法本身&#xff0c;而是如何把"一个时钟一个像素"的串行数据流&#xff0c;变成算法需要的3x3并行数据窗口。这就像试图用吸管喝汤——明明…...

别再被官方文档坑了!手把手教你搞定Android App Links验证与真机调试(附华为/小米实测差异)

别再被官方文档坑了&#xff01;手把手教你搞定Android App Links验证与真机调试&#xff08;附华为/小米实测差异&#xff09; 在Android开发中&#xff0c;App Links是一个强大的功能&#xff0c;它允许应用直接处理特定域名的HTTP/HTTPS链接&#xff0c;而无需用户选择使用哪…...

序列模型(语言的Transformer)以及常见的vit , 他们的整个流程分别是什么样的?每一个步骤的简单代码实现

文本变成 token embedding是怎么做的 文本先变成 token idtoken id 再去查一个 embedding 表&#xff0c;取出对应向量 不是一步直接从字符串变成高维向量。 第一步&#xff1a;文本变成 token id 这一步叫 tokenization。 例如一句话&#xff1a; text "我喜欢苹果"…...

AGI自主学习不是“试错”,而是“推演”——基于17万小时仿真数据的认知跃迁模型

第一章&#xff1a;AGI自主学习不是“试错”&#xff0c;而是“推演”——基于17万小时仿真数据的认知跃迁模型 2026奇点智能技术大会(https://ml-summit.org) 传统强化学习依赖海量环境交互与稀疏奖励信号&#xff0c;本质上是统计意义上的试错收敛&#xff1b;而新一代AGI认…...

手把手教你用QEMU模拟器搭建一个‘可信’的TPCM实验环境(含避坑指南)

从零构建QEMU模拟环境&#xff1a;深入理解TPCM信任链的实战指南 在可信计算领域&#xff0c;硬件环境往往是学习和研究的最大门槛。一台配备TPCM&#xff08;可信平台控制模块&#xff09;的物理设备动辄数万元&#xff0c;让许多研究者和学生望而却步。但通过开源工具QEMU&am…...

HS2-HF_Patch终极指南:三分钟解决Honey Select 2语言障碍和功能限制

HS2-HF_Patch终极指南&#xff1a;三分钟解决Honey Select 2语言障碍和功能限制 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 如果你是《Honey Select 2》的玩…...

三步解锁QQ音乐加密格式:qmc-decoder让你的音乐收藏真正自由

三步解锁QQ音乐加密格式&#xff1a;qmc-decoder让你的音乐收藏真正自由 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾为QQ音乐下载的歌曲无法在其他播放器播放而…...

当LLM开始起草交战规则:AI生成战术指令的合法性断层(附联合国《自主武器系统审查框架》中英文对照关键条款)

第一章&#xff1a;AGI与军事应用的伦理边界 2026奇点智能技术大会(https://ml-summit.org) 人工智能发展正逼近通用人工智能&#xff08;AGI&#xff09;临界点&#xff0c;其在军事领域的潜在部署已引发全球性伦理关切。当系统具备跨域推理、自主目标重构与实时战略演化能力…...

PostgreSQL MVCC 深度解析

PostgreSQL MVCC 深度解析 摘要&#xff1a; 本文通过每条元组头部的 t_xmin 和 t_xmax 字段&#xff0c;解释 PostgreSQL 的多版本并发控制&#xff08;Multi-Version Concurrency Control&#xff09;在存储层的工作原理。展示了快照如何在并发会话之间确定可见性&#xff0…...