gpt4 book ai didi

vb6 - VB6广播网络摄像头的解决方案

转载 作者:行者123 更新时间:2023-12-04 12:41:02 35 4
gpt4 key购买 nike

抱歉,我知道 VB6 是几十年前的事了,但我不得不使用 VB6 在服务器 - 客户端模型程序中提供 2 台 PC 之间的实时网络摄像头流。 Vb6 代码保持连接,然后我别无选择,只能通过该连接传输所有数据。

我已经为此尝试了数周,无数种方法,但无处可去。
我的努力集中在 3 种主要方法上:

1/使用ffmpeg记录实时网络摄像头作为硬盘上的“.avi”文件,将部分文件传输到另一端并播放。但我坚持使用可以播放“正在编写”的 avi 文件的媒体播放器。

Windows Media Player 控件告诉我“文件已在使用中......” & VLC 插件甚至无法添加到 VB6 (axvlc.dll)。

2/使用 ffmpeg 保存实时网络摄像头 作为avi文件,将该文件的每一位传输到另一端,然后在另一端从avi中提取24张/秒的图像,在图片框中连续显示。
这种方法是可以的,除了我的硬盘在眨眼的时候就装满了图像,而且我的程序在挂起之前变得非常慢。

3/使用ffmpeg串流实时网络摄像头到 rtp 端口,如下所示:

ffmpeg -f dshow -i video="Lenovo EasyCamera" -vcodec mpeg2video -pix_fmt yuv422p -f rtp -an rtp://224.1.2.3:8191

我已经在 VLC 中成功观看了流,但是 VLC(axvlc.dll) 拒绝集成到古老的 VB6 中。更重要的是,我不知道如何使用 VB6 将 rtp 流重定向/重新路由到其他 PC。

有没有人请给我点灯? (欢迎任何第 3 方组件)

最佳答案

经过一些研究,微软似乎使用了 rtsp,它是 rtp 协议(protocol)的一种变体。幸运的是,ffmpeg 支持该格式的复用和解复用。 https://www.ffmpeg.org/ffmpeg-protocols.html#rtsp .您可能需要调整概述的参数。
如果服务器必须是 vb6 前端,您可以从命令行启动 ffmpeg 作为后端。这是一种常用方法,我在这里找到了一个示例:https://www.ehow.com/how_6038708_use-ffmpeg-visual-basic-6.html以供引用。

下一阶段是在 Visual Basic 6 中播放这些流的能力。您可以添加一个 Windows Media Player 控件并将其属性 WindowsMediaPlayer1.URL 设置为 {a list with your url as a string}。
一个版本的控件的 ID 为 {6BF52A50-394A-11D3-B153-00C04F79FAA6},dll 为 wmp.dll。确保控件的 autoStart 和 invokeURLs 设置为 true。

其他一些值得一提的事情是尝试使用符合 WMP 的编解码器并包含诸如 windows 媒体视频。

关于vb6 - VB6广播网络摄像头的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24536166/

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