ffmpeg默認推流方式采用UDP方式,若需要使用TCP協議,則需要修改。
1、使用命令時:
ffmpeg 跟參數 -rtsp_transport tcp
2、編碼時
AVFormatContext *ofmt_ctx;
AVDictionary *optionsDict = NULL;
//采用tcp傳輸
av_dict_set(&optionsDict, "rtsp_transport", "tcp", 0);
//如果沒有設置stimeout,那么把ipc網線拔掉,av_read_frame會阻塞(時間單位是微妙)
av_dict_set(&optionsDict, "stimeout", "5000000", 0);
ret = avformat_write_header(ofmt_ctx, &optionsDict);