很多人想做基于live555的webcam实时视频传输.在linux下操作webcam有V4L架构.在windows下有两种选择:vfw和directshow.但directshow的架构很独立,你如果想用它,就得做一个能打包rtp发送的render filter,想利用live555架构不是不可以,但是麻烦.所以vfw是最好的选择.
本文分析ffmpeg的vfwcap的实现,同时也帮助了解ffmpeg的架构和inputdevice的写法.
要实现一个input device,首先要实作一个结构:
AVInputFormat ff_vfwcap_demuxer = {
.name = "vfwcap",
.long_name = NULL_IF_CONFIG_SMALL("VfW video capture"),
.priv_data_size = sizeof(struct vfw_ctx),
.read_header = vfw_read_header,
.read_packet = vfw_read_packet,
.read_close = vfw_read_close,
.flags = AVFMT_NOFILE,
.priv_class = &vfw_class,
};
可以看到,input device实际上是一个Input format.这里实现了read header和,read packet和read close函数,分别在input device初始化,读和关闭时被调用.
那么先看一下read header函数:
看注释吧,很全哦。
再看一下读取一帧的函数
VFW回调函数:
分享到:
相关推荐
FFMPEG源码深入解析, 墙裂推荐, 深入理解不容错过. FFMPEG源码深入解析, 墙裂推荐, 深入理解不容错过.
作者裁剪了ffplay, 只留下AVI解码播放, 详细分析了代码结构. 是学习ffmpeg不可多得的好资料. 源码包里有需要的库, 可直接使用vs编译,调试. 目前试过VS2013, 可以编译,调试. 其他版本没试过
ffmpeg源码,用于学习ffmpeg的实现架构和代码分析。
当今所知的最完整的FFMPEG教程。 看完可以完全掌握FFMPEG。 当今所知的最完整的FFMPEG教程。 看完可以完全掌握FFMPEG。
ffmpeg源码
作者裁剪了一下ffplay, 只留下AVI格式解码播放, 详细分析了代码结构, 是学习ffmpeg不可多得的好资料
ffmpeg源码包编译安装过程, 详细讲述了ffmpeg及其相关音视频编解码库的源码编译安装过程
ffmpeg源码和编译版都在包里
文档很详细的对ffmpeg源码进行了讲解,由浅入深,很适合刚接触ffmpeg源码,又不知如何下手的人员
作者共享好资料。点赞!别人要10分,我这儿不要分。免费下。本书深入FFMPEG,详细介绍了FFPLAY播放的流程,以AVI文件为例,从解复用到解码,最后到SDL显示的整个过程,非常有参考价值。
ffmpeg源码优化解码和输出,支持移动端、电脑端各种设备的编译脚本。
ffmpeg源码windows上编译的工具打包,有些工具比较难找,因此在此打包处理
FFMpeg 源码,解决Github访问问题
ffmpeg源码下载 ffmpeg-2.0.2.tar.bz2
ffmpeg源码和相关工具文档ffmpeg源码和相关工具文档ffmpeg源码和相关工具文档ffmpeg源码和相关工具文档ffmpeg源码和相关工具文档
ffmpeg源代码及编译方法,在windows下编译通过并结合媒体栈投入使用,运行稳定
FFmpeg源码,是一个很不错的Android代码,有兴趣的伙伴们抽时间可以看一下把。
ffmpeg源码下载 ( ffmpeg-2.0.2.tar.gz )
FFmpeg是音视频领域的最重要的开源软件,养活了一大票国产播放器(暴风,QQPlayer)
vs编译ffmpeg源码