我正在使用FFMPEG库编写RTSP发布程序。
输入正在读取缓冲区,该缓冲区正在从摄像机中侦听数据。我使用rtsp url作为输出。即avformat_alloc_output_context2(& ofmt_ctx,NULL," rtsp",输出)。
现在我需要强制输出使用TCP作为rtsp_transpot。我尝试过以下代码。但它不起作用。有没有其他方法来实现这个?感谢。
AVDictionary *options = NULL;
av_dict_set(&options, "rtsp_transport", "tcp", 0);
ret = avformat_open_input(&fmt_ctx, avio_ctx->buffer, fmt_ctx->iformat, &options);
AVDictionary *options = NULL;
av_dict_set(&options, "rtsp_transport", "tcp", 0);
ret = avio_open2(&ofmt_ctx->pb, output, AVIO_FLAG_WRITE, NULL, &options);
答案 0 :(得分:3)
我自己找到了。
使用avformat_write_header(ofmt_ctx, &options);