h.264 RTP输出的ffmpeg是否中断?

h.264 RTP输出的ffmpeg是否中断?,ffmpeg,h.264,rtp,Ffmpeg,H.264,Rtp,我使用wireshark捕获通过以下方式发送的RTP流: ffmpeg-f lavfi-i“testsrc=duration=5:size=cif:rate=25”-pix\u fmt yuv420p-g 25-bf 2-an-c:v libx264-f rtprtp://127.0.0.1:1234 >play.sdp ffmpeg-版本 ffmpeg版本git-2020-03-15-c467328版权所有(c)2000-2020 ffmpeg开发者 如粗体所示,RTP时间戳向前和向后移动。我

我使用wireshark捕获通过以下方式发送的RTP流:

ffmpeg-f lavfi-i“testsrc=duration=5:size=cif:rate=25”-pix\u fmt yuv420p-g 25-bf 2-an-c:v libx264-f rtprtp://127.0.0.1:1234 >play.sdp

ffmpeg-版本 ffmpeg版本git-2020-03-15-c467328版权所有(c)2000-2020 ffmpeg开发者

如粗体所示,RTP时间戳向前和向后移动。我希望帧中的每个数据包都是相同的,然后按照H.264/RTP规范只向前移动40ms(+3600,在90khz时钟下)

此外,根据该规范,帧中的最后一个数据包应该设置其标记位,但这里几乎所有数据包都设置了该位

我做错什么了吗?不懂什么?还是说ffmpeg对编写H.264 RTP的支持被彻底破坏了

SSRC=0xA49C3DC9,序列=3595,时间=3153114809
SSRC=0xA49C3DC9,序列=3596,时间=3153114809
SSRC=0xA49C3DC9,序列=3597,时间=3153114809
SSRC=0xA49C3DC9,序号=3598,时间=3153114809,标记
SSRC=0xA49C3DC9,序号=3599,时间=3153125609,标记
SSRC=0xA49C3DC9,Seq=3600,Time=3153118409,标记
SSRC=0xA49C3DC9,Seq=3601,Time=315312009,标记
SSRC=0xA49C3DC9,Seq=3602,Time=3153136409,标记
SSRC=0xA49C3DC9,Seq=3603,Time=3153129209,标记
SSRC=0xA49C3DC9,Seq=3604,Time=3153132809,标记
SSRC=0xA49C3DC9,Seq=3605,Time=3153147209,标记
SSRC=0xA49C3DC9,序号=3606,时间=3153140009,标记
SSRC=0xA49C3DC9,序号=3607,时间=3153143609,标记
SSRC=0xA49C3DC9,序号=3608,时间=3153158009,标记
SSRC=0xA49C3DC9,序列=3609,时间=3153150809,标记
SSRC=0xA49C3DC9,序号=3610,时间=3153154409,标记
SSRC=0xA49C3DC9,序号=3611,时间=3153168809,标记
SSRC=0xA49C3DC9,序号=3612,时间=3153161609,标记
SSRC=0xA49C3DC9,序号=3613,时间=3153165209,标记
SSRC=0xA49C3DC9,序号=3614,时间=3153179609,标记
SSRC=0xA49C3DC9,序号=3615,时间=3153172409,标记
SSRC=0xA49C3DC9,序号=3616,时间=3153176009,标记
SSRC=0xA49C3DC9,序号=3617,时间=3153190409,标记

SSRC=0xA49C3DC9,Seq=3618,Time=3153183209,标记

添加
-re
输入选项,否则它将尝试尽可能快地编码,这对实时流媒体不好:

ffmpeg -f lavfi -re -i "testsrc=duration=5:size=cif:rate=25" -pix_fmt yuv420p -g 25 -bf 2 -c:v libx264 -f rtp rtp://127.0.0.1:1234 > play.sdp

RFC6184规范中说,对于标记位

Set for the very last packet of the access unit indicated by the RTP timestamp
编码器每AU编码一帧,因此此处不中断


时间戳是非单调的,因为您启用了B帧。B帧显示在任何引用的P帧之前,但在编码期间在其之后进行编码,并按编码顺序发出。设置
-bf 0
以禁用B帧并具有单调PTS。

同样的两个问题仍在发生。ffmpeg是否已损坏?恕我直言,可能不是。已经接受了一个解释我错在哪里的答案。谢谢