【问题标题】:delphi, indy10 tcp audio streamingdelphi, indy10 tcp 音频流
【发布时间】:2013-07-26 13:20:31
【问题描述】:

我正在尝试制作一个通过 TCP 连接使用视频/音频流的应用程序,我已经使用 indy10 组件(idtcpserver 和 idtcpclient)完成了视频流,是否可以使用音频做同样的事情?

【问题讨论】:

    标签: delphi sockets tcp indy10


    【解决方案1】:

    当然。

    TCP 只是数据通道。对于传输给它的数据类型是完全不可知的。 HTML 页面、程序、视频、音频——随便什么。它只是 TCP 协议中的一个数据通道。

    但是,“流式传输”通常意味着“接近实时”。如果某些视频或音频帧在几秒钟内没有到达 - 最好跳过并忘记它们并播放更新的音乐或视频。您不希望您的 Skype 对话突然卡住一分钟,然后因为几秒钟的网络堵塞而播放整整一分钟。你最好先说一两个词,然后根据上下文恢复或让通讯员重复。因此,具有内置重传功能且缓冲区通常不是很大的 TCP 并不是多媒体流的完美选择。通常 UDP + 应用程序实现的完整性控制是更好的选择。

    【讨论】:

      【解决方案2】:

      我相信您需要使用单位 VFW。使用 avistream,您可以在压缩流中加入视频 + 声音。

      【讨论】:

      • 适用于 Windows 的视频? 1993年设计的16位接口?并匆忙更新到 32 位但从未重新设计?他为什么要?不如他像现代玩家那样使用 DirectX。
      • 我知道有一个directshow,但最初它应该检查基础知识......加入压缩的音频+视频,然后通过网络发送。
      • 但这不是基础。这又是一个潜在的麻烦:过时的 VFW 是否支持您愿意使用的现代格式?在现代 Windows 中会不会有一些 bitrot 引起的错误?等如果您想将音频转换为视频 - 最好使用 VirtualDub 或 AviDemux 等准备文件,然后尝试传输现成的文件
      • AFAIK virtualdub 使用 VFW api 本身 ;-)... 所以即使 VFW 已经过时,它仍然被使用,并且是一个比 MediaFoundation 或 DirectShow 更容易理解的 API。
      猜你喜欢
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 2013-06-07
      • 2016-05-17
      • 2012-07-12
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      相关资源
      最近更新 更多