I can't see the problem in your code. My guess is that, for some reason, your Android device is not maintaining the session. Perhaps it has a "private browsing" mode activated?
Providing video is complex. You are much better off using a dedicated service. Laracasts uses Vimeo Pro, which is also what I would recommend.
Other popular options include YouTube and Wistia. YouTube is free, but the YouTube "experience" tends to capture visitors for YouTube, rather than keeping them on your site. Wistia is like Vimeo, but it has some nice extra features such as video heat-map analytics. Wistia can potentially get very expensive if you have a lot of traffic (for example, if you provide some free videos).
It's possible to go down a more "custom" route. For example, I previously used the Highwinds CDN to serve the video, and Flowplayer as the video player. This provided better content protection (with RTMP, and later HTTP streaming), but it was a huge hassle and the result was patchy. I don't recommend this.