将MJPEG转码为FLV或MP4

时间:2010-07-19 20:19:50

标签: video-streaming vlc transcoding mjpeg

我想将来自IP摄像头(http://xx.yy.zz.tt:8080/video.cgi)的MJPEG流转码为Linux操作系统下的FLV或MP4流,以便用户可以使用基于网络的Flash播放器(如Flowplayer)播放该文件。

我为此目的发现了VLC,但我无法弄清楚确切的命令行字符串。我还需要HTTP身份验证功能,因为IP摄像头访问受密码保护。

我也对任何非VLC解决方案感兴趣(ffmpeg?)。

3 个答案:

答案 0 :(得分:3)

出现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

也可以使用像http://user:password@host:port/address

这样的网址来使用FFmpeg

参考:https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=1139

答案 1 :(得分:2)

过去我使用Xuggler处理IP摄像机并使用ffmpeg进行转码工作,所以这应该是可行的。如果我是你,我会使用这样的命令行来检查它是否受支持。

ffmpeg -i http://xx.yy.zz.tt:8080/video.cgi -vcodec flv -qscale 1 -an output.flv

答案 2 :(得分:1)

将用户置于嵌入同一链接中,而不是http://xx.yy.zz.tt:8080/video.cgi,请使用此http://user:pass@xx.yy.zz.tt:8080/video.cgi