Tài liệu này giải thích cách sử dụng RTMPS để truyền trực tuyến dữ liệu trực tiếp trên YouTube từ một bộ mã hoá. RTMPS là một luồng video RTMP (Giao thức truyền thông theo thời gian thực) thông thường được truyền qua một kết nối SSL. Tài liệu này dành cho những nhà cung cấp bộ mã hoá muốn thêm tính năng hỗ trợ RTMPS vào những bộ mã hoá đã hỗ trợ RTMP.
RTMPS là lựa chọn phù hợp cho hầu hết nội dung thông thường của người dùng, đặc biệt là nếu nội dung đó yêu cầu độ trễ thấp. Xem Bảng so sánh giao thức truyền dẫn để biết thông tin tổng quan về các giao thức truyền dẫn mà dịch vụ Phát trực tiếp trên YouTube hỗ trợ.
Yêu cầu
Để gửi RTMPS đến chế độ Phát trực tiếp trên YouTube, bạn cần đáp ứng một số điều kiện tiên quyết:
- Mỗi phần của URL kết nối (
<protocol>://<server>/<path>
) phải chính xác:- Giao thức phải là
rtmps
. - Máy chủ phải là một điểm tiếp nhận RTMPS hợp lệ của YouTube.
- Đường dẫn phải là tên ứng dụng RTMP hợp lệ của tính năng Phát trực tiếp trên YouTube.
- Giao thức phải là
- Bạn phải kết nối với cổng 443 trên máy chủ tiếp nhận.
- Bạn phải gửi luồng đa phương tiện bằng RTMPS, tức là sử dụng RTMP qua kết nối SSL.
Lấy URL kết nối
Nếu bộ mã hoá của bạn đã sử dụng YouTube Live API, thì quy trình lấy URL truyền dẫn RTMPS cũng tương tự như quy trình lấy URL truyền dẫn RTMP. Gửi yêu cầu LiveStreams insert (POST) để tạo một luồng truyền tải mới. Trong phản hồi, trường cdn.ingestionInfo.rtmpsIngestionAddress
chỉ định URL dùng cho RTMPS. Nếu bạn hỗ trợ tính năng truyền tải kép, thì địa chỉ dự phòng là cdn.ingestionInfo.rtmpsBackupIngestionAddress
.
Tạo kết nối
Sử dụng thư viện ổ cắm mà bạn muốn để tạo kết nối SSL/TLS đến cổng 443 tại máy chủ mà URL truyền tải chỉ định. Vì TLS chỉ hoạt động với tầng truyền tải, nên tên máy chủ không bắt buộc phải khởi tạo kết nối; tuy nhiên, tên máy chủ là bắt buộc để xác thực với các máy chủ của chúng tôi. Vì vậy, hãy nhớ thêm tiện ích SNI (Chỉ báo tên máy chủ) vào quá trình bắt tay SSL và đặt tên máy chủ thành tên máy chủ mà bạn đang kết nối.
Sau khi thiết lập kết nối SSL, hãy sử dụng kết nối này làm kết nối cho thư viện ứng dụng RTMP. Một kết nối SSL đã khởi chạy có cùng API như một kết nối TCP tiêu chuẩn, do đó, thư viện RTMP sẽ có thể hoạt động với cả hai kết nối này một cách giống hệt nhau.
Khắc phục sự cố
Lỗi SSL
Nếu bạn cố gắng tạo một kết nối SSL nhưng nhận được chứng chỉ không hợp lệ, thì có thể bạn đang kết nối với một máy chủ YouTube yêu cầu RTMP. Đảm bảo rằng tên máy chủ bạn sử dụng có "rtmps" trong đó (lưu ý chữ "s").
Nếu URL chính xác nhưng bạn vẫn gặp lỗi SSL, thì có thể bạn đang kết nối với cổng không chính xác. Xác nhận rằng bạn đang kết nối với cổng 443.
Nếu URL và cổng chính xác, thì thư viện SSL của bạn có thể không xử lý chứng chỉ đúng cách. Tìm các thông báo chẩn đoán cấp thấp về lỗi SSL và kiểm tra kỹ để đảm bảo rằng bạn đang sử dụng SNI trong quá trình bắt tay.
Hết thời gian chờ để kết nối
Nếu có thể kết nối với máy chủ nhưng thư viện RTMP của bạn hết thời gian chờ mà không nhận được phản hồi hợp lý, thì có thể bạn đã thiết lập một kết nối RTMP văn bản thô với một máy chủ YouTube dự kiến RTMPS. Đảm bảo rằng bạn đang tạo một kết nối SSL chứ không phải kết nối TCP thông thường.