2015-04-30 396 views
2

我正在寫一個使用FFMPEG庫的RTSP發佈程序。ffmpeg編碼力rtsp輸出流使用TCP作爲rtsp_transport

輸入保持讀取正在顯示攝像機數據的緩衝區。我使用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

你可以得到的ffmpeg的命令行把它發送到您的TCP RTSP接收器? – rogerdpack

回答

3

我自己找到了。

使用avformat_write_header(ofmt_ctx, &options);