Ffserver 服务端使用小结
将ffmpeg/doc 目录下的ffserver.conf 拷贝到/etc/ffserverconf 中
修改里面的参数配置如下:
MaxBandwidth 1000000 //最大比特率
由于没有音频设备所以将配置中的音频都去掉了
FileMaxSize 200K //定义临时文件大小,当文件达到Maxsize时,视频就会停止,刷新页面后重新写入临时文件,建议定义大一些
VideoBitRate 100000 //设置视频比特率
VideoFrameRate 30 //帧率大小
#VideoBufferSize 40 //由于比特率和帧率比较大,得到的Buffer也会很大,所以这里没有设置buffer大小
VideoSize 1280*720 //视频分辨率(不知道这里为什么不能设置1080P)
其他默认就可以.
配置完成后执行: ffserver -f /etc/ffserver.conf &
设置成功会出现: Sat Mar 22 11:35:41 2014 FFserver started.
开始截屏并上传:
ffmpeg -fx11grab -r 30 -s 1920*1080 -i :0.0-vcodec libx264 http://192.168.11.70:8090/feed1.ffm
(ip地址在ffserver.conf中有设置)
打开网页输入 : 192.168.11.70:8090/test1.mpg
这里的test1.mpg与ffserver.conf中的 <Stream test1.mpg>对应
上传本地视频命令: ffmpeg -i out.mp4 http://192.168.11.70:8090/feed1.ffm
视频可以显示但是几个问题:
1.视频有延时,大概3-4秒左右
2.截屏视频在网页中播放会有重影,会出现很多层,还会一层一层增加
屏幕录像
ffmpeg -f x11grab -s xga-r 10 -i :0.0+0+0 wheer.avi
ffmpeg -f x11grab -s 320x240-r 10 -i :0.0+100+200 wheer.avi
:0:0 表示屏幕(个人理解,因为系统变量$DISPLAY值就是:0.0)而100,表示距左端100象素,200表示距上端200
-s 设置窗口大小
-r 10 好像是设置频率,不懂
ffmpeg -f x11grab -s xga -qscale5 -r 10 -i :0.0+0+0 wheer.avi
-qscale 8 设定画面质量,值 越小越好
屏幕录像,同时录音
ffmpeg -f oss -i /dev/dsp -f x11grab -r 30 -s 1024x768 -i:0.0 output.mkv
// 截屏命令: 从起点(0,0) 图像大小1920*1080 帧频 30
ffmpeg -f x11grab -r 30 -s 1920*1080 -i :0.0out.mp4
ffmpeg -fx11grab -r 30 -s 1920*1080 -i :0.0-vcodec libx264 (-qscale 8) (-b:v1000000) out.mp4
//视频格式转换
ffmpeg -iout1.mp4 -s 1920*1080 -vcodec mpeg4 video_finale.avi