A multicast delay diagnosis method, wherein the method comprises: sending (S401, S601), by a terminal device, a first domain name resolution request to a network node, wherein the first domain name resolution request is used to instruct the network node to return a first multicast test address; receiving, by the terminal device, the first multicast test address returned by the network node; sending (S403, S604), by the terminal device, a first multicast test join request to the network node by using the first multicast test address, and recording a time point for sending the first multicast test join request; receiving, by the terminal device, a first packet returned by the network node, and recording a time point for receiving the first packet; calculating, by the terminal device according to the time point for sending the first multicast test join request and the time point for receiving the first packet, a first delay caused when the terminal device joins a multicast test group of the network node; and determining, by the terminal device, multicast network quality according to the first delay; wherein the method further comprises: sending, by the terminal device, a second domain name resolution request to the network node, wherein the second domain name resolution request is used to instruct the network node to return a second multicast test address; receiving, by the terminal device, the second multicast test address returned by the network node; sending, by the terminal device, a second multicast test join request to the network node by using the second multicast test address, and recording a time point for sending the second multicast test join request, so that the network node forwards the second multicast test join request to a multicast server; receiving, by the terminal device, a second packet forwarded by the network node, and recording a time point for receiving the second packet; calculating, by the terminal device according to the time point for sending the second multicast test join request and the time point for receiving the second packet, a second delay caused when the terminal device joins a multicast group of the multicast server; and determining, by the terminal device, the multicast network quality according to the first delay and the second delay. sending (S401, S601), by a terminal device, a first domain name resolution request to a network node, wherein the first domain name resolution request is used to instruct the network node to return a first multicast test address; receiving, by the terminal device, the first multicast test address returned by the network node; sending (S403, S604), by the terminal device, a first multicast test join request to the network node by using the first multicast test address, and recording a time point for sending the first multicast test join request; receiving, by the terminal device, a first packet returned by the network node, and recording a time point for receiving the first packet; calculating, by the terminal device according to the time point for sending the first multicast test join request and the time point for receiving the first packet, a first delay caused when the terminal device joins a multicast test group of the network node; and determining, by the terminal device, multicast network quality according to the first delay; wherein the method further comprises: sending, by the terminal device, a second domain name resolution request to the network node, wherein the second domain name resolution request is used to instruct the network node to return a second multicast test address; receiving, by the terminal device, the second multicast test address returned by the network node; sending, by the terminal device, a second multicast test join request to the network node by using the second multicast test address, and recording a time point for sending the second multicast test join request, so that the network node forwards the second multicast test join request to a multicast server; receiving, by the terminal device, a second packet forwarded by the network node, and recording a time point for receiving the second packet; calculating, by the terminal device according to the time point for sending the second multicast test join request and the time point for receiving the second packet, a second delay caused when the terminal device joins a multicast group of the multicast server; and determining, by the terminal device, the multicast network quality according to the first delay and the second delay. sending, by the terminal device, a second domain name resolution request to the network node, wherein the second domain name resolution request is used to instruct the network node to return a second multicast test address; receiving, by the terminal device, the second multicast test address returned by the network node; sending, by the terminal device, a second multicast test join request to the network node by using the second multicast test address, and recording a time point for sending the second multicast test join request, so that the network node forwards the second multicast test join request to a multicast server; receiving, by the terminal device, a second packet forwarded by the network node, and recording a time point for receiving the second packet; calculating, by the terminal device according to the time point for sending the second multicast test join request and the time point for receiving the second packet, a second delay caused when the terminal device joins a multicast group of the multicast server; and determining, by the terminal device, the multicast network quality according to the first delay and the second delay.