- 博客(23)
- 资源 (49)
- 收藏
- 关注
转载 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 336 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 2942 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 3910
转载 关于RTP时间戳及多媒体通信同步的问题
原文链接:http://www.rosoo.net/a/201101/10776.html 多媒体通信同步方法,主要有时间戳同步法、同步标记法、多路复用同步法三种。下面主要讨论时间戳同步法,特别是RTP时间戳同步。内容包括RTP媒体间同步的实现,为什么需要RTCP的NTP时间来实现媒体间同步?没有RTCP,能实现RTP媒体间的同步吗?DirectShow时间戳和RTP时间戳的区别,MPEG...
2018-02-26 09:43:11 1001
原创 如何用Directshow采集摄像头图像
很多人接触Directshow都是从采集摄像头开始的,因为用Directshow做采集是Windows平台上最通用、最成熟的做法。 现在市场上大多数的摄像头和采集卡在Windows系统上的驱动基于WDM架构,微软定义了采集卡设备与上层程序间的通信驱动接口,这已经成为一种标准,因此,控制摄像头和采集图像基本都通过Directshow框架来实现。VLC,FFmpeg等软件支持采集摄像头图像...
2018-02-25 17:50:00 14242 10
原创 一个虚拟摄像头Filter(Virtual Cam Capture Filter)
当我们运行一些多媒体程序或者OpenCV的例子的时候,经常要用摄像头作为输入源,但是并不是每个用户电脑上都装了USB摄像头,那怎么办呢?可以在你系统上安装一个虚拟摄像头的Directshow插件,那么你系统上就多了一个“摄像头”了,但是实际上它不是物理摄像头,只是模拟摄像头设备可以采集图像。我的资源里提供了一个虚拟摄像头的代码,大家可以试用一下,下载地址:http://download.csd...
2018-02-25 14:54:31 28199 14
原创 如何用FFmpeg+Win32实现一个简单的音频播放器
这个音频播放器是别人写的,我看到代码结构比较清晰,代码量比较精简,所以就拿来作为一个例子给大家讲解一下。这个播放器的界面是用Win32开发的,界面很简单,上面是菜单栏,下面是一个播放进度条,界面截图如下: 这个播放器使用FFmpeg来解析音频文件格式和解码音频,播放音频用到了DirectSound。这里要说一下播放音频的方法,在Windows平台,播放音频的方法有很多,比较常用的是:Dir...
2018-02-25 13:14:25 1353
原创 一个基于Directshow实现的音频播放器,支持歌词显示
之前在VC知识库上下载了一个基于Directshow做的音乐播放器,带歌词显示功能,觉得挺酷的。我下载了代码,编译了工程之后,运行起来的界面效果如下: 这个播放器支持的功能有: 支持播放MP3/AAC/WAV等常见的音频格式; 音乐播放控制(播放、暂停、停止、跳跃播放); 调节音量; 音乐播放过程中同步显示歌词; 歌词的文字颜色和背景色可调,并且可设置滚动方向; 歌词显示支持淡入...
2018-02-24 19:43:35 1310
原创 使用LAV Filter要注意的问题
前面的博文介绍了 LAV Filter 是一款很不错的开源的DirectShow视频分离和解码插件。但是使用时有一些要注意的地方。第一,是怎么注册。LAV Filter的目录下有3个Bat文件,分别运行这3个BAT文件,注册成功会有提示。但是有些用户注册的时候提示报错,是什么原因呢?这个一般是因为你执行命令的权限不够,需要提高到管理员权限运行,方法是:在系统的开始菜单中找到“命令提示符”,然后...
2018-02-24 15:42:59 28755 5
原创 目前最好的DirectShow分离器和解码器: LAV Filter
之前搞Directshow开发经常用到各种Directshow插件,用的比较多的是FFDShow解码器,还有MPC开源项目下那一堆乱七八糟的Filter。对于开发一个播放器来说,用这两个开源项目的Filter还不是很够用,特别是要支持某些比较新的或罕见的多媒体格式时经常缺少相应的分离器,或上网找找不到免费的,而商用的Filter价格又比较高。还有另外一个问题:面对越来越多的多媒体封装格式和编码格式...
2018-02-24 15:04:11 9210 1
原创 使用Directshow + LAVFilter做一个万能格式的多媒体播放器
在Windows平台上做播放器很多人会选择用DirectShow框架,因为Directshow来做播放器流程简单,接口又比较丰富,只要接上Filter,视频解析、解码、渲染、回放以及复杂的音视频同步问题通通由框架去完成,开发者做的工作比较简单。这篇文章就详细给大家讲怎么开发一个DirectShow播放器,并且搭配目前播放器领域最著名的Filter---LAVFilter。微软的Directsh...
2018-02-23 21:30:22 7853
转载 Release模式下加载FFmpeg提示“无法定位程序输入点XXX与动态链接库XXX.dll ”的问题解决
之前遇到一个很奇怪的问题:我的一个程序在Debug模块下运行没问题,而在Release模式下运行报错了,启动程序的时候提示“无法定位程序输入点CoTaskMemFree 于动态链接库avcodec-56.dll”,这个程序引用了FFmpeg的DLL,我开始以为是DLL的问题,但是之前用这些DLL都没有出现错误啊!我检查了编译选项多次也没发现什么问题。后来通过上网搜,终于在一篇博文中找到了答案...
2018-02-23 20:04:43 5468
原创 开发PS/TS流转ES的SDK
一、概述PS和TS流在广播电视、影音制作、安防监控等领域应用得很广泛。其中,PS流很久前就被应用于DVD光盘里的电影格式的封装容器,我们看过的很多DVD格式电影(即VOB)就是用PS容器封装的;PS流最近几年也迅速应用在安防领域,国标GBT 28181标准规定了视音频流通过网络传输要封装为PS格式;而TS流(传输流)则应用于电视直播领域很长一段时间,电视机顶盒接收的节目数据格式就是MPEG2-...
2018-02-23 17:38:55 1127
原创 如何用FFmpeg读取内存的PS/TS流,分离出视频和音频
之前做一个项目遇到一个问题:从网络中收到PS/TS流,需要从中分离出视频和音频,但是FFmpeg只支持标准的几种输入流协议(RTP/HTTP/RTSP/MMS),而我们的协议它不支持,所以就不能够用它来直接做接收。那能否由自己来接收数据然后让FFmpeg读取内存中的数据呢?答案当然是可以的,这就需要用到FFmpeg的探测流格式的功能,主要是用到了两个API: avio_alloc_cont...
2018-02-22 21:14:20 6186 1
原创 如何让FFMPEG生成的MP4文件做到边下载边播放
一般通过FFmpeg生成的MP4文件如果没有经过特殊处理在播放的时候是要下载完整个文件才能播放,但是我们想将文件用于点播,比如放到Darwin RTSP Server的媒体目录里让访问的客户端播放,必须让它支持边下载边播放。将MP4文件转成可以逐渐播放的操作叫做“流化”,那如何对一个MP4文件进行“流化”呢?我们可以借助ffmpeg带的一个命令行工具--qt-faststart。 qt...
2018-02-22 11:46:00 7229 1
原创 新版FFmpeg编解码音频的问题
很多人写的老程序还是用FFmpeg的旧版本,但一升级到新版本就遇到很多问题,首先是某些API不能用了,编译不通过,不过这个问题还是算比较容易解决的,遇到最头疼的一个问题是对音频的处理。以前FFmpeg编码和解码接受的音频格式多数是S16(AV_SAMPLE_FMT_S16),是Packed Format格式,就是左右两个声道是连续排列的,而FFmpeg新版本引进了新的排列格式AV_SA...
2018-02-22 11:32:11 1736
原创 如何用FFmpeg将输出的TS流写到内存
最近需要实现一个功能:利用FFmpeg将编码出来的视频流和音频流混合封装成TS格式,然后通过自定义协议将TS流发送出去。因为发送协议是自己定义的,FFmpeg不支持这种网络协议,不能用它内置的协议。后来发现原来FFmpeg也支持将输出的流回调到给上层去处理,下面简单讲一下实现的流程。 首先,我们按照把流输出到文件的方式来处理,但是有小小的不同,下面是初始化输出流的代码:A...
2018-02-21 20:56:29 5927 7
原创 启动FFmpeg.exe进程完成通过命令行可以实现的功能
FFmpeg的功能很强大,包含编码,解码,各种输入输出格式的处理,但是使用它的API来实现功能有点困难,有没有更简单的方式?通常API能做的功能FFmpeg的官方工具即ffmpeg.exe都已经实现了,我们可以通过命令行直接调用ffmpeg.exe进程来完成。我的博客上跟这个话题相关的一篇文章《Java/PHP/C#等语言如何调用ffmpeg/ffprobe获得视音频文件的信息并输出为...
2018-02-21 19:46:42 8178
原创 降低FFmpeg的解码延时
不知大家有没有发现FFmpeg长时间解码会出现延时增大(特别是在丢包的情况下)?如果在播放本地文件,这个问题是没有影响的。但是如果播放的是实时流,则图像的延时就越来越大。本人是做安防监控的,很多招标项目对解码器的图像延时都有要求:不能高于250毫秒。所以,对实时性要求高的场合,要尽量降低图像的延时。 网络摄像头从采集图像到通过网络传输到客户端解码的过程中都会产生延时,一般延时有...
2018-02-21 14:08:50 10712 3
原创 降低FFmpeg的编码延时
之前用FFmpeg的H264编码器发现编码出来的视频延时很大,在解码器一端优化各种可能产生延时的地方之后,延时还是有一秒,上网一查发现很多人遇到相同的问题,不过好在看到一个帖子给出了这个问题的解决方法。 原来,FFmpeg的H264编码器为了提高编码的图像质量,默认会缓冲多帧图像,这个缓冲帧数跟GOP大小有关。我程序设置GOP等于100,结果缓冲了20多帧。为了降低编码延时,可以添加-p...
2018-02-21 12:27:24 8315
原创 用FFmpeg保存JPEG图片
//函数作用:将解码出来的YUV数据保存成JPG图像//out_file_name -- JPEG图像保存路径//w, h -- 图像宽高//linesize -- 图像的Y分量宽度(一般4字节对齐)//Y, U, V -- 指向图像Y,U,V三个平面的指针//int EncodeAndSaveJPEG(const char* out_file_name, int w, int h, ...
2018-02-21 10:47:19 8401
原创 用FFmpeg获取视频流+音频流的信息(编码格式、分辨率、帧率、播放时长...)
我们经常需要知道一个媒体文件所包含的媒体流的信息,比如文件格式、播放时长、码率、视音频编码格式,视频分辨率,帧率,音频属性等信息。如何使用FFmpeg API获取这些信息呢?下面我会给出一个完善的类,这个类封装了FFmpeg读取文件信息的相关的API,读者只需要调类的方法就可以获得相关的信息。这个类能够读取媒体文件的哪些信息呢?假如我们给出一个媒体文件(MP4,AVI,MKV。。。),里面至少...
2018-02-20 20:15:05 49963 18
原创 如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能
之前一直用Directshow技术采集摄像头数据,但是觉得涉及的细节比较多,要开发者比较了解Directshow的框架知识,学习起来有一点点难度。最近发现很多人问怎么用FFmpeg采集摄像头图像,事实上FFmpeg很早就支持通过DShow获取采集设备(摄像头、麦克风)的数据了,只是网上提供的例子比较少。如果能用FFmpeg实现采集、编码和录制(或推流),那整个实现方案就简化很多,正因为这个...
2018-02-19 22:08:02 57601 50
代码例子:如何用FFmpeg读取内存的PS/TS流,分离出视频和音频
2018-12-08
Android采集摄像头图像--MediaCodec编码
2018-07-21
FFmpeg + Directsound实现的音频播放器,只支持Windows系统
2018-02-25
一个基于FFmpeg实现的音频播放器,只支持Windows系统
2018-02-24
基于Live555的RTSP服务器V1.2,视频源为摄像头
2018-02-18
使用FFmpeg采集摄像头图像和麦克风音频
2018-02-15
VC的虚拟列表控件的用法
2018-02-08
VirtualCamConfig.rar
2019-12-24
Android摄像头获取图像_FFmpeg软编
2019-11-25
OpenCV输出的图像嵌入显示到控件窗口中--TestCVShow(GDI && SDL).zip
2019-11-19
MPEG-PS/TS流实时流播放器例子--PsAndTsPlayer_V1.3.zip
2019-11-12
FFmpeg API读取视音频文件信息的一个工具----MediaFileInfoList.zip
2019-10-27
使用Direct3D技术实现的一个图片浏览器---ImageTex_2.1.zip
2019-10-24
Directshow播放文件封装类---VideoPlayGraph(evr).zip
2019-10-17
SlideShow.zip--实现图片切换特效(如幻灯片效果)
2019-10-12
FFmpeg的加水印滤镜例子(有图形界面) ---ffmpeg_filter_mix_logo
2019-10-12
在视频上叠加OSD文字和Logo图标---SubtitleMixVideo
2019-10-12
在视频上叠加OSD文字和Logo图标--ShowVideoWithOSD
2019-10-12
Directshow渲染器Filter上叠加字幕和Logo--FileStreamDecode(Directshow)
2019-10-12
虚拟摄像头Filter代码--VirtualCamFilter_1.2
2019-06-06
使用jrtplib发送和接收的例子--PlayStream V1.2
2019-01-29
使用jrtplib发送和接收网络流(支持解码、播放)
2019-01-15
使用RTP协议发送和接收H264的例子(支持解码、播放)
2019-01-15
jrtplib-3.11.1 实现RTP收发功能的静态库
2019-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人