视频开发:DShow、OpenCV、FFmpeg
FFmpeg
FFmpeg官网:
下载 Download FFmpeg for Windows:
https://ffmpeg.zeranoe.com/builds/
雷霄骅(leixiaohua1020)的专栏:
http://blog.csdn.net/leixiaohua1020
百度网盘资料:
链接:http://pan.baidu.com/s/1o80QYoy 密码:i5mb
FFmpeg介绍:
FFmpeg是一个集合的库和工具来处理多媒体内容诸如音频、视频、字幕和相关元数据。
图书馆查询系统
libavcodec提供了执行更广泛的范围,用于各种类型声音/图像编解码;
libavformat实现流媒体协议容器格式和基本I/O访问,用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;
libavutil包括hashers、压缩器和杂项功能效用,包含一些公共的工具函数;
libavfilter提供了一种通过改变视频和音频解码的滤波器链。
libavdevice提供一个抽象访问捕获和回放设备。
libswresample实现音频混合和重采样例程。
libswscale执行缩放和色彩转换例程。
工具:
FFmpeg是一种命令行工具操纵、转换和流多媒体内容。
ffplay是一个简约的多媒体播放器。
ffprobe是一个简单的分析工具来检查多媒体内容。
ffserver为多媒体流传输服务器用于实况广播,一个 HTTP 多媒体即时广播串流服务器。
附加等小工具aviocat,ismindex and qt-faststart
其他:
jrtplib
RTP 是目前解决流媒体实时传输问题的最好办法,而JRTPLIB 是一个用C++语言实现的RTP库,包括UDP通讯.
实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议或者RTSP协议)。因为RTP自身具有Time stamp所以在ffmpeg 中被用做一种formate。
RTP协议的详细介绍,请参考这篇文章http://www.360doc.com/content/11/1009/15/496343_154624612.shtml
jrtplib需要使用jthread
- http://research.edm.uhasselt.be/jori/page/Main/HomePage.html
- http://research.edm.uhasselt.be/jori/page/CS/Jrtplib.html
- JRTPLIB 3.11.1 文档
- jrtplib-3.11.1.zip
- https://github.com/j0r1/JRTPLIB
- jrtplib-3.7.1在windows下的编译步骤
jthread
所述包包含jthread和jmutex,(显然)表示一个线程和一个互斥锁。对于类Unix平台上,实现使用的pthread库。在MS-Windows平台,本机Win32线程使用。
emiplib
这个库的目的就是要完成一个多媒体的网络传输库,方便多种媒体在网络上进行传输。
- http://research.edm.uhasselt.be/jori/page/CS/Emiplib.html
- http://research.edm.uhasselt.be/~emiplib/
- https://github.com/j0r1/EMIPLIB
rtmp
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。
MainConcept
对视频进行编解码,安装文件在“第三方安装程序”目录