Peer-to-peer live streaming is a promising way for service providers to offer high-quality IPTV to consumers at reasonable cost. The fundamental problem in peer-to-peer streaming is its capacity problem, or the maximum supported stream rate for a given network with a given peer selection constraint. This problem has been widely studied for small networks where the number of downloading peers is unlimited. For a large networks, however, the number of downloading peers must be limited, which adds an outgoing degree bound for each overlay multicast tree. The streaming capacity problem under uniform degree bound has been first studied in , which solves the problem for homogeneous users, and derives an upper bound for streaming capacity for heterogeneous users. In this paper, we first design an algorithm to construct trees that actually achieve the upper bound for streaming capacity under the case of heterogeneous users with uniform degree bound, and next solve the streaming capacity problem for non-uniform degree bound case also. From our study of the non-uniform degree bound case, we see that the degree bounds do not affect the streaming capacity if the degree bound of each peer is proportional to its uplink capacity.