您的位置:首页 > 其它

[Rtsp]RTSP对实时摄像头视频流进行转换(FFmpeg+FFserver)

2015-04-13 14:17 567 查看
http://www.cuplayer.com/player/PlayerCode/RTSP/2014/0706/1414.html

输入数据为来自摄像头的RTSP视频流,然后利用FFmpeg将其输出到FFserver监听的服务(Feed)上,然后客户端(vlc)可以播放FFserver广播的经过转换后的视频流


1.一、问题描述

输入数据为来自摄像头的RTSP视频流,然后利用FFmpeg将其输出到FFserver监听的服务(Feed)上,然后客户端(vlc)可以播放FFserver广播的经过转换后的视频流(Streams)。

通过FFserver的配置文件来配置视频流的转换参数(帧大小,帧频等)


2.二、实现方法

编辑FFserver配置文件,参考官网配置文件说明(ffserver.conf)
Port 8090                       #绑定端口号
BindAddress 0.0.0.0             #绑定ip
MaxHTTPConnections 2000         #最大HTTP连接数
MaxClients 1000                 #最大客户端连接数
MaxBandwidth 1000               #最大带宽
CustomLog -                     #日志文件,“-”为直接打印
NoDaemon                        #默认全局参数

<Feed feed1.ffm>                #Feed:每一个输入(摄像头)建立一个Feed
File /tmp/feed1.ffm             #Feed缓存文件
FileMaxSize 200K                #缓存文件最大值
ACL allow 127.0.0.1             #允许写入Feed的ip
</Feed>

<Stream test.flv>               #Stream:每一个广播(转换后的视频流)的转码设置项目
Format flv                      #视频流格式
Feed feed1.ffm                  #视频流的种子来源
VideoFrameRate 40               #视频帧频
VideoBitRate 128                #视频比特率
VideoSize 160x80                #视频帧大小
AVOptionVideo flags +global_header
AudioBitRate 24                 #音频比特率
AudioChannels 1                 #音频声道
AudioSampleRate 44100
AVOptionAudio flags +global_header
</Stream>


启动FFserver,终端输入命令:
ffserver -f ffserver.conf


启动FFmpeg,终端输入命令:
ffmpeg -i rtsp://192.168.1.111:8000/?videoCodecType=H.264 http://localhost:8090/feed1.ffm 
#-i:为输入参数选项
#rtsp://192.168……:为输入的RTSP视频流
#http://localho……:为FFserver配置文件中设置的Feed的监听地址和端口


打开客户端(vlc)请求视频流地址:打开vlc–>File–>OpenNetwork–>URL中填写 “http://localhost:8090/test.flv”–>Open (地址为FFserver配置文件中Stream项的名字)


3.参考链接:

FFserver官方文档:1. ffserver tool and FFmpeg components 2. 配置文件示例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: