自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱写代码的自由人

分享我的开发经验和流媒体方面的知识

  • 博客(57)
  • 资源 (49)
  • 收藏
  • 关注

原创 FFmpeg对颠倒的RGB图像翻转显示

很多使用FFmpeg做解码的用户都可能遇到过一个问题,他们对解码出来的图像转为RGB格式之后显示图像是颠倒的。有些用户对其原因不大明白,其实原因跟RGB图像的存储方式有关。RGB图像即RGB位图有两种存储方式:一种是从上往下扫描,另一种是从下往上扫描。从上扫描的图像第一行的首地址即为图像Buffer的起始地址,而从下往上扫描的图像第一行的首地址为:buffer_data+ linesize*(h...

2019-11-29 10:12:14 2173

原创 使用opencv调用摄像头然后录制视频和保存文件

用 OpenCV 开发经常用到摄像头,从Camera获取图像后用OpenCV的算法进行处理,但是一般我们处理完图像之后,还需要将视频保存下来,比如保存成avi、mp4等格式。怎么保存呢?其实OpenCV有一个类cv::VideoWriter专门用来把视频保存到文件的,但VideoWriter不仅仅是将原始图像流保存到文件,它还可以对视频编码,然后以某种封装格式(比如AVI/MP4)将视频流写到文...

2019-11-21 14:00:24 5814 2

转载 iplimage*转换成mat/mat转iplimage*

IplImage*转MatIplImage * ipl = ...;cv::Mat m = cv::cvarrToMat(ipl); // default additional arguments: don't copy data.Mat转IplImage *方法一:Mat mat, mat1; // mat1是临时变量IplImage * img;mat...

2019-11-19 20:30:58 1681

原创 将OpenCV输出的图像嵌入显示到子窗口控件中(支持Windows、Linux)

OpenCV用来做视频处理很方便,能用窗口显示处理后的图像,但是它默认显示图像的窗口是弹出式的,而我们很多情况下需要将图像显示到自己软件的窗口控件中。这应该怎么做呢?上网搜过一些方案,也试了一下,最后自己优化了一下,把其中几种比较靠谱的方法分享给大家。第一种,使用Cvvimage类 + GDI方式显示图像。CvvImage类有个函数DrawPicToHDC (IplImage *img, ...

2019-11-19 20:18:56 3203

原创 获取视频文件格式信息的工具和方法

如果我们需要知道一个视音频文件的信息,包括封装格式、播放时长、码率、视频编码格式、音频编码格式、视频分辨率、帧率、音频属性等,有什么方法呢?下面我将常用的方法汇总一下:第一种,使用MediaInfo工具 。MediaInfo是一个用来分析视频和音频文件编码和内容信息的工具。免费开源,支持众多视频和音频文件格式,具有树状结构、文本、XML、网页等多种查看方式,信息可导出为文本,CSV,HTM...

2019-11-18 08:31:02 3632

原创 解码H264视频出现花屏或马赛克的问题

常见的引起花屏或马赛克问题的原因是因为丢包,这时候,开发者应该检查自己的接收缓冲区是否太小,还有打印RTP的SeqNumber看有没有不连续或乱序的问题,如果是用UDP传输,则RTP包容易发生乱序,需要开发者对包按顺序进行重组再解码。我说的花屏问题的情况是假设网络没有数据丢包也没有乱序的情况,假设输入的网络包是正常的。那问题出在哪里?是在程序去RTP头、拿到Payload数据之后的处理流程有问...

2019-11-10 22:15:11 16690 1

原创 国标MPEG-PS实时流播放器开发(附例子)

公安部制定的GBT 28181标准广泛应用于安防领域,这个标准规定了传输的视音频数据要封装成PS流格式。PS格式(原名叫MPEG-PS)在很多领域已经应用了很长一段时间,特别是在安防、广播电视、影音制作等领域,我们熟知的DVD格式(vob)就是用PS封装的。这篇文章我打算给大家讲解怎么实现一个PS流的实时流播放器,通过这篇文章学习,大家就知道一个实时流播放器应该如何设计、如何对PS流做处理等。...

2019-11-10 16:12:34 6085 6

原创 年轻程序员如何规划自己的职业道路,不断提升能力

我是一个有10多年从业经验的程序员,现在事业还不算成功,还是在一线上做开发,拿着一份稳定、待遇还算不错的收入。从毕业到现在自己事业上经历了很多波折,自己也有些感悟,希望向那些年轻的程序员分享下经验之谈,对后辈提供一些建议。1. 做软件开发,程序员最关注的一点是如何提高自己的技术能力,其实,答案概括起来就是基础+实践,这里我要强调的是基础。很多入行的人忽略了一点:大学里学的专业课程其实对以后的工...

2019-11-04 12:40:04 737

原创 Java/PHP/C#等语言如何调用ffmpeg/ffprobe获取音视频文件的信息并输出为JSON格式

我的这篇博文用FFmpeg获取视频流+音频流的信息(编码格式、分辨率、帧率、播放时长...)描述了用C++的方法调用FFmpeg API获得视音频文件的信息,但是如果你用其他语言:比如Java/PHP/C#等解释性语言开发的,虽然也可以通过一些转换好的库接口(比如JavaCV、Jave)间接调用FFmpeg,但是调用API的形式毕竟不大方便,特别是对FFmpeg API不熟悉的朋友。其实,通过命令...

2019-11-02 16:47:01 3374 1

原创 使用Librtmp收流,接收H264 + AAC(附代码)

用librtmp接收H264+AAC的例子代码网上参考资源比较少,这份代码来自www.cnblogs.com的某个博客,但是已经找不到原链接了。把代码附上,帮助各位网友在开发时少走些弯路。//////////////////////////////////////////////////////////#include "librtmp/rtmp_sys.h"#include "lib...

2019-10-28 16:50:05 1355 1

原创 使用librtmp接收数据时要注意的问题

(这篇博文的完整代码在我的另一篇博文《使用Librtmp接收H264 + AAC》)librtmp是一个RTMP的开源库,很多地方用它来做推流、拉流。它是RTMPDump开源软件里的一部分,librtmp的下载地址:http://rtmpdump.mplayerhq.hu/,目前最新版是V2.3。librtmp如何使用在很多博客已经有介绍,雷神的博客也有几个相关的例子介绍其使用,这里就不多说,...

2019-10-28 13:57:36 1749 2

原创 FFmpeg采集摄像头图像并推流(RTSP/RTMP)---开发总结

我的一篇博文《如何用FFmpeg API采集摄像头视频和麦克风音频。。。》已经介绍了如何从视音频采集设备获取数据,并且编码、保存文件到本地。但是,有些应用并不是把流保存成文件,而是需要发送到网络的,比如现在很典型的一种应用场景:把流推送到RTSP、RTMP、HLS服务器,由服务器转发给其他用户观看。很多开发者也是调用FFmpeg API来实现推流的,用FFmpeg 做一个推流器很简单,调用流程跟输...

2019-10-28 09:56:24 32501 12

原创 Direct3D初始化失败的原因

有些开发员在用D3D库开发时经常遇到初始化失败的问题,我把几个常见的原因归纳一下:1. 系统没有安装显卡驱动,刚装的系统使用的是默认的驱动,是不支持D3D加速的,这个务必要检查一下。2. 没有调用CoInitialize加载COM库,虽然在Win7或以上版本,不调用这一句程序也能正常初始化D3D,但是如果在WinXP或旧版系统,就不一定了。所以最好还是在程序启动的时候调用CoInitial...

2019-10-26 09:43:59 11584

原创 用Direct3D实现一个图片浏览器(支持多图层显示、图层拖动、旋转)

Direct3D技术在图像处理、游戏开发等领域用得非常广泛,这里给大家讲解怎么用Direct3D API开发一个简单的图片浏览器。这个图片浏览器的功能有:图像显示,在视图区拖动图层、改变图层大小、图层旋转。先提醒一下,阅读该篇文章的读者最好具有一点D3D的开发基础,因为这篇文章不会讲Directshow的基础知识。如果你完全没有学过Direct3D,建议先学习一下一些Direct3D的入门教程(比...

2019-10-25 22:39:29 1498

原创 使用Direct3D实现如幻灯片的动态图片切换效果

上一篇文章演示了如何用GDI技术实现图片切换效果,这一篇文章给大家讲解怎么用Direct3D API实现图片动画效果。一、Direct3D概述Direct3D是Microsoft的DirectX软件开发包的组件,是微软公司开发的3D图形函数库,目前已经发展到D3D11。它的任务是向具有设备无关性的三维视频显示设备提供设备相关的访问。简单地说,Direct3D是三维硬件的一个绘图接口。Dir...

2019-10-25 12:18:17 1127

原创 VC++开发的程序在部署时无法运行的问题

有时候,用VC++开发的程序在自己的系统上运行得好好的,但是一旦放到别的WIN系统上运行就失败,一般提示无法加载某个DLL或缺少什么运行时库。这个问题很多Windows的程序员都遇到过,我把常见的几个原因总结出来,希望对各位读者在解决类似问题时有用。1. 程序依赖了某些动态库,而这些DLL不一定在其他系统中已安装,这是最常见的一个原因。如果你的程序是用MFC开发的,要特别注意一个工程设置的问题...

2019-10-18 09:41:29 1495

原创 实现如幻灯片般的漂亮的图片切换特效

大家对PowerPoint的幻灯片特效一定不陌生,还有Windows系统的屏保模式所展现的一张张漂亮动态的图片效果(走马灯特效),这些效果十分吸引人,在很多广告播放器中都经常用到。这一节我就给大家展现一个例子,讲解如何利用GDI/GDI+ API实现图片切换特效的。 先亮一下这个例子的界面: 这个例子部分代码参考了电子工业出版社出版的《Visual C++...

2019-10-17 21:11:27 1106

原创 DirectShow播放器(LAVFilter + EVR)开发例子

LAVFilter是一套著名的DirectShow插件,包括Demux,Video Decoder,AudioDecoder,播放文件所需要的几个重要插件都包含进去了,并且支持播放的视音频格式非常广泛,FFmpeg支持的它几乎都支持(因为它底层是调用FFmpeg)。LAVFilter是我们开发Directshow播放器必不可少的插件,值的一提的是它既支持软解又支持硬解,功能非常强大。在Vista以...

2019-10-17 18:18:10 3009

原创 如何写Directshow Render Filter并实现视频渲染、叠加字幕和位图功能

在播放器上叠加字幕或位图(Logo)是一个很常见的需求,现在很多播放器都支持该功能。播放器开发目前可基于框架的有很多,比如MPlayer,gstreamer,Directshow,而这篇教程就是讲解怎么在Directshow播放器上叠加字幕和Logo的,如果你不是从事Directshow开发的程序员或根本不熟悉Directshow,那可以绕路了。叠加字幕或图标一般分两种应用:一种是在显...

2019-10-14 13:59:02 1815

原创 利用FFmpeg API进行字符叠加和加水印

前面两篇文章详细讲解了怎么叠加字幕和Logo,但是这两篇的例子主要是针对Windows平台的,用到大量Windows API,一些非Windows程序员想要移植到其他平台(如Linux、Android)可能还要费一番功夫。要在其他平台进行叠加字幕和Logo有什么比较通用的方案呢?其实FFmpeg已经集成了一个加水印滤镜功能,用跨平台的FFmpeg能够帮助我们轻松实现该功能。废话少说,先看看加水...

2019-10-14 13:55:12 4714 1

原创 怎么在视频上叠加字幕和Logo--技术实现2

上一篇博文介绍了渲染时叠加字幕的技术实现方法,而这一篇给大家讲解怎么用修改视频像素的方法叠加字幕和Logo。下面我把叠加字幕和Logo都统称为叠加OSD。图像有分YUV和RGB格式,每个像素都有一个坐标和地址,我们要在图像指定地方叠加OSD,其实就是修改这些地方某些像素的像素值。叠加字幕原理简单描述就是:在视频图像上指定位置的像素值用OSD前景的颜色值代替。什么是OSD前景颜色?对字幕来说,前...

2019-10-14 11:50:47 3415 1

原创 怎么在视频上叠加字幕和Logo--技术实现1

这篇文章我给大家讲解的这种字幕叠加和Logo叠加方法是在渲染视频的时候“画“上去的,其实是通过某种API将OSD和Logo绘制到显卡缓存,然后提交缓存到屏幕。我们知道渲染视频有几种常用的API:GDI,DirectDraw,D3D,OpenGL,SDL,其中SDL库是对前面几种API在不同平台上的封装,是一个大集合。我给大家演示的例子是针对Windows平台的,一般在Windows平台上我们会用...

2019-10-14 00:02:14 3329

原创 怎么在视频上叠加字幕和Logo--开题篇

视频叠加字幕和图标(在某些地方也叫叠加OSD)在很多场合都很有用,比如电视台在直播的节目上叠加台标;美女主播在直播时在视频上加上自己喜爱的饰物或大头贴以增加娱乐的气氛;电影播放时在视频下方显示中英文字幕。正因为叠加字幕和图标的技术用得比较广,在我们日常工作中可能经常被用到,所以我们作为程序员有必要掌握这种技术。一般地,视频制作、处理和发布的流程为:采集、编码、保存为文件,然后分享,而...

2019-10-14 00:01:52 2207 1

原创 查看视频文件格式信息的工具--MediaInfo

MediaInfo是一个用来分析视频和音频文件编码和内容信息的工具。免费开源,支持众多视频和音频文件格式,具有树状结构、文本、XML、网页等多种查看方式,信息可导出为文本,CSV,HTML等文件。该工具非常好用,可以验证保存的视频文件的格式是否合法,可以帮助开发者了解文件的详细信息。下面是该工具的一些截图:使用方法:这个工具是集成到Windows资源管理器的,要查看一个媒体文件...

2019-01-31 11:49:49 13839

原创 VLC接收RTP流的SDP文件写法

接收RTP流我们经常用VLC来进行测试,但是对于RTP,如果直接在VLC的网络协议框输入RTP地址来播放是播放不了的,如下图,会提示"SDP required"的错误信息。因为VLC打开RTP流需要一个SDP文件,SDP文件定义了流的一些信息比如视频编码格式,帧率,接收端的IP、端口号等。关于SDP文件的格式网上有详细的介绍,这里就不作详细说明了。反正,打开一个流,播放器需要根据SDP...

2019-01-31 11:28:28 8190 1

原创 使用FFmpeg命令行进行UDP、RTP推流(H264、TS),ffplay接收

我们在开发网络程序时经常用到UDP或RTP来发送和接收流媒体,而开发程序完毕需要搭建一个环境测试,这时候可能你需要一个推流端或接收端。对于推流端,我们可以借助FFmpeg工具轻松完成该功能,只需要敲一条命令后就可以实现发流,并且支持多种网络协议(UDP/RTP/RTSP/RTMP)。而接收端我们可以使用ffplay,这个程序也是在FFmpeg工具包的Bin目录里面。大家可以根据自己需要使用这两个工...

2019-01-31 10:43:56 220446 8

原创 如何发送和接收RTP封包的H264,用FFmpeg解码

这篇文章给大家介绍怎么打包H264分片到RTP包,并且实现一个播放程序演示接收RTP包和用FFmpeg解码。为了让大家更了解H264打包成RTP的细节,有必要罗嗦一下向大家介绍一些相关的基础知识,下面分三节介绍,其中前面两节是基础知识,第三节重点讲解怎么实现RTP包的发送和接收,以及怎么用FFmpeg解码显示。一、H264的组成结构H264以NALU(NALunit)为单位来支持编码数据在...

2019-01-16 18:10:06 11294 3

原创 如何发送和接收RTP包,用FFmpeg分离、解码

RTP是网络上进行流媒体传输的一种常用协议,现在有很多封装RTP协议的开源库,比如:ortp, jrtplib,而其中最有名的要数jrtplib,本文给大家演示怎么用jrtplib开发一个带RTP发送和接收功能的应用程序,但这篇文章不会讲述jrtplib的基本用法知识,如果你要了解更多关于这个库的用法,可以参考这篇文章:http://www.cnblogs.com/yuweifeng/p/755...

2019-01-16 12:07:38 13139 5

原创 如何使用jrtplib进行RTP发送和接收

RTP 协议是目前流媒体实时传输用得最广的一种协议,大家在开发用到RTP协议的程序时,可能会考虑使用一些开放源代码的RTP库,比如大名鼎鼎的JRTPLIB。 JRTPLIB是一个面向对象的RTP库,它完全遵循RFC 1889设计,在很多场合下是一个非常不错的选择,JRTPLIB 是一个用C++语言实现的RTP库,目前已经可以运行在Windows、Linux、FreeBSD、Solaris、Unix...

2019-01-15 18:41:32 3666 1

原创 用FFmpeg实现的RTMP接收类

      现在很多直播都用到RTMP来传输,而接收RTMP用FFmpeg比较常见(当然也有用其他库的)。FFmpeg对RTMP接收有比较完善实现了,API使用方法也很简单,大多数流程跟文件流处理一样,但是一些区别的地方。下面大概说一下用FFmpeg怎么实现RTMP接收功能,后面再附上封装类的代码。1.  初始化和打开流。 这是第一步要做的工作,打开了流后才能往下接收数据,打开流需要调用F...

2019-01-10 10:36:23 3607

原创 如何枚举系统的视音频采集设备

    用Directshow SDK很容易实现该功能,但是开发者必须了解Directshow SDK的一些基础知识,对于不了解Directshow的开发员就有点头疼了。为了更方便他们开发,我封装了一个动态库,可以枚举系统的视音频采集设备(仅支持Windows系统),动态库使用非常简单,因为只有一个接口://枚举指定类型的所有采集设备的名称ENUMDEVICE_API HRESULT Enu...

2019-01-09 18:34:56 1751 1

原创 Android平台使用MediaCodec压缩摄像头图像时设置码率无效或码率偏差很大的问题解决

Android从4.1系统开始,引进了MediaCodec API,支持对图像进行硬编码,但很多读者刚开始使用这套API遇到很多问题,特别是不知道如何正确设置编码器的参数。设置MediaCodec编码器涉及如下几个重要的参数:码率模式(固定码率、可变码率),码率,帧率、I帧间隔,H264的Profile和Level,下面是一段初始化参数的代码: public AvcEncode(int wi...

2018-07-21 16:43:27 17163 5

原创 Android平台采集摄像头图像和使用MediaCodec硬编码的例子详解

很多Android系统上的应用需要采集摄像头图像,并把图像编码成某种格式(比如H264),保存成文件或发送到网络。虽然有FFmpeg可以实现编码的功能,但是使用软编码一方面比较耗电,另一方面,对于CPU性能不是太强的ARM设备来说,软件编码肯定很占CPU资源,有些旧的机器甚至一编码就卡机。从Android 4.1系统起,引进了MediaCodec API,可以实现硬编码的功能,这解决了广大程序员编...

2018-07-21 16:20:10 4641

转载 ffmpeg,ffplay在windows下的编译

      由于FFMpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译。要想使用FFMpeg,最先要解决的问题就是在Windows下配置一个类似Linux的编译环境,将FFMpeg编译为二进制库以后,再利用其进行进一步开发。  MSVC++并不严格的遵循C标准,所以整个编译过程必须使用MSy...

2018-03-03 12:05:01 3347

转载 RTSP - RTP over TCP

原文链接:http://www.cnblogs.com/lidabo/p/4483497.htmlNormally, RTSP provide streaming over UDP. By nature, UDP is a better choice as it provides robust streaming capability for media. However, it is unlik...

2018-02-26 18:50:23 313 1

转载 rtsp摘要认证协议流程

1. rtsp摘要认证协议流程RTSP协议,全称Real Time Streaming Protocol,是应用层的协议,它主要实现的功能是传输并控制具有实时特性的媒体流,如音频(Audio)和视频(Video)。Rtsp认证主要分为两种:基本认证(basic authentication)和摘要认证( digest authentication )。基本认证是http 1.0提出的认证方案,其消...

2018-02-26 10:41:12 2797 1

转载 RTSP常用命令解释

1. RTSP的常用命令与解释       其中C是客户端,S是服务端。1.1  OPTIONS       C->S:       OPTION request //询问S有哪些方法可用       S->C:       OPTION response //S回应信息中包括提供的所有可用方法      使用举例:      客户端到服务端: OPTIONS rtsp://218.2...

2018-02-26 10:03:09 3824

转载 关于RTP时间戳及多媒体通信同步的问题

原文链接:http://www.rosoo.net/a/201101/10776.html 多媒体通信同步方法,主要有时间戳同步法、同步标记法、多路复用同步法三种。下面主要讨论时间戳同步法,特别是RTP时间戳同步。内容包括RTP媒体间同步的实现,为什么需要RTCP的NTP时间来实现媒体间同步?没有RTCP,能实现RTP媒体间的同步吗?DirectShow时间戳和RTP时间戳的区别,MPEG...

2018-02-26 09:43:11 978

原创 如何用Directshow采集摄像头图像

      很多人接触Directshow都是从采集摄像头开始的,因为用Directshow做采集是Windows平台上最通用、最成熟的做法。 现在市场上大多数的摄像头和采集卡在Windows系统上的驱动基于WDM架构,微软定义了采集卡设备与上层程序间的通信驱动接口,这已经成为一种标准,因此,控制摄像头和采集图像基本都通过Directshow框架来实现。VLC,FFmpeg等软件支持采集摄像头图像...

2018-02-25 17:50:00 13934 10

原创 一个虚拟摄像头Filter(Virtual Cam Capture Filter)

当我们运行一些多媒体程序或者OpenCV的例子的时候,经常要用摄像头作为输入源,但是并不是每个用户电脑上都装了USB摄像头,那怎么办呢?可以在你系统上安装一个虚拟摄像头的Directshow插件,那么你系统上就多了一个“摄像头”了,但是实际上它不是物理摄像头,只是模拟摄像头设备可以采集图像。我的资源里提供了一个虚拟摄像头的代码,大家可以试用一下,下载地址:http://download.csd...

2018-02-25 14:54:31 27996 14

使用FFmpeg API实现的RTMP接收类

基于FFmpeg实现的RTMP接收类,已经在项目中经过验证,完全可用。

2019-01-09

代码例子:如何用FFmpeg读取内存的PS/TS流,分离出视频和音频

演示如何用FFmpeg读取内存的PS/TS流,分离出视频和音频,用VC2008编译的,支持读取TS文件或PS文件到内存,支持分离、解码

2018-12-08

Android采集摄像头图像--MediaCodec编码

支持从摄像头采集图像,并用MediaCodec API进行硬编码,编码后的数据保存到一个H264文件。这个例子也支持软编码,使用的是FFmpeg。

2018-07-21

Directshow采集摄像头(或其他采集卡)图像的封装类

一个老外写的Directshow采集卡封装类,代码写得比较完善

2018-02-25

DirectX 9 SDK的安装包,包含DirectShow

Directshow SDK,包含DirectShow的SDK 文件, Samples例子,还有一个编译步骤

2018-02-25

FFmpeg + Directsound实现的音频播放器,只支持Windows系统

用FFmpeg解码音频文件,支持非常多的音频文件格式,音频输出用DirectSound,支持Seek播放,有播放进度显示。

2018-02-25

基于Directshow技术播放音频,带歌词显示功能的音乐播放器

用MFC开发的音乐播放器,带歌词显示,使用Directshow播放音频。

2018-02-24

一个基于FFmpeg实现的音频播放器,只支持Windows系统

一个FFmpeg实现播放音频的播放器,基于别人的代码改的,播放音频用WaveForm API,界面用Win32做的,能显示播放的进度。

2018-02-24

基于Directshow的万能格式播放器

一个基于Directshow的文件播放器,Filter插件是用大名鼎鼎的LAVSplitters,可以播放常见的文件格式。

2018-02-23

一个分离PS和TS流的动态库,带一个播放器Demo

可以从PS或TS文件中分离出音频和视频,也支持从内存读数据。里面有SDK的头文件和LIB库,并且有一个演示的例子

2018-02-23

Direct3D技术实现的图片浏览器V1.2

一个用Direct3D技术渲染的图像浏览器,支持图像旋转,图像放大,比例调整,还支持动画特效。

2018-02-18

基于Live555的RTSP服务器V1.2,视频源为摄像头

基于Live555写的RTSP服务器,有图形界面,支持采集USB摄像头的视频和麦克风的音频,支持编码参数设置。修改了上一版本的几个Bug。

2018-02-18

使用FFmpeg采集摄像头图像和麦克风音频

使用FFmpeg API采集摄像头图像和麦克风音频,支持图像预览,把图像和音频编码后保存成文件,实现视音频同步机制。为更好理解代码,请阅读我博客上相关的一篇文章:https://blog.csdn.net/zhoubotong2012/article/details/79338093

2018-02-15

VC的虚拟列表控件的用法

实现了一个基于MFC的虚拟列表控件,选择目录路径后,显示目录里的所有文件,该控件采用回调方式获取每一行ListItem的数据,显示到哪一页就加载哪一页的数据。用虚拟列表控件显示效率很高,可显示上万条的记录。

2018-02-08

用GDI+实现图片透明度变化的效果

实现图片淡入淡出效果,主要用了GDI++的AlphaBlend函数。

2018-02-08

播放器经典实现例子

Windows平台的播放器例子,实现了一个很好的播放器框架,简单易懂。

2018-02-08

Direct3D技术实现的图片动画效果

一个用Direct3D技术渲染的图像浏览器,支持图像旋转,图像放大,比例调整,还有支持多种动画特效。

2018-02-08

VC2008运行时库

VC2008的运行时库,某些VC2008编译的以MFC动态链接的EXE需要装这个库。

2018-02-06

Directshow SDK包(无须安装)

微软的Directshow SDK包,解压后把Include和Lib目录添加到工程路径。

2018-02-06

LAVSplitters---Directshow分离器和解码器Filter

世界上最好的Directshow分离器和解码器插件,目前开源播放器MPC也是调用这个的。

2018-02-06

VirtualCamConfig.rar

该工具是我写的虚拟摄像头Filter的配置工具,用来配置视频文件路径和帧率,详情请浏览网页:https://blog.csdn.net/zhoubotong2012/article/details/79368648

2019-12-24

Android摄像头获取图像_FFmpeg软编

实现如下功能: 在Android系统上采集摄像头图像,然后将图像压缩成H264,支持两种方式压缩:1. FFmpeg软编方式;2.调用MediaCodec硬件编码。压缩输出的流保存成文件。我博客上有一篇相关的文章:https://blog.csdn.net/zhoubotong2012/article/details/81144708

2019-11-25

OpenCV输出的图像嵌入显示到控件窗口中--TestCVShow(GDI && SDL).zip

默认OpenCV是采用弹出窗口的方式来显示图像的,而很多情况下我们需要将采集出来的图像用内嵌或子窗口方式显示到我们自己的软件窗口中。这个程序就是实现这样的功能:将OpenCV采集出来的图像帧内嵌显示到MFC的窗口中。分别采用了两种方法显示图像:一种是用GDI(仅支持Windows),另外一种用跨平台的SDL库。

2019-11-19

MPEG-PS/TS流实时流播放器例子--PsAndTsPlayer_V1.3.zip

该播放器支持PS/TS流读取,支持从文件读取或从内存读取,支持从网络(用UDP)接收到PS/TS流,然后送到SDK 缓冲区进行读取和解析。有拆包、分离ES帧、解码视频ES帧的功能。下载前请阅读我博客上的文章:https://blog.csdn.net/zhoubotong2012/article/details/79354950

2019-11-12

FFmpeg API读取视音频文件信息的一个工具----MediaFileInfoList.zip

一个含界面窗口的程序,调用FFmpeg API读取视音频文件信息(MP4、AVI、MKV...),可以读取文件播放时长、码率、视音频编码格式,视频分辨率,帧率,音频属性等信息。

2019-10-27

使用Direct3D技术实现的一个图片浏览器---ImageTex_2.1.zip

利用Direct3D实现的一个简单的图片浏览器,支持打开PNG、BMP、JPG文件,可以加载2个图层,支持对图层进行旋转、放大、改变图层大小等。

2019-10-24

使用Direct3D实现如幻灯片的动态图片切换效果---SlideShowD3D

支持3种图像切换特效(淡入淡出、水平扫描、百叶窗),利用Direct3D进行画图。

2019-10-24

Directshow播放文件封装类---VideoPlayGraph(evr).zip

DirectShow播放器构建FilterGraph播放文件的封装类,调用的Filters是LAV,支持连接VMR或EVR,支持设置解码模式为软解,硬解。

2019-10-17

SimplePlayer(DShow).zip

该播放器基于Directshow框架,调用的解码器来自于开源的LAVFilters。支持的所有常见的多媒体格式播放。

2019-10-17

SlideShow.zip--实现图片切换特效(如幻灯片效果)

SlideShow-- 实现多达11种图像切换特效(包括向上扫描,向左扫描,马赛克,水平栅条,淡入淡出等),利用GDI+进行画图。

2019-10-12

FFmpeg的加水印滤镜例子(有图形界面) ---ffmpeg_filter_mix_logo

ffmpeg_filter_mix_logo -- 在视频上叠加OSD文字或Logo图标,用到了FFmpeg的加水印滤镜。

2019-10-12

在视频上叠加OSD文字和Logo图标---SubtitleMixVideo

SubtitleMixVideo -- 在视频上叠加OSD文字和Logo图标,通过在原图像上修改像素的方法进行叠加,支持多种图像格式(RGB565/RGB555/RGB24/RGB32),可叠加多个OSD区域。

2019-10-12

在视频上叠加OSD文字和Logo图标--ShowVideoWithOSD

ShowVideoWithOSD -- 在视频上叠加OSD文字和Logo图标,采用渲染时叠加的方法,用到Directdraw API。

2019-10-12

Directshow渲染器Filter上叠加字幕和Logo--FileStreamDecode(Directshow)

FileStreamDecode(Directshow) -- 本例子基于Directshow框架,实现了一个自定义的Renderer Filter,带渲染视频功能,并且可以在视频上叠加OSD文字和Logo图标,用到Directdraw API渲染视频和叠加字幕。

2019-10-12

虚拟摄像头Filter代码--VirtualCamFilter_1.2

安装了这个Dshow插件之后,在系统中就模拟出一个虚拟的视频采集设备,使用Directshow的枚举视频设备方法能枚举出来。这个插件输出的图像是一个已知的视频文件解码出来的图像,需要通过一个工具配置输入的视频媒体文件路径,安装包中带着个工具。

2019-06-06

使用jrtplib发送和接收的例子--PlayStream V1.2

基于jrtplib实现了RTP发送和接收功能,支持发送H264、PS、TS等文件流,接收端读取发送端发来的数据后,取Payload数据,通过FFmpeg分离、解码出视频,将RGB格式的视频在窗口中显示。 了解更多内容请参阅我博客上的相关文章:https://blog.csdn.net/zhoubotong2012/article/category/7467116

2019-01-29

使用jrtplib发送和接收网络流(支持解码、播放)

基于jrtplib实现了RTP发送和接收功能,支持发送H264、PS、TS等文件流,接收端读取发送端发来的数据后,取Payload数据,通过FFmpeg分离、解码出视频,将RGB格式的视频在窗口中显示。该代码对应我博客上的一篇文章:https://blog.csdn.net/zhoubotong2012/article/details/86502327

2019-01-15

使用RTP协议发送和接收H264的例子(支持解码、播放)

MFC实现的窗口程序,集成了发送和接收RTP包的功能,接收到的视频用FFmpeg解码并显示出来。该例子代码对应我博客上的一篇文章:https://blog.csdn.net/zhoubotong2012/article/details/86510032

2019-01-15

jrtplib-3.11.1 实现RTP收发功能的静态库

JRTPLIB 是一个用C++语言实现的RTP库,目前已经可以运行在Windows、Linux、FreeBSD、Solaris、Unix和 VxWorks等多种操作系统上

2019-01-15

如何枚举系统的视音频采集设备

如何用Directshow API枚举系统的视音频采集设备,这是一个动态库,提供了一个接口获取系统所有的采集设备名称。

2019-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除