本文中的配置文件部分非本人原创,而是借鉴了他人配置文件后,修改的实际操作中使用的配置文件。本次实践对系统要求不严格,使用普通的Ubuntu版本即可,不需要Server版本, 而且本人也只是在宿舍局域网中实现,有条件的朋友可以在公网中实现,成功的话可以与我分享一下,哈哈。
!本文中的命令都在终端下输入!
1.安装软件,命令:
sudo apt-get install ffmpeg
2.备份原始配置(防止配置文件修改错误,备份以防万一),命令:
sudo mv /etc/ffserver.conf /etc/ffserver.conf_backup
3.编辑配置,把它改为下面的内容,命令:
sudo gedit /etc/ffserver.conf
配置文件:
Port 8090
# bind to all IPs aliased or not
BindAddress 0.0.0.0
# max number of simultaneous clients
MaxClients 100
# max bandwidth per-client (kb/s)
MaxBandwidth 16000
# Suppress that if you want to launch ffserver as a daemon.
#NoDaemon
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 10M
</Feed>
# FLV output - good for streaming
<Stream test.flv>
# the source feed
Feed feed1.ffm
# the output stream format - FLV = FLash Video
Format flv
VideoCodec flv
# this must match the ffmpeg -r argument
VideoFrameRate 30
# generally leave this is a large number
VideoBufferSize 160000
# another quality tweak
VideoBitRate 500
# quality ranges - 1-31 (1 = best, 31 = worst)
VideoQMin 1
VideoQMax 5
VideoSize 352x288
# this sets how many seconds in past to start
PreRoll 0
# wecams don't have audio
Noaudio
</Stream>
# ASF output - for windows media player
<Stream test.asf>
# the source feed
Feed feed1.ffm
# the output stream format - ASF
Format asf
VideoCodec msmpeg4
# this must match the ffmpeg -r argument
VideoFrameRate 30
# generally leave this is a large number
VideoBufferSize 160000
# another quality tweak
VideoBitRate 500
# quality ranges - 1-31 (1 = best, 31 = worst)
VideoQMin 1
VideoQMax 5
VideoSize 352x288
# this sets how many seconds in past to start
PreRoll 0
# wecams don't have audio
Noaudio
</Stream>
ps.代码部分,大家也可以尝试修改,达到自己最满意的效果
4.保存修改完代码配置文件后,运行,命令:ffserver
5.再开一个终端操作,或者’ctrl+z’让ffserver在后台运行,命令:
ffmpeg -s 352x288 -f video4linux2 -i /dev/video0 :8090/feed1.ffm
6.同一局域网内的另一台电脑上,用支持网络的播放器(Windows Media Player)打开:
mms://xx.xx.xx.xx:8090/test.asf
(xx.xx.xx.xx 为装有ubuntu的ip 或域名)
这时候,在播放器上,就可以实时看到ubuntu摄像头所拍摄的画面了。
我在本次实践中,体会到了无论是对配置文件的修改,还是对ffmpeg的了解,功夫都还大大不够,
本文旨在分享基础方法,也欢迎大家来指正本文诸多不足的地方
!问题注意!
有些朋友在操作时,发现自己电脑上不存在 /dev/video0 这个驱动文件
这里我推荐一个小办法,ubuntu自带了一个cheese(茄子大头贴),使用一下这个软件,等屏幕上显示出拍摄画面时,/dev/video0就已经自动创建了
Linux下编译FFmpeg之下载源文件并编译
Linux 编译升级 FFmpeg 步骤