【发布时间】:2012-03-30 23:59:12
【问题描述】:
当我尝试将 VLC Python 绑定与 ffmpeg 连接时(请参阅 Exchange data between ffmpeg and video player),我认为让 ffmpeg 将 RTSP 流输出到 STDOUT 并使用 a Python script“捕获”它并通过 HTTP 发送会很好主意。因此,我使用 SimpleHTTPServer 制作了一个小型 HTTP 服务器,从中我从 FFMpeg 获取 STDIN 并将其“输出”到网络。
这是我使用的语法:
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 -
完美运行。所以问题似乎出在我将数据从标准输入写入网络服务器时。我做错了什么?
【问题讨论】:
-
我认为您的 stdin2http.py 脚本可能有问题。
-
我也在考虑这个问题 - 但有什么问题吗?这是脚本:pastebin.com/NDRtFhVp
-
vlc 可以自己流式传输。为什么需要ffmpeg、python?
-
rtsp://fms30.mediadirect.ro/live/utv/utv 例如它在 VLC 中不起作用。这是通过 TCP 流式传输的,并且似乎 VLC 不太支持基于 TCP 的 RTSP。所以我正在尝试使用 ffmpeg 作为代理。
标签: python ffmpeg http-streaming