由于我试图将VLC Python绑定与ffmpeg连接起来(见Exchange data between ffmpeg and video player),我认为制作ffmpeg将RTSP流输出到STDOUT并用a Python script“捕捉”它并通过HTTP发送将是好主意。因此,我使用SimpleHTTPServer制作了一个小型的HTTP服务器,从中获得来自FFMpeg的STDIN并将其“输出”到网络中。通过HTTP流式传输ffmpeg
这是我使用的语法:
ffmpeg.exe -y -i rtsp://fms30.mediadirect.ro/live/utv/utv?tcp -acodec copy -vcodec copy -f flv - | \Python27\python.exe -u stdin2http.py
这似乎是工作,我可以访问流,但也不是视频,音频,也不是玩。我尝试在Windows上使用VLC,在Linux上使用VLC和MPlayer,但没有成功。只需运行
ffmpeg.exe -y -i rtsp://fms30.mediadirect.ro/live/utv/utv?tcp -acodec copy -vcodec copy -f flv - | vlc.exe -
完美地工作。所以这个问题似乎是从stdin向Web服务器写入数据的时候。我做错了什么?
我在想你的stdin2http.py脚本可能有问题。 – 2012-03-14 16:40:35
我也在想 - 但是可能会出现什么问题?以下是脚本:http://pastebin.com/NDRtFhVp – ov1d1u 2012-03-14 18:15:03
vlc可以自行流式传输。为什么你需要ffmpeg,python? – jfs 2012-03-14 18:50:15