C# FFmpeg在将RTP流复制到文件时(不时)丢失数据包

C# FFmpeg在将RTP流复制到文件时(不时)丢失数据包,c#,ffmpeg,vlc,rtp,C#,Ffmpeg,Vlc,Rtp,我有和RTP视频广播流(使用NOVUS–H.264/MPEG-4 HD/SD广播编码器)。我有一个Windows Server 2012(Intel Xeon E5-2690128GB RAM),它的服务是将这个流记录到文件中(使用最新的FFmpeg,将其称为外部进程)。每2-5分钟,录制停止并重新开始一个新文件 视频中有时会出现明显的(而不是)滞后。这些滞后最多出现在文件的开头,有时在中间/结尾。关于日志,有丢失的数据包 可能是网络问题,但: 我从控制台手动运行ffmpeg的另一个并行实例,并

我有和RTP视频广播流(使用NOVUS–H.264/MPEG-4 HD/SD广播编码器)。我有一个Windows Server 2012(Intel Xeon E5-2690128GB RAM),它的服务是将这个流记录到文件中(使用最新的FFmpeg,将其称为外部进程)。每2-5分钟,录制停止并重新开始一个新文件

视频中有时会出现明显的(而不是)滞后。这些滞后最多出现在文件的开头,有时在中间/结尾。关于日志,有丢失的数据包

可能是网络问题,但:

我从控制台手动运行ffmpeg的另一个并行实例,并开始按时间分段记录相同的广播流。在这种情况下,记录非常好(丢失的数据包1..5非常少),没有延迟。有时,当第一个ffmpeg录制第二个ffmpeg时没有问题

这种行为的原因可能是什么?两个ffmpeg实例并行运行并读取相同的udp输入,但第一个实例在第二个实例感觉良好时丢失数据包。没有内存问题,没有硬盘问题,没有CPU过载。我还尝试设置第一个ffmpeg进程的最高优先级,但没有帮助。我看到它们之间的唯一区别是第一个ffmpeg是从服务运行的,第二个是从本地管理员运行的。老实说,我以前用vlc做录音机,但它也有同样的问题。。。我可以肯定地说视频流是可以的,因为它在另一台电脑上24小时/天在VLC播放器中播放,没有延迟

这就是我从windows服务(C#)运行ffmpeg的方式:

从windows服务自动录制视频的命令:

ffmpeg.exe -loglevel debug -y -ss 1 -i "rtp://225.1.1.1:1024" -vcodec copy -y -an "Session-021221.ts"
手动录制视频的命令

D:\ffmpeg\ffmpeg -i "rtp://225.1.1.1:1024" -vcodec copy -an -f segment -strftime 1 -segment_time 300 "novus-%Y-%m-%d_%H-%M-%S.ts"
这是其中一个损坏记录的日志的一部分(附加了一些其他完整日志):

一些完整日志:


它不是特定于Windows的。不久前,我在Linux上遇到了这个问题,我正在研究它。由于某种原因,解复用器似乎不喜欢
mpegts
over
RTP
,并丢弃了大量数据包。它可以在UDP上工作,但是如果您不能更改源协议,它就没有帮助。在您的情况下,您也有此问题
“循环缓冲区大小”选项已设置,但此版本不支持此选项(需要pthread支持)
。尝试使用
pthread
支持的生成。
D:\ffmpeg\ffmpeg -i "rtp://225.1.1.1:1024" -vcodec copy -an -f segment -strftime 1 -segment_time 300 "novus-%Y-%m-%d_%H-%M-%S.ts"
...
2017.09.01 18R:22:56.171  frame=  172 fps= 45 q=-1.0 size=    2816kB time=00:00:03.45 bitrate=6674.9kbits/s speed=0.909x    
2017.09.01 18R:22:56.174  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:22:56.686      Last message repeated 26 times
2017.09.01 18R:22:56.687  frame=  199 fps= 46 q=-1.0 size=    3072kB time=00:00:03.99 bitrate=6297.7kbits/s speed=0.926x    
2017.09.01 18R:23:04.554  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:04.571      Last message repeated 26 times
2017.09.01 18R:23:04.571  frame=  226 fps= 47 q=-1.0 size=    3584kB time=00:00:04.53 bitrate=6472.7kbits/s speed=0.939x    
2017.09.01 18R:23:04.571  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:04.572      Last message repeated 26 times
2017.09.01 18R:23:04.572  frame=  253 fps= 47 q=-1.0 size=    4096kB time=00:00:05.07 bitrate=6610.4kbits/s speed=0.948x    
2017.09.01 18R:23:04.572  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:04.572  frame=  254 fps= 21 q=-1.0 size=    4096kB time=00:00:05.09 bitrate=6584.5kbits/s speed=0.418x    
2017.09.01 18R:23:04.572  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:04.655      Last message repeated 5 times
2017.09.01 18R:23:04.684  [rtp @ 0000000000a3a9a0] max delay reached. need to consume packet
2017.09.01 18R:23:04.684  [rtp @ 0000000000a3a9a0] RTP: missed 4147 packets
2017.09.01 18R:23:04.685  [rtp @ 0000000000a3a9a0] RTP: PT=21: bad cseq a237 expected=9204
2017.09.01 18R:23:04.685  [rtp @ 0000000000a3a9a0] max delay reached. need to consume packet
2017.09.01 18R:23:04.685  [rtp @ 0000000000a3a9a0] RTP: missed 4148 packets
2017.09.01 18R:23:04.685  [rtp @ 0000000000a3a9a0] Continuity check failed for pid 256 expected 8 got 15
2017.09.01 18R:23:04.686  [rtp @ 0000000000a3a9a0] Continuity check failed for pid 272 expected 10 got 15
2017.09.01 18R:23:04.686  [rtp @ 0000000000a3a9a0] Continuity check failed for pid 32 expected 13 got 4
2017.09.01 18R:23:04.686  [rtp @ 0000000000a3a9a0] Continuity check failed for pid 0 expected 14 got 6
2017.09.01 18R:23:04.767  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:05.255      Last message repeated 25 times
2017.09.01 18R:23:05.256  frame=  286 fps= 22 q=-1.0 size=    4608kB time=00:00:12.51 bitrate=3016.0kbits/s speed=0.971x    
2017.09.01 18R:23:05.257  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:05.77      Last message repeated 26 times
2017.09.01 18R:23:05.77  frame=  313 fps= 23 q=-1.0 size=    5120kB time=00:00:13.05 bitrate=3212.5kbits/s speed=0.974x    
2017.09.01 18R:23:05.773  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:06.287      Last message repeated 26 times
2017.09.01 18R:23:06.288  frame=  340 fps= 24 q=-1.0 size=    5376kB time=00:00:13.59 bitrate=3239.2kbits/s speed=0.977x    
2017.09.01 18R:23:06.29  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:06.803      Last message repeated 26 times
2017.09.01 18R:23:06.804  frame=  367 fps= 25 q=-1.0 size=    5888kB time=00:00:14.13 bitrate=3412.2kbits/s speed=0.979x    
2017.09.01 18R:23:06.808  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
2017.09.01 18R:23:07.324      Last message repeated 26 times
2017.09.01 18R:23:07.324  frame=  394 fps= 26 q=-1.0 size=    6144kB time=00:00:14.67 bitrate=3429.5kbits/s speed=0.981x   
...