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

来源:互联网 发布:c语言如何生成exe文件 编辑:程序博客网 时间:2024/05/21 21:03

FROM:http://www.cuplayer.com/player/PlayerCode/RTSP/2014/0706/1414.html


1.一、问题描述

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

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

2.二、实现方法

  1. 编辑FFserver配置文件,参考官网配置文件说明(ffserver.conf)
    Port 8090                       #绑定端口号BindAddress 0.0.0.0             #绑定ipMaxHTTPConnections 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>

     

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

     

  3. 启动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的监听地址和端口

     

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

3.参考链接:

FFserver官方文档:1. ffserver tool and FFmpeg components  2. 配置文件示例


0 0
原创粉丝点击