我使用libavformat库在udp://127.0.0.1:1000这样的网络地址上流式传输视频。我使用ffplay在网络地址显示接收到的视频流。然而,视频在同一台机器上的ffplay上出现的时间要晚几秒(例如5 6秒)。你知道原因是什么吗?
更多信息:
我已经使用libavformat编写了自己的流媒体应用程序。当我以25fps传输一个3秒的1080p视频时,ffplay没有显示任何内容。如果我再次流式传输相同的视频,这一次,ffplay开始显示上一个流式传输的视频以及当前的视频。因此,它看起来像是ffplay等待缓冲区被填满一定数量,然后显示流。但是我说的对吗?
发布于 2014-01-15 21:05:52
要实现您所描述的功能,您需要(至少)对视频流进行编码,通过网络套接字发送它,然后再次解码它。如果您是从一个已经压缩的源流,甚至可能有一个额外的视频解码阶段涉及。
根据视频格式、压缩和缓冲设置、网络配置和所涉及的硬件,几秒钟的延迟并不罕见。与无线信号相比,使用直播流媒体服务观看电视频道的人经常会看到这样的延迟,电视台应该使用专业设备进行流媒体过程...
如果您提到如何使用libavformat库(特别是如果您已经编写了自己的流媒体应用程序)、编解码器设置和有关视频流的一些基本信息(例如其分辨率和帧速率),您可能会获得更具体的帮助。
https://stackoverflow.com/questions/21138148
复制相似问题