【发布时间】:2021-05-04 13:38:25
【问题描述】:
我使用wireshark捕获了发送的RTP流:
ffmpeg -f lavfi -i "testsrc=duration=5:size=cif:rate=25" -pix_fmt yuv420p -g 25 -bf 2 -an -c:v libx264 -f rtp rtp://127.0.0.1:1234 > play.sdp
ffmpeg -版本 ffmpeg 版本 git-2020-03-15-c467328 版权所有 (c) 2000-2020 FFmpeg 开发者
如粗体所示,RTP 时间戳向前和向后。我希望它们对于帧中的每个数据包都是相同的,然后根据 H.264/RTP 规范仅前进 40 毫秒(在 90khz 时钟下 +3600)。
此外,根据该规范,帧中的最后一个数据包应设置其标记位,但这里几乎所有数据包都设置了此位。
我做错了吗?不明白什么?还是 ffmpeg 对编写 H.264 RTP 的支持被破坏了?
SSRC=0xA49C3DC9, Seq=3595, Time=3153114809
SSRC=0xA49C3DC9, Seq=3596, Time=3153114809
SSRC=0xA49C3DC9,序列=3597,时间=3153114809
SSRC=0xA49C3DC9, Seq=3598, Time=3153114809, Mark
SSRC=0xA49C3DC9, Seq=3599, Time=3153125609, 标记
SSRC=0xA49C3DC9, Seq=3600, Time=3153118409, Mark
SSRC=0xA49C3DC9, Seq=3601, Time=3153122009, Mark
SSRC=0xA49C3DC9, Seq=3602, Time=3153136409, Mark
SSRC=0xA49C3DC9, Seq=3603, Time=3153129209, Mark
SSRC=0xA49C3DC9, Seq=3604, Time=3153132809, Mark
SSRC=0xA49C3DC9, Seq=3605, Time=3153147209, Mark
SSRC=0xA49C3DC9, Seq=3606, Time=3153140009, Mark
SSRC=0xA49C3DC9, Seq=3607, Time=3153143609, Mark
SSRC=0xA49C3DC9, Seq=3608, Time=3153158009, Mark
SSRC=0xA49C3DC9, Seq=3609, Time=3153150809, Mark
SSRC=0xA49C3DC9, Seq=3610, Time=3153154409, Mark
SSRC=0xA49C3DC9, Seq=3611, Time=3153168809, Mark
SSRC=0xA49C3DC9, Seq=3612, Time=3153161609, Mark
SSRC=0xA49C3DC9, Seq=3613, Time=3153165209, Mark
SSRC=0xA49C3DC9,Seq=3614,时间=3153179609,标记
SSRC=0xA49C3DC9, Seq=3615, Time=3153172409, Mark
SSRC=0xA49C3DC9, Seq=3616, Time=3153176009, Mark
SSRC=0xA49C3DC9, Seq=3617, Time=3153190409, Mark
SSRC=0xA49C3DC9, Seq=3618, Time=3153183209, Mark
【问题讨论】:
-
ffmpeg 坏了吗?恕我直言,可能不会。
-
是的。已经接受了解释我哪里出错的答案。谢谢。