在NanoPi-NEO上用 ffserver+ffmpeg 实现USB摄像头视频监控
来源:互联网 发布:vmware虚拟机性能优化 编辑:程序博客网 时间:2024/05/16 07:10
关于ffmpeg+ffserver搭建流媒体服务器的文章网上有很多,视频编码基本上都是软编码来实现的。NanoPi-NEO的SoC里集成了Cedrus 视频硬件编码器,利用Cedrus对USB摄像头的数据实现硬件H264编码,可以降低CPU的占用率并大大提高编码速度。
具体步骤如下:
1. 在当前目录下(/home/fa)编制一个ffserver配置文件myffserver.conf文件,内容如下:
#-----------------------------myffserver.conf ------------------------
HTTPPort 8099 #绑定端口号
HTTPBindAddress 0.0.0.0 #绑定ip
MaxHTTPConnections 1000 #最大HTTP连接数
MaxClients 1000 #最大客户端连接数
MaxBandwidth 50000 #最大带宽
CustomLog - #日志文件,“-”为直接打印
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 20M
ACL allow 127.0.0.1
</Feed>
<Stream webcam.flv>
Feed feed1.ffm
Format flv
VideoFrameRate 15
VideoBufferSize 1000
VideoSize 480x320
VideoBitRate 30000
VideoGopSize 12
AVOptionVideo flags +global_header
NoAudio
</Stream>
以上参数可做调整,注意VideoSize和VideoBufferSize等会有关联。
2. 在/home/fa/下建立一个管道文件: mkfifo -m 755 vfifo
3. 编辑一个webcam.sh脚本,内容如下:
ffserver -f /home/fa/myffserver.conf & ffmpeg -i /home/fa/vfifo "http://127.0.0.1:8099/feed1.ffm" &
ffmpeg -re -f v4l2 -i /dev/video0 -pix_fmt nv12 -c:v cedrus264 -an -f flv /home/fa/vfifo
4. 插入usb摄像头,运行webcam.sh 即可开启ffserver的摄像头流服务。在VLC或ffplay等流播放软件
具体步骤如下:
1. 在当前目录下(/home/fa)编制一个ffserver配置文件myffserver.conf文件,内容如下:
#-----------------------------myffserver.conf ------------------------
HTTPPort 8099 #绑定端口号
HTTPBindAddress 0.0.0.0 #绑定ip
MaxHTTPConnections 1000 #最大HTTP连接数
MaxClients 1000 #最大客户端连接数
MaxBandwidth 50000 #最大带宽
CustomLog - #日志文件,“-”为直接打印
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 20M
ACL allow 127.0.0.1
</Feed>
<Stream webcam.flv>
Feed feed1.ffm
Format flv
VideoFrameRate 15
VideoBufferSize 1000
VideoSize 480x320
VideoBitRate 30000
VideoGopSize 12
AVOptionVideo flags +global_header
NoAudio
</Stream>
以上参数可做调整,注意VideoSize和VideoBufferSize等会有关联。
2. 在/home/fa/下建立一个管道文件: mkfifo -m 755 vfifo
3. 编辑一个webcam.sh脚本,内容如下:
ffserver -f /home/fa/myffserver.conf & ffmpeg -i /home/fa/vfifo "http://127.0.0.1:8099/feed1.ffm" &
ffmpeg -re -f v4l2 -i /dev/video0 -pix_fmt nv12 -c:v cedrus264 -an -f flv /home/fa/vfifo
4. 插入usb摄像头,运行webcam.sh 即可开启ffserver的摄像头流服务。在VLC或ffplay等流播放软件
中输入 http://IP:8099/webcam.flv可以播放监控画面.
5. 注意:1。 用vlc播放有10s左右延时. 据称用ffplay观看时延会小很多。
2。 启动webcam.sh后要等一会,直到vfifio缓冲结束,feed开始的时候再连接网络播放器,不然程序会退出。
阅读全文
0 0
- 在NanoPi-NEO上用 ffserver+ffmpeg 实现USB摄像头视频监控
- 在NanoPi-NEO上直接编译 LIVE555
- 在Nanopi-NEO上直接编译带Cedrus-avcodec的ffmpeg
- 在Nanopi-NEO上编译带Cedrus硬件编码器的ffmpeg动态链接库
- 在NanoPi-NEO上试验dts和平台总线机制
- 手机摄像头图像在电脑上显示-实现视频监控
- 在网页上实现大华视频监控摄像头在线
- VB实现USB摄像头视频图像的监控、截图、录像
- 在raspberry上使用USB摄像头做视频采集
- 在树莓派上实现usb摄像头监控的几种方案
- 嵌入式Liux:ffmpeg+ffserver实现音视频通讯
- 采用ffmpeg和ffserver实现音视频直播和点播
- [Rtsp]RTSP对实时摄像头视频流进行转换(FFmpeg+FFserver)
- [Rtsp]RTSP对实时摄像头视频流进行转换(FFmpeg+FFserver)
- 在OPhone上实现视频监控
- 在iPhone上实现视频监控
- 在BlackBerry上实现视频监控
- 在Mac OS上实现视频监控
- 关于jvm优化问题
- 高性能分布式数据库TDSQL
- The SGPANEL procedure 过程的使用
- linux centos 命令行 安装 teamviewers ___yyw合并版
- POJ3292 UVA11105 Semi-prime H-numbers【筛法打表】
- 在NanoPi-NEO上用 ffserver+ffmpeg 实现USB摄像头视频监控
- 抓包工具 Charles 使用心得
- hdfljfl
- scala break & continue
- oracle 的一个大数据表 快速迁移到 Sqlserver2008数据库
- xx大学云数据中心建设方案
- xx大学云数据中心建设方案
- 记录
- LintCode线段树/扫描线/查询题总结