【问题标题】:DTS Discontinuity Error while Playing Media File with RTSP Url使用 RTSP Url 播放媒体文件时出现 DTS 不连续性错误
【发布时间】:2016-06-03 20:49:58
【问题描述】:

我通过直接从某个服务器获取流来在 RTSP 上播放媒体文件。我在流错误中遇到 DTS 不连续性。 FFMPEG 和 FFPLAY 我都试过了。

FFMPEG

我正在使用以下 ffmpeg 命令:

ffmpeg -i rtsp://media:123456@10.10.167.20/41415308b3839f2 -f wav test.wav

作为此命令的输出,我收到以下错误:

FFPLAY

我正在使用以下 ffplay 命令:

ffplay rtsp://media:123456@10.10.167.20/41415308b3839f2

作为此命令的输出,我收到以下错误:

谁能告诉我这个错误通常发生在什么时候?这背后有什么原因吗?有什么解决方法吗?

【问题讨论】:

  • 您应该只是简单地复制和粘贴文本,而不是制作文本图像。

标签: ffmpeg streaming rtsp


【解决方案1】:

来自libavformat/utils.cavformat_find_stream_info函数:

/* Check for a discontinuity in dts. If the difference in dts
 * is more than 1000 times the average packet duration in the
 * sequence, we treat it as a discontinuity. */

另外请注意,RTP 没有定义任何丢包恢复机制。

因此,如果您以这样的方式丢失数据包,使得两个读取数据包之间的 dts 差异超过平均数据包持续时间的 1000 倍,则会收到上述警告。

【讨论】:

  • 感谢您的回答。我想问一下两个读取数据包之间存在这种差异的原因。我需要验证什么?因为前几天我还可以正常获取流,那为什么我现在开始丢包了。
  • @BilalAhmedYaseen 我也阅读了您的第二个问题,但我很难说出这种情况下的原因。也许你的网络有问题。您也可以尝试降低流比特率并检查结果。
  • 没错,我也觉得网络可能有问题。但是我想问一下,一般在什么情况下会出现这个问题? A 如何验证这是由网络引起的?
  • @BilalAhmedYaseen,希望这篇文章对您有所帮助:stackoverflow.com/questions/2723671/how-to-debug-packet-loss 回答上述问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-30
  • 2013-02-03
  • 1970-01-01
  • 1970-01-01
  • 2012-06-19
相关资源
最近更新 更多