Nginx serving static media video files
1. Let’s create a simple Nginx server, this post does just that.
2. Let’s create a folder on the server with a sample video. The following uses curl to download a sample mp4 file from samples-videos.com, you can also add a video to this directory by uploading a video file from your local pc.
cd /home mkdir my_videos cd my_videos sudo curl https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4 --output bunny.mp4
3. To serve the media file, add this in the Nginx config file located at /etc/nginx/sites-available/default, it should be added before all other location configs.
location /media/ { alias /home/my_videos/; }
4. Verify that after step 3, the config file should look like this.
server { listen 80; server_name YOUR_SERVER_EXTERNAL_IP_ADDRESS_or_YOUR_DOMAIN_NAME; listen 443 ssl; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; location /media/ { alias /home/my_videos/; } location / { proxy_pass "http://127.0.0.1:8080"; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_cache_bypass $http_upgrade; } }
5. Restart Nginx.
sudo service nginx restart
6. Open a browser and verify that the video from step 2 can be played. Suppose your server ip address is 123.456.78.9, the video link should be.
http://123.456.78.9/media/bunny.mp4
https://123.456.78.9/media/bunny.mp4
7. To play the video from the video url with Exoplayer in Android, see this post.
Search within Codexpedia
Search the entire web