我通过直接从某个服务器获取流来在 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
作为此命令的输出,我收到以下错误:
谁能告诉我这个错误通常发生在什么时候?这背后有什么原因吗?有什么解决方法吗?
最佳答案
来自 libavformat/utils.c
, avformat_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 倍,则会收到上述警告。
关于ffmpeg - 使用 RTSP Url 播放媒体文件时出现 DTS 不连续性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35553449/