我想在 Linux 操作系统下将来自 IP 摄像机 ( http://xx.yy.zz.tt:8080/video.cgi ) 的 MJPEG 流转码为 FLV 或 MP4 流,以便用户可以使用基于 Web 的 Flash 播放文件Flowplayer等播放器。
我为此目的发现了 VLC,但我无法弄清楚确切的命令行字符串。我还需要 HTTP 身份验证功能,因为 IP 摄像机访问受密码保护。
我也对任何非 VLC 解决方案(如果有的话)感兴趣(ffmpeg?)。
我想在 Linux 操作系统下将来自 IP 摄像机 ( http://xx.yy.zz.tt:8080/video.cgi ) 的 MJPEG 流转码为 FLV 或 MP4 流,以便用户可以使用基于 Web 的 Flash 播放文件Flowplayer等播放器。
我为此目的发现了 VLC,但我无法弄清楚确切的命令行字符串。我还需要 HTTP 身份验证功能,因为 IP 摄像机访问受密码保护。
我也对任何非 VLC 解决方案(如果有的话)感兴趣(ffmpeg?)。
看来VLC可以做HTTP认证。 http://www.videolan.org/doc/play-howto/en/ch04.html 我相信它可以输出到flv。通常,我通过使用 GUI 来查看它作为参数使用的内容,然后从那里开始。那里没有神奇的公式,伙计。
看来您可以通过类似于以下内容的方式输出到 flv:
:sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mp3,ab=128,channels=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=:8080/}
http://forum.videolan.org/viewtopic.php?f=14&t=80722
也可以使用 FFmpeg 与http://user:password@host:port/address之类的 url
我过去在使用 IP 摄像机时使用过 Xuggler,他们使用 ffmpeg 进行转码工作,所以这应该是可能的。如果我是你,我会使用这样的命令行来检查它是否受支持。
ffmpeg -i http://xx.yy.zz.tt:8080/video.cgi -vcodec flv -qscale 1 -an output.flv
把用户和通行证嵌入到同一个链接中,而不是http://xx.yy.zz.tt:8080/video.cgi
使用这个http://user:pass@xx.yy.zz.tt:8080/video.cgi