Phân phối nội dung trực tiếp trên YouTube qua RTMPS

Tài liệu này giải thích cách sử dụng RTMPS để phát trực tiếp dữ liệu trên YouTube từ bộ mã hoá. RTMPS là một luồng video RTMP (Giao thức nhắn tin theo thời gian thực) thông thường, được xây dựng qua đường kết nối SSL. Tài liệu này dành cho các nhà cung cấp bộ mã hoá muốn hỗ trợ RTMPS vào các 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à khi cần độ trễ thấp. Vui lòng xem phần 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 khác nhau mà tính năng 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 sau:

  • Mỗi phần của URL kết nối (<protocol>://<server>/<path>) phải đúng:
    • Giao thức phải là rtmps.
    • Máy chủ phải là một điểm cuối truyền dẫn RTMPS trên YouTube hợp lệ.
    • Đường dẫn phải là tên ứng dụng RTMP trực tiếp hợp lệ trên YouTube.
  • Kết nối phải được thực hiện với cổng 443 trên máy chủ truyền dẫn.
  • Luồng đa phương tiện phải được gửi 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 API Trực tiếp trên YouTube, thì quy trình lấy URL truyền dẫn RTMPS cũng tương tự như quy trình nhận URL cho RTMP. Gửi yêu cầu Chèn luồng (POST) để tạo luồng truyền dẫn mới. Trong nội dung phản hồi, trường cdn.ingestionInfo.rtmpsIngestionAddress chỉ định URL RTMPS. Nếu bạn hỗ trợ nhập kép, địa chỉ sao lưu sẽ là cdn.ingestionInfo.rtmpsBackupIngestionAddress.

Tạo kết nối

Sử dụng thư viện ổ cắm ưu tiên của bạn để tạo kết nối SSL/TLS tới cổng 443 tại máy chủ mà URL truyền dẫn chỉ định. Vì TLS chỉ hoạt động với lớp 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, bạn bắt buộc phải xác thực tên máy chủ này. Vì vậy, hãy nhớ thêm phần mở rộng APNS (Chỉ báo tên máy chủ) vào 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 đó làm thư viện cho ứng dụng RTMP. Kết nối SSL đã khởi chạy có cùng API với kết nối TCP chuẩn, và vì vậy, thư viện RTMP có thể hoạt động với cả hai theo cách thông thường.

Khắc phục sự cố

Lỗi SSL

Nếu bạn cố gắng tạo 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áy chủ của YouTube yêu cầu RTMP. Hãy đảm bảo rằng tên máy chủ bạn sử dụng có "rtmp" (lưu ý), hãy lưu ý đến "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 nhầm cổng. 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ư viện SSL của bạn có thể đang xử lý không đúng cách chứng chỉ. Tìm thông báo chẩn đoán cấp thấp về lỗi SSL, đồng thời kiểm tra kỹ xem bạn có đang sử dụng AAC trong giao thức bắt tay hay không.

Hết thời gian chờ để kết nối

Nếu bạn 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ì bạn có thể đã thiết lập kết nối RTMP văn bản rõ ràng với máy chủ YouTube có thể hỗ trợ RTMPS. Hãy đảm bảo rằng bạn đang tạo kết nối SSL, không phải kết nối TCP đơn thuần.