DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  音视频、流媒体

上一页 1 ··· 13 14 15 16 17 18 下一页

摘要:PNG文件结构分析 ---Png解析为了实现更高级的应用,我们必须充分挖掘PNG的潜力。PNG的文件结构根据PNG文件的定义来说,其文件头位置总是由位固定的字节来描述的:十进制数137 80 78 71 13 10 26 10十六进制数89 50 4E 47 0D 0A 1A 0A其中第一个字节0x... 阅读全文
posted @ 2014-04-30 13:50 DoubleLi 阅读(56031) 评论(1) 推荐(4) 编辑

摘要:vc/mfc获取rgb图像数据后动态显示及保存图片的方法该情况可用于视频通信中获取的位图数据回放显示或显示摄像头捕获的本地图像第一种方法#include加载 vfw32.lib 链接库[cpp]view plaincopy//------------------------------设置位图头结构... 阅读全文
posted @ 2014-04-30 13:49 DoubleLi 阅读(1827) 评论(0) 推荐(0) 编辑

摘要:替换所有文件里的为即可。我用ffmpeg-0.6.3版测试时,好像mathimf.h文件和其他文件有冲突,需要修改源码。和qdm2.c文件中的 QDM2Complex *complex;声明相冲突,修改为QDM2Complex *complex1;即可。和g726.c文件中的static int16... 阅读全文
posted @ 2014-04-30 13:01 DoubleLi 阅读(436) 评论(0) 推荐(0) 编辑

摘要:BMP(全称Bitmap)是Window操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24... 阅读全文
posted @ 2014-04-30 12:42 DoubleLi 阅读(6810) 评论(1) 推荐(0) 编辑

摘要:目录[hide]1抽象流程:2关键实现:2.1main()函数2.2decode_thread()读取文件信息和音频包2.3stream_component_open():设置音频参数和打开设备2.4audio_callback(): 回调函数,向SDL缓冲区填充数据2.5audio_decode_... 阅读全文
posted @ 2014-04-30 12:36 DoubleLi 阅读(14705) 评论(0) 推荐(0) 编辑

摘要:目录[hide]1ASF2FLV3H2644X2645ffm6AVI7rtsp8rtp9mms10mmshASFASF是(Advanced Streaming Format 高级串流格式)的缩写,是 Microsoft 为 Windows 98 所开发的串流多媒体文件格式。ASF是微软公司Windo... 阅读全文
posted @ 2014-04-30 12:34 DoubleLi 阅读(3156) 评论(0) 推荐(0) 编辑

摘要:Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和 Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一 种可扩展的框架,使能够提供可控制的,按需传输实时数据,比如音频和视频文件。源数据可以包... 阅读全文
posted @ 2014-04-30 12:30 DoubleLi 阅读(25262) 评论(0) 推荐(1) 编辑

摘要:项目最近需要实现播放视频功能,这个在上家公司就做过。虽然跟之前的场景不一样,有以前的功底还是很快可以解决,事实也确实如此。在使用DShow处理完视频分割与合并后,继续使用DShow显示视频,很快即完成。然而在播放dvr录制的视频文件时,发现播放帧率不对,分析发现是dvr存储的视频文件不是按标准格式进... 阅读全文
posted @ 2014-04-30 11:38 DoubleLi 阅读(4629) 评论(0) 推荐(0) 编辑

摘要:源代码下载 在PC机上,对于YUV格式的视频如YV12,YUY2等的显示方法,一般是采用DIRECTDRAW,使用显卡的OVERLAY表面显示。OVERLAY技术主要是为了解决在PC上播放VCD而在显卡上实现的一个基于硬件的技术。OVERLAY的出现,很好的解决了在PC上播放VCD所遇到的困难。早期PC处理能力有限,播放VCD时,不但要做视频解码工作,还需要做YUV到RGB的颜色空间转换,软件实现非常耗费资源,于是,YUV OVERLAY表面出现了,颜色空间转换被转移到显卡上去实现,显卡做这些工作是具有天生优势的。 随着显卡技术的发展,OVERLAY的局限性也越来越充分的暴露出来。一般显卡只支 阅读全文
posted @ 2014-03-28 16:26 DoubleLi 阅读(2602) 评论(0) 推荐(0) 编辑

