如何从 http 网络摄像头直播中捕获图像
Posted
技术标签:
【中文标题】如何从 http 网络摄像头直播中捕获图像【英文标题】:How to catch images from a http webcam livestream 【发布时间】:2016-05-10 02:35:16 【问题描述】:我需要从here 提供的网络摄像头直播中捕获图像
有人知道怎么做吗?
我找到了this 的答案,但这对我没有帮助。当我进入
ffmpeg -i rtmp://85.126.233.214/heidelberg-live/stream1.flv -r 1 -f image2 -vcodec mjpeg captured%d.jpg
返回
[rtmp @ 0xc45f40] Cannot open connection tcp://85.126.233.214:1935
rtmp://85.126.233.214/heidelberg-live/stream1.flv: Connection timed out
Conversion failed!
这是网站直播部分的样子:
<embed type="application/x-shockwave-flash"
src="http://www.blitzvideoserver06.de/blitzvideoplayer4.swf"
style="undefined"
id="blitzvideoplayer"
name="blitzvideoplayer"
bgcolor="#ffffff"
quality="high"
allowfullscreen="true"
flashvars="videofile1=rtmp://85.126.233.214/heidelberg-live/stream1.flv&
live=1&
keinlogo=1&
mitstartbutton=1&
bgc=ffffff">
【问题讨论】:
【参考方案1】:您可能希望使用 rtmpdump 来指定所有 FLV 元数据并模拟原始 SWF 文件的行为,这肯定会在那里进行自定义。
请在屏幕截图中查看 RTMP 通信期间的自定义握手和重置消息。
最好的问候,
尤金
【讨论】:
啊,好吧,我的 IP 错了。您的图片显示正确的 IP,谢谢!我还尝试按照您的示例使用wireshark获取正确的服务器地址。我确实可以看到正确的 IP,但没有完整的字符串用于流式传输图像,即rtmp:///heidelberg-live/stream2.flv
(我是从与网站相关的人那里得到的)Wireshark 只提供62.113.221.5
和heidelberg-live
的信息。有没有办法使用wireshark获取完整正确的服务器地址(如上所示)?
嘿 @mcExchange 原来的 RTMP URL 是正确的。您需要使用 WireShark 自己查看握手,并使用您拥有的工具重新创建相同的通信。包括SWF、window、referrer、channel等信息。
所以你的意思是我必须从flashvars="videofile1=rtmp://85.126.233.214/heidelberg-live/stream1.flv&amp;
中提取从rtmp
到&amp
的所有内容,同时用wireshark (62.113.221.5
) 找到的IP 替换IP?这是规则吗?如果至少不必删除&amp
,我会理解的。或者地址末尾总是有&amp
?以上是关于如何从 http 网络摄像头直播中捕获图像的主要内容,如果未能解决你的问题,请参考以下文章