查看评论以了解该问题研究的最新进展
我正在摆弄 ffmpeg、ffserver 网络摄像头和 Debian Wheezy 来传输视频内容。我可以通过 mplayer 观看我的网络摄像头的镜头,使用:
mplayer -fps 30 -tv driver=v4l2:width=640:height=480:device=/dev/video0 tv://
我还可以使用从这里获得的默认 ffserver.conf 启动 ffserver:
http://www.ffmpeg.org/sample.html
ffserver -d -f /etc/ffserver.conf
我知道我需要让 ffmpeg 将网络摄像头的输入转换为我在 ffserver.conf 中定义的 feed 可用的格式。为此,我使用:
ffmpeg -f video4linux2 -i /dev/video0 /tmp/feed1.ffm
启动后系统会询问是否覆盖现有文件,我回答 Y,然后系统开始流式传输到该文件。
但是,单击 localhost:8090/stat.html 上的相关流(mpg)会超时而未显示任何内容,而且 ffserver 不会显示错误 - 但以 -d 调试模式启动。
我怀疑我错过了将 ffmpeg 提供的供稿与 ffserver 的流媒体功能连接起来的最后一部分。
任何提示都将非常感谢。
答案1
按照我在 #ffmpeg 上学到的步骤操作后,我终于开始着手做这件事了——要做的底线是:
- 从源代码构建 ffmpeg 和相关工具(http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu)
- 使用 webm 格式代替 mpeg 格式
非常有帮助的读物:https://www.virag.si/2012/11/streaming-live-webm-video-with-ffmpeg/
实现这一目标之后,我发现了一个关于这个主题的相当有趣的项目,Zoneminder(http://www.zoneminder.com) - 简单易用 - 对我的用例非常有效。很棒的东西。