If you want to use an url protocol to output your encoded media (e.g. tcp://hostname:port) follow these instructions:

AVOutputformat *aof = guess_format ("avi", NULL, NULL);

url_open (url_context, "tcp://hostname:port", URL_WRONLY);

        url_open_dyn_buf (&format_context -> pb)

        av_write_header( ... )

guchar *pb_buffer;
int len = url_close_dyn_buf(format_context -> pb, (unsigned char **)(&pb_buffer));
url_write (url_context, (guchar *)pb_buffer, len);

Do the same with av_write_frame:

        url_open_dyn_buf (&format_context -> pb)

        av_write_frame( ... )

guchar *pb_buffer;
int len = url_close_dyn_buf(format_context -> pb, (unsigned char **)(&pb_buffer));
url_write (url_context, (guchar *)pb_buffer, len);