I want to transcode MJPEG stream that comes from IP camera (http://xx.yy.zz.tt:8080/video.cgi) to FLV or MP4 stream under Linux OS so that users can play the file using a web based Flash player such as Flowplayer.
I discovered VLC for that purpose but I cannot figure out the exact command line string. I also need HTTP authentication feature since IP camera access is password protected.
I also interested in any non-VLC solution if any (ffmpeg?).
appears VLC can do HTTP authentication. http://www.videolan.org/doc/play-howto/en/ch04.html and I believe it can output to flv. Typically I start things going by using the GUI to see what it is using as parameters, then go from there. There's no magic formula there, mate.
Appears you can output to flv by something similar to:
: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
Also might work FFmpeg with url like http://user:password@host:port/address
I've used Xuggler in the past when working with IP cameras and they use ffmpeg to do the transcoding work, so this should be possible. If I were you I'd work with a command line like this to check if its supported.
ffmpeg -i http://xx.yy.zz.tt:8080/video.cgi -vcodec flv -qscale 1 -an output.flv
Put the user and pass embedded in the same link, intead of http://xx.yy.zz.tt:8080/video.cgi
,use this http://user:pass@xx.yy.zz.tt:8080/video.cgi
来源:https://stackoverflow.com/questions/3284714/transcoding-mjpeg-to-flv-or-mp4