gpt4 book ai didi

python - 通过 HTTP 流式传输 ffmpeg 输出

转载 作者:行者123 更新时间:2023-12-01 06:02:21 31 4
gpt4 key购买 nike

当我尝试将 VLC Python 绑定(bind)与 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 脚本。首先,我能够通过 HTTP 将媒体文件(在本例中为 H.264 .mp4 文件)从简单的 Web 服务器 (webfsd) 流式传输到 VLC。然后我使用“stdin2http.py < h264-file.mp4”尝试了同样的操作。没用。

我使用“ngrep”实用程序来研究两台服务器之间网络 session 的差异。我认为如果您想让这种方法发挥作用,您将需要使 stdin2http.py 更智能并使用 HTTP 内容范围(这可能涉及脚本中一定量的缓冲 stdin 数据,以便处理流中可能的跳转) .

关于python - 通过 HTTP 流式传输 ffmpeg 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9703440/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com