ABSTRACT: In this paper, we address the problem of selecting and composing video transcoding services in a distributed cloud environment. One of the challenging issues for video transcoding service composition is how to find the best transcoding path to route the data flow through while satisfying the viewer requirements and specifications. In a cloud environment, video transcoding service providers provide different video transcoding services that have similar functionality (i.e., format conversion), but with different Quality of Services (QoS) specifications. Since the combination of the QoS specifications, such as frame size, frame rate, video bit rate, and transcoding delay might affect the end user's experience in non-intuitive and subjective way and also might affect the delivering of a high quality video content over any type of network, we propose a QoS-aware model to select and compose the best video transcoding services to satisfy hard constraints on the input and output video formats and comes as close as possible to satisfying soft constraints on the QoS. This model uses an aggregate function to evaluate the QoS for each transcoding service and for each viewer request to explore the best composition path. In this paper, we adapt the Simulated Annealing (SA) algorithm and the Genetic Algorithm (GA) as candidate solutions to help in the composition process. The SA/GA algorithms provide multi-constraints QoS assurance for video transcoding service composition. They also support directed acyclic graph composition topology. We have implemented a prototype of the proposed algorithms and conducted experiments using small-, medium-, and large-scale graphs of video transcoders and sample viewer requests to measure the performance and the quality of the results. The experimental results show that the SA outperforms the GA in terms of performance and success ratio for small-scale graph, while GA outperforms the SA algorithm in terms of performance for medium-and large-scale graphs. The success ratio for the SA and GA algorithms are close to each other for medium-and large-scale graphs. At the end, we provide several directions and suggestions for future work