ffmpeg编码强制rtsp输出流使用TCP作为rtsp_transport

时间:2015-04-30 20:28:22

标签: tcp ffmpeg streaming rtsp

我正在使用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);

1 个答案:

答案 0 :(得分:3)

我自己找到了。

使用avformat_write_header(ofmt_ctx, &options);