A heuristic algorithm is proposed in this paper to construct a set of Steiner trees for multicast with multiple sources under the softwaredefined networking (SDN) architecture, where each source is associated with a group of receivers. It is based on the extended Dijkstra's shortest path algorithm and the modified selective closest terminal first Steiner tree algorithm. The former algorithm considers not only the edge weights but also the node weights to form data routing path with the shortest delay. The latter algorithm regards nodes with shorter paths to the source to have higher priority in the priority queue for growing Steiner trees. In this way, the number of Steiner tree edges is reduced and thus the bandwidth consumption is cut down. The proposed algorithm is simulated by the EstiNet emulator along with a Ryu controller for different multicast scenarios. The simulation results are compared with those of related algorithms in terms of the source-To-receiver delay and the bandwidth consumption to show the advantage of the proposed algorithm.