diff --git a/libavformat/avio.h b/libavformat/avio.h
index dec2a5effe4b2578df48d8346ad1bcfc248f08e9..e73264f4aaf68b88fa89e517e9b612e4d359007f 100644
--- a/libavformat/avio.h
+++ b/libavformat/avio.h
@@ -146,6 +146,7 @@ typedef struct URLContext {
 } URLContext;
 
 #define URL_PROTOCOL_FLAG_NESTED_SCHEME 1 /*< The protocol name can be the first part of a nested protocol scheme */
+#define URL_PROTOCOL_FLAG_NETWORK       2 /*< The protocol uses network */
 
 /**
  * @deprecated This struct is to be made private. Use the higher-level
diff --git a/libavformat/gopher.c b/libavformat/gopher.c
index c0338619b3e728e80443d3a9600d05230ff1835d..a149f7fd6b8999455db826b64ece1261b11880ce 100644
--- a/libavformat/gopher.c
+++ b/libavformat/gopher.c
@@ -121,4 +121,5 @@ URLProtocol ff_gopher_protocol = {
     .url_write      = gopher_write,
     .url_close      = gopher_close,
     .priv_data_size = sizeof(GopherContext),
+    .flags          = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/http.c b/libavformat/http.c
index 7badf720ed6881ebaecf800027db55afa176459d..eea8dedcbc36de58824d1a86039d17ac3d93578d 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -565,6 +565,7 @@ URLProtocol ff_http_protocol = {
     .url_get_file_handle = http_get_file_handle,
     .priv_data_size      = sizeof(HTTPContext),
     .priv_data_class     = &http_context_class,
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
 #endif
 #if CONFIG_HTTPS_PROTOCOL
@@ -578,6 +579,7 @@ URLProtocol ff_https_protocol = {
     .url_get_file_handle = http_get_file_handle,
     .priv_data_size      = sizeof(HTTPContext),
     .priv_data_class     = &https_context_class,
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
 #endif
 
@@ -693,5 +695,6 @@ URLProtocol ff_httpproxy_protocol = {
     .url_close           = http_proxy_close,
     .url_get_file_handle = http_get_file_handle,
     .priv_data_size      = sizeof(HTTPContext),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
 #endif
diff --git a/libavformat/librtmp.c b/libavformat/librtmp.c
index c04c833c01b673c0cf304d3f9235b856f9a9b76f..2d028b05e286ba4dc3099e7c7bd116da99cd974a 100644
--- a/libavformat/librtmp.c
+++ b/libavformat/librtmp.c
@@ -162,6 +162,7 @@ URLProtocol ff_rtmp_protocol = {
     .url_read_seek       = rtmp_read_seek,
     .url_get_file_handle = rtmp_get_file_handle,
     .priv_data_size      = sizeof(RTMP),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
 
 URLProtocol ff_rtmpt_protocol = {
@@ -174,6 +175,7 @@ URLProtocol ff_rtmpt_protocol = {
     .url_read_seek       = rtmp_read_seek,
     .url_get_file_handle = rtmp_get_file_handle,
     .priv_data_size      = sizeof(RTMP),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
 
 URLProtocol ff_rtmpe_protocol = {
@@ -186,6 +188,7 @@ URLProtocol ff_rtmpe_protocol = {
     .url_read_seek       = rtmp_read_seek,
     .url_get_file_handle = rtmp_get_file_handle,
     .priv_data_size      = sizeof(RTMP),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
 
 URLProtocol ff_rtmpte_protocol = {
@@ -198,6 +201,7 @@ URLProtocol ff_rtmpte_protocol = {
     .url_read_seek       = rtmp_read_seek,
     .url_get_file_handle = rtmp_get_file_handle,
     .priv_data_size      = sizeof(RTMP),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
 
 URLProtocol ff_rtmps_protocol = {
@@ -210,4 +214,5 @@ URLProtocol ff_rtmps_protocol = {
     .url_read_seek       = rtmp_read_seek,
     .url_get_file_handle = rtmp_get_file_handle,
     .priv_data_size      = sizeof(RTMP),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/mmsh.c b/libavformat/mmsh.c
index fa1a467223d0cc26f5dc1746a8307bd593c3444c..5e9d0bc1345eb07274ce5afb200487fe07aaf00b 100644
--- a/libavformat/mmsh.c
+++ b/libavformat/mmsh.c
@@ -364,4 +364,5 @@ URLProtocol ff_mmsh_protocol = {
     .url_read       = mmsh_read,
     .url_close      = mmsh_close,
     .priv_data_size = sizeof(MMSHContext),
+    .flags          = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/mmst.c b/libavformat/mmst.c
index fe21a323572c41515fb0a703f3ec1e5c5ee3471e..93ad073869995492f01aa4cdcd5e77effb6f2553 100644
--- a/libavformat/mmst.c
+++ b/libavformat/mmst.c
@@ -625,4 +625,5 @@ URLProtocol ff_mmst_protocol = {
     .url_read       = mms_read,
     .url_close      = mms_close,
     .priv_data_size = sizeof(MMSTContext),
+    .flags          = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index 53d912e3c6c17a16e6391273a71cca9602bad533..867969a6706466c8a3bfc1778928ba13e02374b2 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -1000,4 +1000,5 @@ URLProtocol ff_rtmp_protocol = {
     .url_write      = rtmp_write,
     .url_close      = rtmp_close,
     .priv_data_size = sizeof(RTMPContext),
+    .flags          = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/rtpproto.c b/libavformat/rtpproto.c
index 93cad3c8e69893efd9a4735b6184cdc632b0ada5..03794ae1ce2a5d1a28c205fdfb20b1c24c1bb0b9 100644
--- a/libavformat/rtpproto.c
+++ b/libavformat/rtpproto.c
@@ -330,4 +330,5 @@ URLProtocol ff_rtp_protocol = {
     .url_close           = rtp_close,
     .url_get_file_handle = rtp_get_file_handle,
     .priv_data_size      = sizeof(RTPContext),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/tcp.c b/libavformat/tcp.c
index 0d3aeaf48c5cdc5c14090a5ee0c7fc0490ddbbdf..fdb457e8c5719578aacf2a3b771d908aef91e523 100644
--- a/libavformat/tcp.c
+++ b/libavformat/tcp.c
@@ -204,4 +204,5 @@ URLProtocol ff_tcp_protocol = {
     .url_close           = tcp_close,
     .url_get_file_handle = tcp_get_file_handle,
     .priv_data_size      = sizeof(TCPContext),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/tls.c b/libavformat/tls.c
index 26f5ee51066018cfe335c355e35252b775e0636b..fb84fa82b680cca06a3e8dd1824c4ff479b4ded7 100644
--- a/libavformat/tls.c
+++ b/libavformat/tls.c
@@ -248,4 +248,5 @@ URLProtocol ff_tls_protocol = {
     .url_write      = tls_write,
     .url_close      = tls_close,
     .priv_data_size = sizeof(TLSContext),
+    .flags          = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/udp.c b/libavformat/udp.c
index 2bdd3dc773528a22d22fe9802ec8d1893c9f0a2d..8bb63c629808abe8e60e3b790af43d6844d845bf 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -491,4 +491,5 @@ URLProtocol ff_udp_protocol = {
     .url_close           = udp_close,
     .url_get_file_handle = udp_get_file_handle,
     .priv_data_size      = sizeof(UDPContext),
+    .flags               = URL_PROTOCOL_FLAG_NETWORK,
 };
diff --git a/libavformat/url.h b/libavformat/url.h
index ea8c7abb8f31f560fb2d860360cd6451f28a02e5..14832af79b232515ba7f3240b78572d0bec86a4f 100644
--- a/libavformat/url.h
+++ b/libavformat/url.h
@@ -33,6 +33,7 @@
 
 #if !FF_API_OLD_AVIO
 #define URL_PROTOCOL_FLAG_NESTED_SCHEME 1 /*< The protocol name can be the first part of a nested protocol scheme */
+#define URL_PROTOCOL_FLAG_NETWORK       2 /*< The protocol uses network */
 
 extern int (*url_interrupt_cb)(void);