码迷,mamicode.com
首页 > 其他好文 > 详细

ffmpeg+ffserver实现摄像头直播

时间:2017-01-17 14:10:14      阅读:4205      评论:0      收藏:0      [点我收藏+]

标签:参数   mon   nbsp   绑定   glob   修改环境变量   res   tsp   日志   

1. 首先, 下载ffmpeg的源码, 编译

先./configure --disable yasm --prefix=/usr/local/ffmpeg

然后make 跟make install

 

2. 修改环境变量

修改/etc/profile文件, 在最后加入

export PATH="/usr/local/ffmpeg/bin:$PATH"

3. 做一个conf文件, 启动ffserver

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 20M                #缓存文件最大值
    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
    NoAudio

</Stream>

 

注意, 这里是NoAudio, 就是没有音频的, 因为是摄像头, 没有带音频.

 

4. 插入摄像头, 并把它连到虚拟机里面, 用dmesg命令可以看到:

......

Linux video capture interface: v2.00
uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0110)
input: USB2.0 Camera as /devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0/input/input5
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v1.0.0)

 

5. 使用ffmpeg命令, 给ffserver喂一个流:

 ffmpeg  -f v4l2 -i /dev/video0 http://127.0.0.1:8090/feed1.ffm

 

6. 最后用vlc或者media player就可以播放http://虚拟机ip:8090/test.flv了.

 

对了, 记得关iptables.

现在的问题是延时非常大.

考虑下一步用rtsp协议.

ffmpeg+ffserver实现摄像头直播

标签:参数   mon   nbsp   绑定   glob   修改环境变量   res   tsp   日志   

原文地址:http://www.cnblogs.com/Montauk/p/6292709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!