分享

[Rtsp]RTSP视频流实时进行转换基于FFmpeg与FFserver实现

 看见就非常 2015-05-25

1.一、问题描述

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

通过FFserver的配置文件来配置视频流的转换参数(帧大小,帧频等)
2.二、实现方法

编辑FFserver配置文件,参考官网配置文件说明(ffserver.conf)

  1. Port 8090                       #绑定端口号 
  2. BindAddress 0.0.0.0             #绑定ip 
  3. MaxHTTPConnections 2000         #最大HTTP连接数 
  4. MaxClients 1000                 #最大客户端连接数 
  5. MaxBandwidth 1000               #最大带宽 
  6. CustomLog -                     #日志文件,“-”为直接打印 
  7. NoDaemon                        #默认全局参数 
  8.  
  9. <Feed feed1.ffm>                #Feed:每一个输入(摄像头)建立一个Feed 
  10.     File /tmp/feed1.ffm             #Feed缓存文件 
  11.     FileMaxSize 200K                #缓存文件最大值 
  12.     ACL allow 127.0.0.1             #允许写入Feed的ip 
  13. </Feed> 
  14.  
  15. <Stream test.flv>               #Stream:每一个广播(转换后的视频流)的转码设置项目 
  16.     Format flv                      #视频流格式 
  17.     Feed feed1.ffm                  #视频流的种子来源 
  18.     VideoFrameRate 40               #视频帧频 
  19.     VideoBitRate 128                #视频比特率 
  20.     VideoSize 160x80                #视频帧大小 
  21.     AVOptionVideo flags +global_header 
  22.     AudioBitRate 24                 #音频比特率 
  23.     AudioChannels 1                 #音频声道 
  24.     AudioSampleRate 44100 
  25.     AVOptionAudio flags +global_header 
  26. </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项的名字)
  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多