![](https://img-blog.csdnimg.cn/20200827142216663.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
音视频/图像
音视频/图像
郎涯技术
微信搜一搜:【郎涯技术】关注我。
卖码为生,有代码洁癖。不爱广度,爱深度 — 专注分享Java / 在线教育 / 视音频领域等技术。
想和你一起,每天进步一点点,做一个不凡的人!
展开
-
FFMPEG结构体分析 AVFormatContext
在使用FFMPEG进行开发的时候,AVFormatContext是一个贯穿始终的数据结构,很多函数都要用到它作为参数。它是FFMPEG解封装(flv,mp4,rmvb,avi)功能的结构体。下面看几个主要变量的作用(在这里考虑解码的情况):struct AVInputFormat *iformat:输入数据的封装格式AVIOContext *pb:输入数据的缓存转载 2014-10-21 17:34:40 · 980 阅读 · 0 评论 -
FFMPEG结构体分析 AVPacket
AVPacket是存储压缩编码数据相关信息的结构体。转载 2014-10-21 19:32:09 · 1107 阅读 · 0 评论 -
FFMPEG 最关键的结构体之间的关系
FFMPEG中结构体很多。最关键的结构体可以分成以下几类:a) 解协议(http,rtsp,rtmp,mms)AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。(注意:FFMPEG中转载 2014-10-21 13:43:22 · 712 阅读 · 0 评论 -
FFMPEG结构体分析 AVFrame
AVFrame是包含码流参数较多的结构体。转载 2014-10-21 19:36:58 · 1688 阅读 · 4 评论 -
NetStatusEvent.info.code 备忘
下表说明了 code 和 level 属性可能的字符串值。 代码属性级别属性意义"NetStream.Buffer.Empty""status"数据的接收速度不足以填充缓冲区。 数据流将在缓冲区重新填充前中断,此时将发送 NetStream.Buffer.Full 消息,并且该流将重新开始播放。"NetStream.Buffer.Full"转载 2015-07-09 10:18:53 · 1272 阅读 · 0 评论 -
FFMPEG H264/H265 编码延迟问题
最新使用FFmpeg进行H264的编码时,发现视频编码有延迟,不是实时编码,进过一番研究发现,只要在调用avcodec_open2函数打开编码器时,设置AVDictionary参数即可,关键代码如下:avcodec_open2函数:int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDiction原创 2014-10-23 14:51:05 · 8579 阅读 · 0 评论 -
FFMPEG sws_scale算法性能测试
经常用到ffmpeg中的sws_scale来进行图像缩放和格式转换,该函数可以使用各种不同算法来对图像进行处理。以前一直很懒,懒得测试和甄别应该使用哪种算法,最近的工作时间,很多时候需要等待别人。忙里偷闲,对ffmpeg的这一组函数进行了一下封装,顺便测试了一下各种算法。简单说一下测试环境,我使用的是Dell的品牌机,i5的CPU。ffmpeg是2010年8月左右的当时最新版本编译而成,我转载 2014-10-21 16:47:37 · 1360 阅读 · 0 评论 -
FFMPEG结构体分析 AVIOContext
AVIOContext中有以下几个变量比较重要:unsigned char *buffer: 缓存开始位置int buffer_size: 缓存大小(默认32768)unsigned char *buf_ptr: 当前指针读取到的位置unsigned char *buf_e转载 2014-10-21 17:58:42 · 1166 阅读 · 0 评论 -
FFMPEG结构体分析 AVCodec
AVCodec是存储编解码器信息的结构体转载 2014-10-21 19:12:33 · 1654 阅读 · 0 评论 -
基于FFmpeg的推流器 [本地文件推送至RTMP]
本文记录一个最简单的基于FFmpeg的推流器。推流器的作用就是将本地的视频数据推送至流媒体服务器。本文记录的推流器,可以将本地的 MOV / AVI / MKV / MP4 / FLV 等格式的媒体文件,通过流媒体协议(例如RTMP,HTTP,UDP,TCP,RTP等等)以直播流的形式推送出去。由于流媒体协议种类繁多,不一一记录。在这里记录将本地文件以RTMP直播流的形式推送至RTMP流媒体服务器转载 2015-03-27 13:44:59 · 6684 阅读 · 0 评论 -
FFMPEG结构体分析 AVStream
AVStream重要的变量如下所示:int index: 标识该视频/音频流AVCodecContext *codec: 指向该视频/音频流的AVCodecContext(它们是一一对应的关系)AVRational time_base: 时基。通过该值可以把PTS,DT转载 2014-10-21 19:08:43 · 1196 阅读 · 0 评论 -
FFMPEG结构体分析 AVCodecContext
enum AVMediaType codec_type:编解码器的类型(视频,音频...)struct AVCodec *codec:采用的解码器AVCodec(H.264,MPEG2...)int bit_rate: 平均比特率uint8_t *extradata; int extradata_size:针对特定编码器包含的附加信息(例如对于H.264解转载 2014-10-21 17:48:06 · 1181 阅读 · 0 评论 -
MediaDevices.getUserMedia undefined 的问题
通过 MediaDevices.getUserMedia() 获取用户多媒体权限时,需要注意其只工作于以下三种环境:1.1 localhost 域开启了 HTTPS 的域使用 file:/// 协议打开的本地文件其他情况下,比如在一个 HTTP 站点上,navigator.mediaDevices 的值为 undefined。如果想要 HTTP 环境下也能使用和调试 MediaDevic...转载 2020-03-31 15:03:03 · 6534 阅读 · 0 评论 -
C++ GDI+ Region区域
转载 2015-04-30 13:21:13 · 3308 阅读 · 0 评论 -
C++ GDI+ 画线/边框
转载 2015-04-30 13:03:27 · 5597 阅读 · 2 评论 -
C++ GDI+ 带阴影的文字功能的实现
用GDI+的优秀图形输出功能可以非常方便的实现文字特效,其中一个带阴影的文字便是其中一例。 许多简单的文字特效只是简单的将文字用不同的颜色与不同的位置输出一次或多次,本文所讨论的阴影效果借助GDI+的反走样能力生成透明的阴影与半阴影。 这儿所述的方法先在绘图平面上绘制一个比预期小的文字,然后放大它。 由于代码注释很详细,直接上代码:ULONG_PTR g_gdiP原创 2015-04-20 17:47:19 · 4703 阅读 · 0 评论 -
C++ GDI+ 多张图片合并生成GIF动画格式图片
基于C++ GDI+技术实现多张图片合并生成Gif动画格式图片的方案。【1】支持bmp、jpg、tif、png等格式图片的合并 【2】支持图片尺寸、循环次数、图片持续时间的设定原创 2014-08-28 20:17:19 · 10567 阅读 · 14 评论 -
C++ GDI+ Brush画刷详解
转载地址:http://blog.csdn.net/harvic880925/article/details/9071795转载 2014-08-03 17:59:30 · 3100 阅读 · 0 评论 -
C++ GDI+ DrawImage方法详解(绘制指定图像Image)
转载地址:转载 2014-08-03 17:29:20 · 12479 阅读 · 0 评论 -
C++ GDI+ 色彩变换ColorMatrix(平移、缩放、旋转、投射)、颜色替换ColorMap详述
转载地址:http://blog.csdn.net/harvic880925/article/details/9120873转载 2014-07-31 21:01:40 · 2715 阅读 · 0 评论 -
C++ GDI+ 双缓存技术实现
转载地址:http://cnbeta2004.blog.163.com/blog/static/602313402010119104451537/早前曾为此问题在CSDN发帖求助(GDI+ 如何使用双缓冲绘制图像),得到了一个GDI+下较可行的方法,虽然绘制效果比直接绘制要好一些,不过还不能跟GDI的双缓冲方式比肩。现在,我终于找到了一个理想的实现方式,效果转载 2014-07-31 17:20:44 · 4231 阅读 · 0 评论 -
C++ GDI+ DrawString 保存字符串文字为透明图片
实现通过GDI+将输入的字符串保存为背景透明的图片的示例代码原创 2014-07-30 19:47:42 · 7354 阅读 · 10 评论 -
C++ GDI+提取系统文件或文件夹的图标,保存为透明图片
介绍一种提取文件或者文件夹的图标的方法,保存为背景透明的PNG图标。原创 2014-07-30 17:51:23 · 3739 阅读 · 0 评论 -
C++ GDI+环境的初始化
详细介绍使用gdi+时,需要做的准备工作。原创 2014-07-28 12:26:41 · 5262 阅读 · 0 评论 -
音频 PCM音频编码格式详解
PCM音频编码格式详解。PCM(Pulse Code Modulation)音频编码格式也被称为脉冲编码调制。就是将声音等模拟信号变成符号化的脉冲列,再进行记录存储。主要涉及原理与存储的介绍。原创 2014-08-10 13:49:14 · 19789 阅读 · 0 评论 -
音频属性详解(涉及采样率、通道数、位数、比特率、帧等)
音频属性详解,包括采样率、通道数、采样位数、比特率、帧、周期、交错与非交错模式的存值方式等。原创 2014-08-10 13:35:38 · 52910 阅读 · 5 评论 -
HLSL 像素着色器ps_2_0运行没问题,ps_3_0运行有问题
最近开发中用到了像素着色器,我写了一个文本数据用 D3DXCompileShaderFromFile 对其进行编译,当我设置为 ps_2_0 时一切正常。因程序需要编写更多的分支语句,而ps_2_0的指令数等受限,因此我想改为 ps_3_0 版本编译,编译正常【我对硬件进行了测试,它是支持 ps_3_0的】。运行时发现:ps_2_0 图像显示正确;使用ps_3_0 时,图像显示错误,为一张原创 2015-01-08 14:26:43 · 1684 阅读 · 2 评论 -
【图像格式】 PPM/PGM/PBM格式编码详解
PPM(Portable PixMap)是portable像素图片,是由netpbm项目定义的一系列的portable图片格式中的一个。这些图片格式都相对比较容易处理,跟平台无关,所以称之为portable,就是比较直接的图片格式。比如PPM,其实就是把每一个点的RGB分别保存起来。所以,PPM格式的文件是没有压缩的,相对比较大,但是由于图片格式简单,一般作为图片处理的中间文件(不会丢失文原创 2014-10-16 17:27:22 · 5040 阅读 · 0 评论 -
【图像格式】 DPX格式编码详解
原创 2014-10-09 15:23:53 · 8395 阅读 · 0 评论 -
【图像格式】 常用的序列图文件格式(TGA\TIFF\PCX)
影像制作常常碰到不同系统或者软体之间转换的情况,比方说PC、Mac、Linux,软体方面Flame、Smoke、Final Cut Pro、Avid、Premiere、EDIUS…等等,还有3D动画与效果与最后online时的衔接,都需要跨越不同平台将影像整合。 之所以使用序列图档,最主要的原因是图档格式多半保留了最大的色彩与画素资料,比较起媒体档案就单纯得多。举例来说;MOV、AVI有很原创 2014-09-29 17:46:02 · 7713 阅读 · 0 评论 -
【图像格式】 TGA格式编码详解
原创 2014-09-25 21:20:42 · 2863 阅读 · 0 评论 -
数字图像处理 CImage类的使用与封装(jpg png gif tif bmp等格式图像的加载、数据读写、保存等功能)
介绍CImage类的使用,处理JPGE、GIF、BMP、PNG等多种格式图片,扩展了图片处理功能且能与CBitmap 进行转换( 因为所载入的位图句柄都是HBITMAP,所以可相互转换)原创 2014-07-27 22:29:11 · 5548 阅读 · 2 评论 -
数字图像处理 颜色空间RGB、HSI、CMYK、YUV的相互转换
颜色空间也称彩色模型(又称彩色空间或彩色系统)它的用途是在某些标准下用通常可接受的方式对彩色加以说明。 本文讲解RGB与HSI、CMYK、YUV的基本概念及转换算法。原创 2014-07-23 21:07:40 · 26894 阅读 · 1 评论 -
MPEG I B P 帧
MPEG压缩使用 I、B、P帧,压缩的基本思想:帧内压缩和帧间压缩。其次通过时间相关性的统计分析,在间隔1~2帧的图像中,各像素只有10%以下的点,其亮度差值变化超过2%,而色度差值的变化只有1%以下,采用的压缩方法为分组:把几帧图像分为一组(GOP),为防止运动变化,帧数不宜取多。1.定义帧:将每组内各帧图像定义为三种类型,即I帧、B帧和P帧...原创 2014-10-23 16:08:04 · 1751 阅读 · 0 评论