Search code examples
phplaravelvideotranscoding

How to make video playback faster?


I have system in which video is being uploaded from admin panel.Video is of high quality HD. So when video played on browser on mobile device its playback is very slow & takes lot of time to play. In order to make It fast playback someone suggests to use below options

1.AWS Elastic transcode

2.Vimeo for hosting & playback

Is there any way this can be improved ?


Solution

  • The reason your high quality video has slow playback, by which I assume you mean buffering and pauses rather than playing at a slower speed, is usually because video files are large and the bandwidth to transfer them is limited.

    The most common solutions to this are:

    • use a more aggressive or bandwidth saving video codec - this will reduce bandwidth at the expense of video quality.
    • use a CDN. This is essentially a way of cacheing the video so it is closer to the edge of the network for your viewers.
    • Use Adaptive Bit Rate Streaming ABR - this creates multiple bitrate versions of your video and the client downloads the video chink by chunk, selecting the bit rate for the next chunk based on the current network conditions - see: https://stackoverflow.com/a/42365034/334402

    Using a provider like Vimeo, YouTube etc to host your videos means that they will take care of all the above and you don't have to worry about it. If you prefer to do it yourself then you can build a solution using AWS Media Services, Wowza, gStreamer etc, but it is a specialist area and will be more complex than using a hosted solution.