音视频相关
文章平均质量分 72
Jons伯恩特
这个作者很懒,什么都没留下…
展开
-
ZLMediaKit 工具库解析 EventPoller
ZLMediaKit EventPoller代码详解。原创 2023-02-21 20:33:29 · 971 阅读 · 0 评论 -
MPEG-2 文件结构解析
代码实现:mpeg-2文件分析器代码实现ide一个完整的MPEG-2文件就是一个PS流文件。spaMPEG-2文件的构造格式以下图:.net 本身找个mpg文件打开,能够看到文件以0x0000 01B9结束(有些文件不标准没有),即MPEG_Program_end_code,以前有不少个0x0000 00BA字段,即为program pack的开始标志,program pack包的构造以下:rest能够看出program pack由3部分组成:pack_head...转载 2022-04-01 11:16:27 · 724 阅读 · 0 评论 -
SIP协议详解
SIP协议基本介绍背景介绍Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动,他们可能可以有多个名字,他们中间的通讯可能是基于不同的媒介(比如文本,多媒体,视频,音频等)-有时候是多种媒介一起交互。人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音,影像,或者文本。SIP(会话初始协议)和这些协议一样,同样允许使用Internet端点(用户代理)来寻找参与者并且允许原创 2022-04-01 11:07:59 · 46034 阅读 · 2 评论 -
视频压缩编码的基本原理
1.预测编码1.1.预测编码基本概念预测法是最简单和实用的视频压缩编码方法,这时压缩编码后传输的并不是像素本身的取样幅值,而是该取样的预测值和实际值之差。大量统计表明,同一副图像的临近像素之间有着相关性,或者说这些像素值相似。而且同帧图像中邻近行之间对应位置的像素之间也有较强的相关性。人们可以利用这些性质进行视频压缩编码。如图,同一帧内的临近像素中与 X 之间的距离近的像素,如...转载 2020-02-26 13:20:32 · 804 阅读 · 0 评论 -
H264解码过滤花屏视频帧
众所周知视频在各个领域占有极为重要的地位,安防领域,互联网,医药,教育等等等等。扯淡我就尽量不多扯了,现主要扯安防领域吧,安防领域尤其是视频分析领域,视频质量要求比较苛刻。下面介绍一下场景比较苛刻的图片情况:1.这种2.这种花屏现象,在视频接入解码过程中尤为常见,(比如28181接入,rtsp等等),解码大家都考虑使用ffmpeg进行解码,首先考虑的可能是解码错误直接从解码过程...原创 2019-11-22 11:38:37 · 3593 阅读 · 2 评论 -
H.265/HEVC —— 帧内预测
在H.265/HEVC中,35种预测模式是在PU的基础上定义的,而具体帧内预测过程的实现则是以TU为单位的。编撰规定PU可以以四叉树的形式划分TU,且一个PU内所有TU共享同一种预测模式的形式划分TU,且一个PU内的所有TU共享同一种预测模式。H.265/HEVC帧内预测可分为以下3个步骤:**1.判断当前TU相邻参考像素是否可用并做相应的处理2.对参考像素进行滤波3.根据滤波后的参考像素...转载 2018-11-19 14:31:13 · 2927 阅读 · 0 评论 -
英伟达N卡硬解码ffmpeg取流
随着祖国的伟大复兴,科技的发展,客户的需求,终于项目上需要硬解了,因为相机的发展低分辨率的视频已经满足不了客户越来越膨胀的欲望了,没办法只能搞一搞硬解了。首先说一说在调研中遇到的一些弯路:1.想到硬解首先考虑到能运用自己所学知识最好,当然首先考虑到的就是FFmpeg,于是就下载了最新的ffmpeg库,找到了HWDecode.c改吧了改吧,本以为奏这么简简单单奏搞定了,但是皇天不负有心人最终...原创 2019-01-08 18:08:52 · 3858 阅读 · 10 评论 -
流媒体常见资源
流媒体常见资源By ahuner http://www.cnblogs.com/aHuner/p/3629709.html 1.视频源下载MPEG-2 Transport Stream Test Patterns and Tools:http://www.w6rz.net/HEVC/H.265, AVC/H.264, MPEG-4, MPEG-2 video:http://w...转载 2019-02-22 11:59:05 · 995 阅读 · 0 评论 -
GB28181开流SDP各个字段汇总整理
附录F中,对SDP各字段并没有全部说明详细,笔者根据第9章各相关小节,对SDP的字段做一下整理。理解不到位之处,还请读者朋友不吝斧正!回话描述字段:v=0 --sdp协议版本o=64010000002020000001 0 0 IN IP4 172.18.16.3 --<用户名><会话id><版本><网络类型><地址类型>&...转载 2019-03-18 09:41:51 · 2879 阅读 · 0 评论 -
GB28181 ps流解析出h264
PS流格式可以自行网上搜索很多资料,参考网址:https://blog.csdn.net/u012519333/article/details/53208767#ifndef __ACTIVE_PS_PARSER_H_ #define __ACTIVE_PS_PARSER_H_ typedef void APSPARSER_H; //ACTIVE_PS_PARSER_HANDLE ...原创 2019-03-24 10:58:21 · 2442 阅读 · 4 评论 -
ffmpeg qsv 编译
ffmpeg 的编译一直困扰很长时间,平时一直是直接用官网的ffmpeg builds库,但是设计到ffmpeg的qsv硬解没办法只能自己编译,感激参考博客https://blog.csdn.net/ww506772362/article/details/84643969看完该博客之后相信qsv的64位编译已经编译好了,重点说不同之处32位编译,(重点)注意在编译32位和64位时注意切换工具链...原创 2019-04-11 09:44:10 · 1908 阅读 · 2 评论 -
ffmpeg configure配置选项
帮助选项Help options 标准选项Standard options 许可证选项Licensing options 配置选项Configuration options 程序选项Program options 文档选项Documentation options 组件选项Compone...转载 2019-04-09 16:41:22 · 1181 阅读 · 0 评论 -
针对ffmpeg 解码h264优化
ffmpeg解码花屏,拖影,等等问题相信大家都遇见过,对于一些知识简单看视频的花点一瞬间过去可能影响不太,但对于做机器视觉的行业安防行业做视频分析,可能一张图花了造成误检测,没办法只能硬着头皮去解决,一开始无从下手,一开始的方案是看到的一片博客,地址https://blog.csdn.net/u013354805/article/details/51611391但是我找了半天如何增加全局变量,...原创 2019-07-25 15:23:05 · 5167 阅读 · 0 评论 -
ffmpeg VS2013 编译调试
ffmpeg编译在windows编译调试一直使自己头疼,用的比较多的方法一直是使用mingw什么东西的,也没弄太清楚,最近发现有一个叫 Oliver的家伙搞了个shiftpoject ffmpeg,参考网址:https://github.com/ShiftMediaProject现在说说我的编译经历:我首先下载的他的工程ffmpeg,根据他的讲解,找了个傻瓜编译方式,按照他的方式,先安装了原创 2017-08-25 15:44:29 · 3338 阅读 · 10 评论 -
vs2013 vs2015 集成环境yasm 配置
环境: Windows 7 64位 VS2013 windows 10 / VS2015目标: 在vs2013(VS2015)中集成yasm编译环境,使用asm和c++相互调用。地址: yasm 下载 http://yasm.tortall.net/Download.html1。下载vsyasmWin32 VS2010 .zi转载 2017-07-20 16:04:44 · 1850 阅读 · 0 评论 -
windows 保存rgb数据为bmp文件
//构建BMP位图文件头 void ContructBhh(int nWidth,int nHeight,BITMAPFILEHEADER& bhh) //add 2010-9-04 { int widthStep = (((nWidth * 24) + 31) & (~31)) / 8 ; //每行实际占用的大小(每行都被填充到一个4字节边界) bhh.b原创 2016-04-11 10:08:36 · 1151 阅读 · 0 评论 -
I,P,B帧和PTS,DTS的关系
基本概念:I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。I帧可以看成是一个图像经过压缩后的产物。P frame: 前向预测编码帧 又称predictive-frame,通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫转载 2016-04-01 16:44:41 · 562 阅读 · 0 评论 -
ps流格式详解
建议和海康ps流转h264流结合查看可以理解的更清楚,地址http://blog.csdn.net/occupy8/article/details/39288035概念:将具有共同时间基准的一个或多个PES组合(复合)而成的单一的数据流称为节目流(Program Stream)。ES是直接从编码器出来的数据流,可以是编码过的视频数据流,音频数据流,或其他编码数据流的统称。ES流经过转载 2016-04-01 16:18:02 · 1077 阅读 · 0 评论 -
ffmpeg的时间戳
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{ int num; /// int den; ///} AVRational;AVRational这个结构标识一个分数,num为分数,den为分母。实际上time转载 2016-03-24 21:08:58 · 778 阅读 · 0 评论 -
qt for android从编译ffmpeg x264 aac 到在qtcreator上使用
首先编译ffmpeg x264 aac,在编译ffmpeg时一开始很没有头绪,后来看到网上各种使用ndk编译ffmpeg,大概意思我理解也就是使用交叉编译环境编译x264,aac,ffmpeg时会出现很多错误,在这就不多说了,自己试试就知道了。主要还交叉编译环境的配置,一定要看准。出现 C compliter not execuate 看看ndk gcc 配置对了没。faac编译 bl.sh原创 2015-08-23 15:05:40 · 1823 阅读 · 0 评论 -
qt5 采集摄像头的视音频
本程序是通过使用QT+VS2010调用windows摄像头,QCamera采集视频帧,通过QAudioInput采集音频,将采集的视频格式RGB32通过传递内存使用ffmpeg将RGB32实时转换为yuv420p,并分别将视频与音频分别保存为yuv文件和pcm文件。视频采集设置每一帧数据 myvideosurface.h#ifndef MYVIDEOSURFACE_H#defi原创 2015-07-31 17:48:04 · 6664 阅读 · 2 评论 -
使用ffmpeg开源库将h264封装为mp4格式
最近一直在做使用ffmpeg关于读取标准h264格式内存如何封装为mp4格式文件,在经过一周的持续奋战之后在网上找了一些代码,特别的雷神的博客让我获益匪浅,开始不知道如何持续读取发送来的内存块,如何边接受内存边封装为mp4格式文件,找了很多代码也没想出来,后来发现ffmpeg注册的读取拷贝内存的回调函数是自己控制的人为无法控制,经过一番折腾,找了一个比较容易的方法,如果代码有错误的地方希望大家指导原创 2015-07-19 15:11:58 · 11367 阅读 · 4 评论 -
将H264码流打包成RTP包
分类: 流媒体(25) 版权声明:本文为博主原创文章,未经博主允许不得转载。H264码流打包成RTP包的代码如下:[cpp] view plain copy #include #include #include #include #include #include //#include "mem.h"转载 2016-08-13 16:11:42 · 1657 阅读 · 0 评论 -
视频解码同步
[原]零基础学习视频解码之同步视频2014-08-06 00:20 by 雪夜&流星, 525 阅读, 0 评论, 收藏, 编辑在前面几章,我们了解了视频解码的原理,了解了音频解码的原理,也将视频和音频分别放在了相应的解码线程中去了。所以这整个过程中,我们有一个基本无用的电影播放器。它可以播放视频,它也可以播放音频,但是这个并不完整,因为音频和视频并不同步,我们接下来要做的就是转载 2017-06-30 17:44:44 · 660 阅读 · 0 评论 -
VS2013 64位 libjpeg编译使用
现在,很多图像处理工具和开源库都给出了图像解码的函数接口,然而有时这些接口并不能完全满足我们的需求,比如如果我们想直接去解码内存中的JPEG数据就没有这样的接口。 由于之前做的项目刚刚好设备传过来的图像数据就是JPEG格式的,如果将每帧图像数据都保存成文件然后再借助开源库提供的接口去读入文件会显得很掉价,所以做了一些直接解码内存中JPEG数据的研究。经过对比发现libjpeg库对JPEG转载 2017-06-10 11:30:26 · 2281 阅读 · 3 评论 -
h264 获取每个nal
一直苦于无法找到比较合适和效率的从内存读取h264的nal的函数,终于不经意间找到了,记录一下:#define H264_START_CODE 0x000001uint32_t h264_find_next_start_code (uint8_t *pBuf, uint32_t bufLen){ uint32_t val; uint原创 2017-07-05 10:42:28 · 759 阅读 · 0 评论 -
live555 类图结构分析
liveMedia的类关系图如下,理解它对于学习live555有很大的帮助,下面的类图来自:http://www.live555.com/liveMedia/doxygen/html/hierarchy.html_groupsockPriv_H263INFO_MaxBitrate_CTX_TablesAC3FrameParamsAddressPortLookupTableAddressPo转载 2017-07-07 13:43:25 · 999 阅读 · 0 评论 -
sdl在一些电脑上无法播放出声音
公司任务是从流媒体发送内存aac数据通过解码,调用ffmpeg进行解码,使用sdl进行播放,本来顺理成章的播放很是没有问题,但在老大的电脑上怎么也播不出声音来,纠结好几天终于找到问题了,在sdl初始化之前需要进行com库初始化,使其支持子线程进行音频的播放。附源码:#include "Stdafx.h"#include "aac.h"#include #include "objbase.原创 2016-06-03 14:41:39 · 2121 阅读 · 1 评论