摘要:源代码下载 在PC机上,对于YUV格式的视频如YV12,YUY2等的显示方法,一般是采用DIRECTDRAW,使用显卡的OVERLAY表面显示。OVERLAY技术主要是为了解决在PC上播放VCD而在显卡上实现的一个基于硬件的技术。OVERLAY的出现,很好的解决了在PC上播放VCD所遇到的困难。早期PC处理能力有限,播放VCD时,不但要做视频解码工作,还需要做YUV到RGB的颜色空间转换,软件实现非常耗费资源,于是,YUV OVERLAY表面出现了,颜色空间转换被转移到显卡上去实现,显卡做这些工作是具有天生优势的。 随着显卡技术的发展,OVERLAY的局限性也越来越充分的暴露出来。一般显卡只支 阅读全文
posted @ 2014-03-18 17:50 DoubleLi 阅读(4330) 评论(0) 推荐(0) 编辑

摘要:一、JRTPLIB简介 老外用C++编写的开源RTP协议库,用来进行实时数据传输,可以运行在 Windows、Linux、 FreeBSD、Solaris、Unix和VxWorks 等多种操作系统上,主页为:http://research.edm.uhasselt.be/~jori/page/index.php?n=Main.HomePage二、相关下载jrtplib: http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplibjthread: http://research.edm.uhasselt.be/~jor... 阅读全文
posted @ 2014-02-27 15:01 DoubleLi 阅读(441) 评论(0) 推荐(0) 编辑

摘要:Ⅰ live555简介 Live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。 该项目的源代码包括四个基本的库,各种测试代码以及IVE555MediaServer。四个基本的库分别是UsageEn.. 阅读全文
posted @ 2014-02-27 14:59 DoubleLi 阅读(386) 评论(0) 推荐(0) 编辑

摘要:一、流媒体简介随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。如果换用流式传输的话,声音、影像、动画等多媒体文件将由专门的流媒体服务器负责向用户连续、实时地发送,这样用户可以不必等到整个文件全部下载完毕,而只需要经过几秒钟的启动延时就可以了,当这些多媒体数据在客户机上播放时,文件的剩余部分将继 阅读全文
posted @ 2014-02-27 14:45 DoubleLi 阅读(1402) 评论(0) 推荐(0) 编辑

摘要:转发自:http://blog.csdn.net/tttyd/article/details/68933921.视频容器格式简介 一般而言,视频文件的扩展名就是视频的容器名。比如“avi文件”或者“mp4文件,avi和mp4只是容器格式。好比zip文件,里面可以包含各种文件,视频容器格式只是定义了怎么存储数据,而不论存储什么类型的数据。不过视频容器格式比这个更复杂一些,因为不是所有的视频流格式兼容所有的视频容器格式。 一个视频文件一般包含多个track,而每个视频track(没有音频)又可对应一到多个音频track。这些track又总是相互关联的。每个音频track内部包含标记用于和视频同步。 阅读全文
posted @ 2013-12-20 00:51 DoubleLi 阅读(1621) 评论(0) 推荐(0) 编辑

摘要:这里请注意,在编译ffmpeg时,不要使用--disable-devices选项。使用--enable-encoder=rawvideo--enable-decoder=rawvideo启用rawvideo codec。代码如下:[cpp]view plaincopyprint? #include#include#include#include#include#include#include#include#include#defineMAX_INPUT_DEVICE_NUM10#ifdef_WIN32intstrcasecmp(constchar*s1,constchar*s2){while 阅读全文
posted @ 2013-12-19 20:45 DoubleLi 阅读(4567) 评论(2) 推荐(0) 编辑

