1. Về nginx-rtmp module

Nginx-rtmp là module mở rộng, mà kết hợp với Nginx để cho phép xây dựng máy chủ streaming media.

Đang xem: Giới thiệu về kỹ thuật video streaming server là gì, streaming server là gì

Một số tính năng mà nginx-rtmp hỗ trợ:

*
*
*
*

4. VOD qua HLS

Chúng ta sẽ cấu hình để cho phép video player phát video qua giao thức HLS (Apple HTTP Live Streaming).

4.1 Cài đặt Ffmpeg

Sử dụng script Installing FFmpeg on Linux

Nếu chỉ sử dụng một thư viện có sẵn thì cài đặt đơn giản như sau trên CentOS

yum install ffmpeg ffmpeg-devel ffmpeg-libpostproc

Trong phần Giới thiệu FFmpeg, cũng đã giới thiệu và cách sử dụng cơ bản FFmpeg.

Xem thêm: Ghế Sofa Là Gì ? Các Loại Ghế Sofa Hiện Nay Các Loại Ghế Sofa Hiện Nay

4.2 Convert tệp vod.mp4 sang HLS

Trước khi convert, chúng ta thực hiện copy/download tệp tin video lên server (ví dụ tệp tin là vod.mp4)

Sử dụng lệnh ffmpeg để convert vod.mp4 sang định dạng HLS (Apache HTTP Live Stream)

ffmpeg -i video.mp4 -profile:v baseline -level 3.0 -s 720×400 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls /tmp/index.m3u8

Trong đó:

vod.mp4 là tệp video đầu vào cần convertindex.m3u8 là tệp tin master đầu ra của HLS playlistvà một số tham số tùy chọn cho độ phân giải, thời gian phân đoạn, …

4.3 Cấu hình nginx

Ở đây, Chúng ta sẽ cấu hình nginx làm web server, đồng thời cấu hình làm media server.

Xem thêm: ” Swish Là Gì ? Nghĩa Của Từ Swish Trong Tiếng Việt Nghĩa Của Từ Swish Trong Tiếng Việt

user nginx;worker_processes 1;error_log logs/rtmp_error.log debug;pid /var/run/nginx.pid;events { worker_connections 1024;}http { #serve the player for HLS server { listen 80; root /var/www/html; server_name localhost; location /hls { # CORS setup add_header “Access-Control-Allow-Origin” “*” always; add_header “Access-Control-Expose-Headers” “Content-Length”; # Allow CORS preflight requests if ($request_method = “OPTIONS”) { add_header “Access-Control-Allow-Origin” “*”; add_header “Access-Control-Max-Age” 1728000; add_header “Content-Type” “text/plain charset=UTF-8”; add_header “Content-Length” 0; return 204; } types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } add_header Cache-Control no-cache; alias /tmp; } }}Listen với port default 80Playlist của stream là tệp tin m3u8, với các segment là tệp tsĐường dẫn thư mục chứa các playlist là /tmp

4.4 Phát video trên web browser với videojs

Chúng ta có thể phát video trên web browser, mà sử dụng flash player như Flowplayer hay Jwplayer. Trong trường hợp này, tôi sẽ giới thiệu sử dụng videojs player cho phát video trên web browser.

Link về videojs: https://github.com/videojs/http-streaming

Trên Nginx web server, chúng ta sẽ tạo tệp tin index.html với nội dung sau vào root directory:

Leave a Reply

Your email address will not be published. Required fields are marked *