windows ffmpeg 推送摄像头数据到rtmp服务

windows ffmpeg 推送摄像头数据到rtmp服务

文本主要讲述windows系统下如何利用ffmpeg获取摄像机流并推送到rtmp服务,命令的用法前文

中有讲到过,这次是通过代码来实现。实现该项功能的基本流程如下:

                 图1 ffmpeg推流流程图

较前面的文章的流程图而言,本流程图显的复杂些,稍微解释下:

ffmpeg 打开摄像头跟打开普通的视频流方法一致,只是输入url是摄像头的名称。真正打开

摄像头操作由dshow来完成,ffmpeg只是调用dshow相应的接口获取返回值;读取packet

的API 依然是av_read_frame,返回的packet并不是编码后的视频包而是原始的图片帧,图片

帧的格式是YUV422(我测试的机器是这样的)。拿到图片帧后并不能直接编码,需要做格式转换

因为libx264不支持YUV422,所以有了上图中的格式转换这一环节。转换图片帧格式后将视频数据

丢给编码器就行编码,编码的packet才可以写到输出流中。

https://www.cnblogs.com/wanggang123/p/6133212.html

猜你喜欢

转载自blog.csdn.net/az44yao/article/details/94055148