摘要:原因是: DDrawSurface 丢失, DDraw表面在很多情况下都会丢失(如:启动其他全屏独占程序,屏保,或锁屏时), 表面丢失其实就是表面所使用的内存或显存被DirectDraw系统释放, 分配给其他程序. 如果表面丢失, 对此表面的操作都会返回 DDERR_SURFACELOST , 此时应该调用 IDirectDrawSurface 接口方法 Restore 来恢复表面(重新申请内存或显存)。伪代码如下:hr = m_lpDDSOffscreen->Lock(rcDest,&ddsd,DDLOCK_SURFACEMEMORYPTR|DDLOCK_WAIT,NULL); 阅读全文
posted @ 2013-12-19 20:43 DoubleLi 阅读(529) 评论(0) 推荐(0) 编辑

摘要:好久没有更新博客了,今天开始继续耕耘。生活要继续工作要继续梦想也一定要继续!之前写过一篇关于DirectX截屏的文章,其中有网友留言提到了截图黑屏的问题,于是这些日子研究了一下,与大家一同分享。为什么会黑屏?一句话概括,黑屏是由于DDraw加速引起的!先说一下DirectX的显示原理,通常我们看到的屏幕上的数据,都是通过Primary Surface送至显示器的,什么是Primary Surface呢?中文叫做主显示表面,也就是说我们当前看到的屏幕上的图像数据是从这个表面来的,除了主表面意外还有离屏表面,叫做OffScreenSuface。这种表面中的数据是不直接显示在屏幕上的。常用的截屏函数 阅读全文
posted @ 2013-12-19 20:35 DoubleLi 阅读(808) 评论(0) 推荐(1) 编辑

摘要:调用DirectDraw接口步骤:1. 包含链接库ddraw.lib2. 初始化窗口类型(全屏独占时类型用popup)。3. 在初始化窗口后初始化DirectDraw(使用函数DirectDrawCreate)4. 创建DirectDraw实例指针lpDD。5. lpDD->SetCooperativeLevel设置显示全屏独占还是窗体。6. lpDD->SetDisplayMode(640,480,8)设置显示模式。7. DDSURFACEDESC ddsd的信息配置。8. lpDD->CreateSurface创建主页面。9. lpDDSPrimary->GetAt 阅读全文
posted @ 2013-06-19 08:50 DoubleLi 阅读(1162) 评论(0) 推荐(0) 编辑

摘要:做视频采集与处理,自然少不了要学会分析YUV数据。因为从采集的角度来说,一般的视频采集芯片输出的码流一般都是YUV数据流的形式,而从视频处理(例如H.264、MPEG视频编解码)的角度来说,也是在原始YUV码流进行编码和解析,所以,了解如何分析YUV数据流对于做视频领域的人而言,至关重要。本文就是根据我的学习和了解,简单地介绍如何分析YUV数据流。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。 与我们熟知的RGB类似,YU... 阅读全文
posted @ 2013-06-17 23:46 DoubleLi 阅读(4503) 评论(0) 推荐(0) 编辑

摘要:在网上找了一段代码,能工作,但是颜色不对,红的变成蓝色的,黄的变青色了,有时间找找问题。这个问题在我初学DirectX是困惑了我很久,贴出来为初学者提供一个参考。#include "ddraw.h" #pragma comment(lib,"ddraw.lib")#define FILE_HEIGHT 288 #define FILE_WIDTH 352#define DRAW_TOP 0 #define DRAW_LEFT 0 #define DRAW_HEIGHT 288 #define DRAW_WIDHT 352BOOL DrawYV12(HWN 阅读全文
posted @ 2012-12-04 10:45 DoubleLi 阅读(2166) 评论(0) 推荐(0) 编辑

上一页 1 ··· 13 14 15 16 17 18 下一页