Unified video-on-demand (UVoD) is an architecture that integrates multicast transmission with unicast transmission to improve system efficiency. Streaming channels in a UVoD system are divided into unicast and multicast channels, with the multicast channels further divided equally among all videos. This uniform channel-allocation scheme is simple to design and implement, but the performance may not be optimal due to differences in video popularity. This paper investigates this channel-allocation problem with the goal of optimizing system efficiency. First, the uniform allocation assumption is removed and the channel-allocation problem formulated as a nonlinear integer optimization problem. This optimization model results in nonuniform channel allocations that can save up to 10% of channels. Second, to reduce the computational complexity in solving the nonlinear optimization model, an approximate model is derived and solved under small-latency conditions to obtain a closed-form solution. Third, a much simpler class-based popularity model is proposed and shown to achieve good efficiency, even if the precise popularity of each video is not known. Lastly, a zero-multicast channel-optimization algorithm is introduced that can further reduce channel requirement for systems with a large number of video selections. Numerical results show that optimized nonuniform channel-allocation policies can achieve channel reduction over uniform channel allocation by as much as 50% for a 1000-video system.