发送流媒体的数据的时候需要延时。不然的话,FFmpeg处理数据速度很快,瞬间就能把所有的数据发送出去,流媒体服务器是接受不了的。
[DEBUG] src/push.c:push_rtmp:188: Error muxing packet
[flv @ 0x4a69a0] Failed to update header with correct duration.
[flv @ 0x4a69a0] Failed to update header with correct filesize.
Error occurred.
[DEBUG] src/main.c:main_loop:31: push rtmp interrupt...
根据代码上看是网络发送失败导致
考虑修改程序, 发送失败, 增加重新发送的机制
ffmpeg的解决方法
Non-monotonous DTS in output stream 0:0; previous: 216, current: 176; changing to 216. This may result in incorrect timestamps in the output file.
frame=297894 fps= 24 q=-1.0 size= 486140kB time=03:23:35.32 bitrate= 326.0kbitsDTS 4010915672, next:9490192000 st:1 invalid dropping
PTS 4010915672, next:9490192000 invalid dropping st:1
DTS 4010916184, next:9490192000 st:1 invalid dropping
PTS 4010916184, next:9490192000 invalid dropping st:1
DTS 4010916440, next:9490192000 st:1 invalid dropping
PTS 4010916440, next:9490192000 invalid dropping st:1
DTS 4010916696, next:9490192000 st:1 invalid dropping
PTS 4010916696, next:9490192000 invalid dropping st:1
DTS 4010916952, next:9490192000 st:1 invalid dropping
PTS 4010916952, next:9490192000 invalid dropping st:1
DTS 4010917464, next:9490192000 st:1 invalid dropping
PTS 4010917464, next:9490192000 invalid dropping st:1
DTS 4010917720, next:9490192000 st:1 invalid dropping
PTS 4010917720, next:9490192000 invalid dropping st:1
DTS 4010917976, next:9490192000 st:1 invalid dropping
PTS 4010917976, next:9490192000 invalid dropping st:1
DTS 4010918232, next:9490192000 st:1 invalid dropping
PTS 4010918232, next:9490192000 invalid dropping st:1
DTS 4010918744, next:9490192000 st:1 invalid dropping
PTS 4010918744, next:9490192000 invalid dropping st:1
DTS 4010919000, next:9490192000 st:1 invalid dropping
PTS 4010919000, next:9490192000 invalid dropping st:1
DTS 4010919256, next:9490192000 st:1 invalid dropping
PTS 4010919256, next:9490192000 invalid dropping st:1
frame=297907 fps= 24 q=-1.0 size= 486165kB time=03:23:35.84 bitrate= 326.0kbits