• 2024-07-14音视频开发—使用FFmpeg从纯H264码流中提取图片 C语言实现
    文章目录1.H264码流文件解码流程关键流程详细解码流程详细步骤解析2.JPEG编码流程详细编码流程详细步骤解析3.完整示例代码4.效果展示从纯H.264码流中提取图片的过程包括解码和JPEG编码两个主要步骤,以下是详细阐述1.H264码流文件解码流程关键流程查找编解码器
  • 2024-06-11FFmpeg结构体:AVOutputFormat
    1.描述AVOutpufFormat与AVInputFormat类似,是类似COM接口的数据结构,表示输出文件容器格式,着重于功能函数,位于Avoformat.h文件中。ffmpeg支持各种各样的输出文件格式,MP4,FLV,3GP等等。而AVOutputFormat结构体则保存了这些格式的信息和一些常规设置。每一种封装对应一个AVOutpu
  • 2024-04-23使用 MediaCodec 在 Android 上进行硬解码
    要使用MediaCodec在Android上进行硬解码,并获取RGBA数据,你可以按照以下步骤进行操作:创建MediaExtractor对象并设置要解码的MP4文件路径:MediaExtractorextractor=newMediaExtractor();extractor.setDataSource(filePath);根据需要选择音频或视频轨道:inttrackCo
  • 2024-03-20ffmpeg SDK编码MP4 AAC的一处小坑
    在最新版的ffmpegSDK中,如果我们按照一般的编码音频的步骤编码AAC并封入MP4,我们往往会写入一个很奇怪的音频Stream。它的MediaInfo会长这样:如图所示,解码器不能理解这个流,会认为它就是一个ERParametric而不能理解它是AAC。ffprobe查看stream其配置也会很奇怪:[STREAM]index=1c
  • 2024-03-17FFmpeg-aac、h264封装flv及时间转换
    文章目录时间概念流程api核心代码时间概念dts:解码时间戳,表示压缩帧的解码时间pts:显示时间戳,表示将压缩帧解码后得到的原始帧的显示时间时间基:time_base,通常以ms为单位时间戳:timestamp,多少个时间基真实时间:time_base*timestamp如一个视频帧
  • 2024-03-11golang基于长度解决粘包问题(gnet)
    使用gnet框架处理Socket粘包问题当服务端处理旧业务tcpscoket,旧的业务是NettySocket使用的是2个字节的长度定义数据的大小。官方支持ICodec去处理,但文档不太友好,这里附上使用方法import( "github.com/panjf2000/gnet")typeDTUSocketServerstruct{ *gnet.EventServer
  • 2024-03-09AVCodec
    AVCodec是存储编解码信息的结构体。/***AVCodec.*/typedefstructAVCodec{/***Nameofthecodecimplementation.*Thenameisgloballyuniqueamongencodersandamongdecoders(butan*encoderandadecodercansharethesamename)
  • 2024-03-09ubuntu c语言 opencv实现h265 编码
    在Ubuntu上使用C语言和OpenCV实现H.265编码,你可以遵循以下步骤:安装依赖:首先确保你的系统已经安装了Ubuntu最新版本,并更新所有包列表。安装FFmpeg,因为OpenCV使用FFmpeg来处理视频编码。可以使用以下命令安装:复制sudoaptupdatesudoaptinstallffmpeg安装OpenCV:OpenCV库本
  • 2024-03-03ffmpeg记录
    最近工作中有用到ffmpeg,这里做一下简单的记录:1、虚拟机平台安装ffmpeg使用apt进行安装sudoaptupdatesudoaptinstallffmpeg之后安装一些需要的安装包sudoaptinstalllibavcodec-devlibavformat-devlibavutil-devlibswscale-dev这样就编译OK了,之后编译程序,使用下
  • 2024-02-28Macos arm64 ffmpeg h264 还原成yuv
    首先编译ffmpeg由于编译很多依赖尝试了三天果断放弃~使用brewbrewinstallffmpegbrewinfoffmpegcmakelist.txtcmake_minimum_required(VERSION3.20)project(ffmpeg_baseC)set(CMAKE_C_STANDARD11)set(FFMPEG_DIR/usr/local/Cellar/ffmpeg/6.1.1_3)include_
  • 2024-01-11'gbk' codec can't decode byte 0xff in position 0
    使用open()报错File"E:\python3\di1gexiangmu20231219\ex20.py",line10,inprint_allprint(f.read())^^^^^^^^UnicodeDecodeError:'gbk'codeccan'tdecodebyte0xffinposition0:illegalmultibytesequence默认情况
  • 2023-12-19「从ES到CK 04」Clickhouse表引擎选择和表结构设计
    导航在完成将公司日志数据从Elasticsearch(下称ES)转战到Clickhouse后,个人认为有必要将过程记录分享。限于篇幅及便于分类组织,我会以一个系列文章的形式记录:01《ElasticsearchvsClickhouse》02《Clickhouse的基础知识扫盲》03《Clickhouse多分片多副本集群部署》04《Clic
  • 2023-12-15ffmpeg 添加自定义编解码插件
    有两种方法:一.ffmpeg添加自定义编解码插件(以修改ffmpeg源码的方式添加)例:添加一个解码器,给这个解码器取个名字叫mydecoder,可以通过下面的步骤添加:1.在libavcodec目录下,新建文件mydecoder.c#include"avcodec.h"#include"codec_internal.h"//自己封装的编解码器的头文件#
  • 2023-11-12Kubernetes API Codec 解析
    概述在KubernetesAPI多版本和序列化这篇文章中,介绍了API多版本的功能和实现原理,其中Codec就是用来做序列化工作的,它主要用在两个地方:一个是通过HTTP协议跟客户端进行交互时,会对传输的数据进行序列化和反序列化,将字节流类型的数据转换成对应的API对象,或者是将API对象转换成对
  • 2023-10-18【JAVA】org.apache.commons.codec依赖
     <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.10</version> </dependency>
  • 2023-10-18使用ffmpeg将opencv捕获的摄像头数据推流到本地rtsp器上
    首先,为什么使用opencv?答:方便对视频进行处理,各种深度学习网络就有了用物之地。具体流程参考的FFmpeg/opencv+C++实现直播拉流和直播推流(对视频帧进行处理)_c++ffmpeg拉流_酒神无忧的博客-CSDN博客,但是细节不同。简述一下流程:使用opencv从摄像头中读取数据。将cv::Mat转换为A
  • 2023-10-13渗透测试高级技巧(二):对抗前端动态密钥与非对称加密防护
    在前文的技术分享中,我们描述了验签和静态对称加密(静态密钥AES)的常见场景,大家我相信遇到类似的加解密清醒,基本都可以通过热加载的基本使用获得破解前端加密解密的方法,达到一个比较好的测试状态。在本文中,我们在保持同样的通用适配度的同时,将会来接触更加复杂的前端加密与解密场
  • 2023-09-20Windows下ffmpeg调用测试(YUV420P编码)
    1下载静态库和动态库如果你是动态加载,可以直接使用动态库(dlopen等);否则就才用动态+静态的方式(动态库的静态加载方式);或者直接将静态库编译到你的执行程序(纯静态组件使用);https://www.gyan.dev/ffmpeg/builds/#libraries 添加组件vs2022: 属性->c/c++->附加包含目录;将头文件
  • 2023-09-15UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd' in positio
    写入文件报错UnicodeEncodeError:'gbk'codeccan'tencodecharacter'\ufffd'inposition2494:illegalmultibytesequence 解决方法  withopen('./abc.html','w',encoding='utf-8')asfp: fp.write(respone
  • 2023-09-12A named channel for communicating with platform plugins using asynchronous /// message passing.
     Future<void>initWithScopeLimitCredential()async{finalBasicMessageChannel<Object?>channel=BasicMessageChannel<Object?>('dev.flutter.pigeon.CosApi.initWithScopeLimitCredential',codec,binaryMess
  • 2023-09-12用ffmpeg实现ECNR
    ECNR(EchoCancellationandNoiseReduction)是一种处理语音信号的技术,可以去除回声和噪声,提高通话质量。FFmpeg是一个流行的开源多媒体框架,它可以实现对音频、视频等多种格式的编解码、过滤、转换等操作。要使用FFmpeg实现ECNR,需要先了解以下几个概念:回声:当我们在手机或
  • 2023-09-09ffmpeg新旧函数对比
    从FFmpeg3.0开始,使用了很多新接口,对不如下:1.avcodec_decode_video2()原本的解码函数被拆解为两个函数avcodec_send_packet()和avcodec_receive_frame()具体用法如下:old:avcodec_decode_video2(pCodecCtx,pFrame,&got_picture,pPacket);new:avcodec_send_packet(pCo
  • 2023-09-05第4篇 machine,platform,codec
    参考:韦东山Linux教程(1)machine:单板相关 //结构体:structsnd_soc_card->structsnd_soc_dai_link 1)表明platform是哪个,通过snd_soc_dai_link指定名字,进行匹配 1.指定CPUDAI(IIS) 2.snd_soc_platform_driver(指定DMA) 2)表明codec是哪个,通过s
  • 2023-09-04安装weditor时提示“ UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 645:
    问题:安装weditor时提示“UnicodeDecodeError:'gbk'codeccan'tdecodebyte0xadinposition645:illegalmultibytesequence” 解决:方法一:解决方法一设置用户或者系统变量: 方法二:设置临时变量后再pipinstallsetPYTHONUTF8=1pipinstallweditor 原
  • 2023-09-03Java:commons-codec实现byte数组和16进制字符串转换
    目录commons-codec实现原理封装StringUtil类commons-codec文档https://commons.apache.org/proper/commons-codec/https://mvnrepository.com/artifact/commons-codec/commons-codec坐标<dependency><groupId>commons-codec</groupId><artifactId>com