如何将RTSP流转换为flv / swf Stream(w.ffmpeg)?

时间:2011-01-18 18:59:34

标签: ffmpeg webcam rtsp streaming-flv-video

我想将网络摄像头流(从geovision视频服务器)嵌入到网站中。不幸的是,只有rtsp流才能直接访问视频数据。

我尝试了一堆不同的变种。有了这个版本,我没有错误:

openRTSP -b 50000 -w 352 -h 288 -f 5 -v -c -u admin password rtsp://xxxxxx.dyndns.org:8554/CH001.sdp | \
ffmpeg -r 5 -b 256000 -f mp4 -i - http://127.0.0.1:8090/feed1.ffm

不幸的是我没有视频。有时我看到网络摄像头的一个帧,但没有直播。

这是我的ffserver.conf

Port 8090
BindAddress 0.0.0.0
MaxClients 200
MaxBandwidth 20000
CustomLog /var/log/flvserver/access.log

NoDaemon

# Server Status
<Stream stat.html>
Format status
</Stream>

<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200K
ACL allow 127.0.0.1
</Feed>

# SWF output - great for testing
<Stream test.swf>
 # the source feed
 Feed feed1.ffm
 # the output stream format - SWF = flash
 Format swf
 #VideoCodec flv
 # this must match the ffmpeg -r argument
 VideoFrameRate 5
 # another quality tweak
 VideoBitRate 256K
 # quality ranges - 1-31 (1 = best, 31 = worst)
 VideoQMin 1
 VideoQMax 3
 VideoSize 352x288
 # wecams don't have audio
 NoAudio
</Stream>

我做错了什么? test.swf似乎永远加载......

2 个答案:

答案 0 :(得分:2)

vlc尝试过这样的事情,这对我有用......

vlc.exe -I http -vv camURL :sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mp4a,ab=128,channels=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=addr:availablePort}

camurl 是相机的网址....

addr 是您希望httpstream发送到的地址...

availablePort 是您希望httpstream发送到的端口

答案 1 :(得分:2)

您需要以正确的方式插入引号:

cvlc rtsp://192.168.13.162:554/ :sout='#transcode{vcodec=FLV1,vb=2048,fps=25,scale=1,acodec=none,deinterlace}:http{mime=video/x-flv,mux=ffmpeg{mux=flv},dst=0.0.0.0:5555/}' :no-sout-standard-sap :ttl=5 :sout-keep :no-audio --rtsp-caching 10200 --video --no-sout-audio --udp-caching=30000 --http-caching=5000