[mpegts @ 0x7f77740027c0] PES packet size mismatch [mpegts @ 0x7f77740027c0] Packet corrupt (stream = 1, dts = 84151592). read_time:126 [h264 @ 0x7f7774022c00] error while decoding MB 64 29, bytestream -6 againV read_time:3 [aac @ 0x7f777402e780] decode_band_types: Input buffer exhausted before END element found @@@Invalid data found when processing input@@@ //这个是udp缓存的问题
Assertion desc failed at libswscale/swscale_internal.h:674 //这个是没收到流信息 -d 2 断音
udp中断报错 [h264 @ 0x7fd39c02e200] error while decoding MB 32 41, bytestream -7 [h264 @ 0x7fd39c02e200] concealing 3257 DC, 3257 AC, 3257 MV errors in I frame
av_read_frame返回值为-5 EIO打印日志为 @@@Input/output error@@@ //5min
/home/deviser/UHD4000R/livepush --config /home/deviser/UHD4000R/devices/0080000103/livepush.config --srcip 192.168.100.77 --srcport 25403 --dstip 192.168.100.78 --dstport 6017 --dev 1000012146 --magic 1180000103 --workmode 0 --type ipc --board-id -1 --url rtmp://192.168.100.150/live/gx1234
udp之前3.5s 2M时 udp之前6s 500K
用推mp4,一个半小时不崩
/home/deviser/UHD4000R/Receiver.sh &
[udp @ 0x7f7a340032c0] attempted to set receive buffer to size 104857600 but it only ended up set as 33554432
buffer_size=size Set the maximum UDP socket buffer size in bytes. fifo_size=units Set the UDP receiving circular buffer size, expressed as a number of packets with size of 188 bytes. If not specified defaults to 7*4096. overrun_nonfatal=1|0 Survive in case of UDP receiving circular buffer overrun. Default value is 0.
以上来自ffmpeg官方文档http://ffmpeg.org/ffmpeg-all.html
1080i50 9分钟13535~~13500 nobuffer如下:
URL = "udp://127.0.0.1:6017";
AVDictionary *options = NULL;
av_dict_set(&options, "fflags", "nobuffer", 0);
avformat_alloc_output_context2(&ic, 0, "mpegts", URL);
int re = avformat_open_input(&ic, URL, NULL, &options);
1080i50 4分钟 6000~~6120
9分钟 13500~~13620
带音频睡眠 1080i50 15分钟 22500 ~~22500 20分钟 30027~~30000 用的下面配置
avcodec_register_all();
av_register_all();
avformat_network_init();
ic = avformat_alloc_context();
URL = "udp://127.0.0.1:6017";
AVDictionary *options = NULL;
av_dict_set(&options, "buffer_size", "33554432", 0);
av_dict_set(&options, "reuse", "1", 0);
av_dict_set(&options, "fifo_size", "30554432", 0);
av_dict_set(&options, "max_delay", "2000000", 0);
int re = avformat_open_input(&ic, URL, NULL, &options);
|