由於我試圖將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