Adaptive Streaming Server dengan FFMPEG dan Golang - David Kristiadi; Marwiyati (Ikatan Ahli Informatika Indonesia (IAII), 2021)
Quality of experience (QoE) when accessing video streaming becomes a challenge in varieties of network bandwidth/speed. Adaptive streaming becomes an answer to gain good QoE. An architecture system of the adaptive streaming server with Dynamic Adaptive Streaming over HTTP (DASH) was proposed. The system was consists of two services e.g transcoding and streaming. Transcoding service encodes an audio file, multi-bitrates video files, and manifest.mpd files. Streaming service serves client streaming requests that appropriate to client network profiles. The system is built using the Golang programming environment and FFMPEG. Transcoding service has some execution mode (serial and concurrent) and passing mode (1 pass and 2 passes). The transcoding service test results show that concurrent execution is faster 11,5% than the serial execution and transcoding using 1 pass is faster 46,95% than 2 passes but the bitrate of output video lower than the determinate bitrate parameter. The streaming service has a good QoE. In the 5 scenarios, buffer level=0 happens 5 times, and its total duration is 64 seconds. Buffer level=0 happens when extreme changes happen in network speed from fast to too slow.