Hướng dẫn di chuyển khi các luồng và chương trình phát sóng mặc định không còn được dùng nữa

Tổng quan

Hướng dẫn này dành cho nhà phát triển ứng dụng API sử dụng tài nguyên liveStream và liveBroadcast mặc định của kênh YouTube để phát trực tiếp nội dung. Hướng dẫn này nhằm giúp bạn đảm bảo rằng ứng dụng của bạn xử lý việc ngừng sử dụng các sự kiện phát và luồng phát mặc định một cách suôn sẻ. Hướng dẫn này phù hợp với bạn nếu ứng dụng của bạn đáp ứng bất kỳ điều kiện nào sau đây:

  • Kiểm tra giá trị của thuộc tính isDefaultBroadcast trong tài nguyên liveBroadcast.
  • Kiểm tra giá trị của thuộc tính isDefaultStream trong tài nguyên liveStream.
  • Gọi liveBroadcasts.list phương thức và đặt giá trị tham số broadcastType thành persistent. Kể từ ngày ngừng sử dụng:

    • Nếu giá trị tham số broadcastType là persistent, thì phương thức liveBroadcasts.list sẽ không trả về kết quả nào.
    • Nếu giá trị tham số broadcastType là all, thì phương thức liveBroadcasts.list sẽ không trả về các sự kiện phát liên tục đã tồn tại trước đó.

Nếu ứng dụng của bạn bị ảnh hưởng, vui lòng tham khảo phần Cập nhật ứng dụng. Phần này giải thích những thay đổi về quy trình mà ứng dụng của bạn có thể cần thực hiện do việc ngừng sử dụng này. Phần đó xác định các bước cụ thể trong hướng dẫn Vòng đời của một sự kiện phát mà ứng dụng API của bạn có thể không tuân theo nếu hiện đang sử dụng sự kiện phát và luồng phát mặc định.

Điều gì đang xảy ra?

Kể từ năm 2015, YouTube đã tự động tạo một luồng phát mặc định và một sự kiện phát mặc định cho một kênh khi kênh đó được bật tính năng phát trực tiếp. Luồng phát mặc định tồn tại vô thời hạn và không thể xoá. Tương tự, sự kiện phát mặc định được coi là liên tục. Sự kiện này luôn tồn tại, không có thời gian bắt đầu hoặc kết thúc được liên kết và không bị ràng buộc với một sự kiện cụ thể.

Kể từ ngày ngừng sử dụng nêu trên, YouTube sẽ không còn tạo các luồng phát và sự kiện phát mặc định nữa. Thay đổi này ảnh hưởng đến các ứng dụng dựa vào những tài nguyên đó để phát trực tiếp nội dung. Thay đổi này cũng sẽ ảnh hưởng đến các ứng dụng có giao diện người dùng được tuỳ chỉnh để phân biệt giữa những tài nguyên mặc định đó và các sự kiện phát và luồng phát khác mà chủ sở hữu kênh đã tạo.

Thay vì dựa vào các tài nguyên mặc định, ứng dụng API cần tạo và quản lý tài nguyên liveBroadcast và liveStream, đồng thời liên kết các tài nguyên đó với nhau.

Cập nhật ứng dụng

Để xem nhanh thuật ngữ, sự kiện phát đại diện cho một sự kiện có thể được xem trên YouTube khi sự kiện đó diễn ra và luồng phát là cơ chế gửi nội dung video thực tế lên YouTube. Một sự kiện phát có thể và cần được liên kết với chính xác một luồng phát.

Di chuyển từ các sự kiện phát mặc định

Trước khi ngừng sử dụng, ứng dụng API có thể chọn sử dụng sự kiện phát mặc định của kênh hoặc tạo một sự kiện phát dành riêng cho sự kiện. Sự kiện phát mặc định là một tài nguyên liên tục có thể được sử dụng lại cho nhiều sự kiện, trong khi tài nguyên sự kiện phát dành riêng cho sự kiện là tài nguyên dùng một lần tương ứng với chính xác một video trên YouTube.

Ứng dụng của bạn sử dụng sự kiện phát mặc định nếu ứng dụng đó gọi phương thức liveBroadcasts.list và thực hiện một trong những thao tác sau:

  • Đặt broadcastType giá trị tham số thành persistent. Yêu cầu này chỉ truy xuất sự kiện phát mặc định.
  • Đặt giá trị tham số broadcastType thành all, sau đó xác định tài nguyên liveBroadcast trong phản hồi của API mà isDefaultBroadcast giá trị của thuộc tính là true.

Sau khi ngừng sử dụng, YouTube sẽ chỉ hỗ trợ các sự kiện phát dành riêng cho sự kiện. Điều này có nghĩa là thay vì dựa vào sự kiện phát mặc định, ứng dụng cần tạo tài nguyên liveBroadcast cho từng sự kiện phát riêng lẻ.

Để tạo tài nguyên liveBroadcast, hãy gọi phương thức liveBroadcasts.insert. Quy trình này được giải thích trong bước 1.1 của hướng dẫn "Vòng đời của một sự kiện phát".

Nếu chưa thực hiện, giao diện người dùng của bạn cũng cần cung cấp cơ chế để người dùng phân biệt và chọn giữa các sự kiện phát dành riêng cho sự kiện sắp tới.

Di chuyển từ các luồng phát mặc định

Luồng phát cho phép bạn truyền nội dung âm thanh và video lên YouTube, đồng thời xác định các chế độ cài đặt về cách bạn phát trực tiếp nội dung lên YouTube. Các đài truyền hình thường sử dụng lại cùng một luồng phát cho nhiều sự kiện phát khác nhau nếu những sự kiện phát đó diễn ra vào các thời điểm khác nhau.

Mặc dù ứng dụng của bạn không thể sử dụng luồng phát mặc định, nhưng ứng dụng đó có thể tạo một luồng phát có thể sử dụng lại cho mỗi sự kiện phát. Để tạo liveStream tài nguyên, hãy gọi liveStreams.insert phương thức, làm theo hướng dẫn trong bước 1.2 của hướng dẫn "Vòng đời của một sự kiện phát". Theo mặc định, các luồng phát mới tạo có thể sử dụng lại. Tuy nhiên, nếu muốn, bạn có thể đặt thuộc tính contentDetails.isReusable thành false để tạo các luồng sử dụng một lần và có mối quan hệ một-một giữa các sự kiện phát và luồng phát.

Danh sách sau đây chứa 4 thuộc tính, bên cạnh tiêu đề luồng phát và nội dung mô tả luồng phát, mà bạn có thể đặt khi tạo một luồng phát mới. Danh sách này cho biết các giá trị mà luồng phát mặc định sử dụng cho từng thuộc tính. Đây có thể là các chế độ cài đặt mà bạn muốn sử dụng trong ứng dụng nếu bạn đang di chuyển khỏi việc sử dụng các luồng phát mặc định.

Liên kết sự kiện phát với luồng phát

Mỗi tài nguyên liveBroadcast phải được liên kết với chính xác một luồng phát trước khi sự kiện phát sóng trực tiếp trên YouTube thực sự có thể bắt đầu. (Sự kiện phát không được liên kết với bất kỳ luồng phát nào tại thời điểm tạo.)

Quá trình liên kết được xử lý tự động cho sự kiện phát mặc định, được liên kết không thể tách rời với luồng phát mặc định. Tuy nhiên, sau ngày ngừng sử dụng, ứng dụng cần quản lý quy trình đó cho tất cả sự kiện phát.

Để liên kết một sự kiện phát với một luồng phát, hãy gọi phương thức liveBroadcasts.bind như giải thích trong bước 1.3 của hướng dẫn "Vòng đời của một sự kiện phát".

  • Nếu đang sử dụng luồng phát có thể sử dụng lại, bạn có thể tạo một luồng phát một lần rồi liên kết mọi sự kiện phát với luồng phát đó.
  • Nếu không sử dụng luồng phát có thể sử dụng lại, bạn cần tạo một sự kiện phát và một luồng phát, sau đó liên kết hai sự kiện đó với nhau.

Kiểm thử sự kiện phát

Khi không sử dụng sự kiện phát mặc định, bạn có thể kiểm thử sự kiện phát. Để tiến hành kiểm thử, bạn hãy nhúng một trình phát cho phép bạn xem trước video sự kiện phát như video đó sẽ xuất hiện với người xem trên YouTube, nhưng những người xem khác sẽ không thấy sự kiện phát đó.

Nếu ứng dụng API của bạn trước đây đã sử dụng sự kiện phát và luồng phát mặc định và bạn muốn thêm giai đoạn kiểm thử vào quy trình xử lý theo luồng, hãy xem giai đoạn 3 của "Vòng đời của một sự kiện phát" hướng dẫn.

Nếu bạn muốn kiểm thử luồng phát, thì khi chèn một sự kiện phát, bạn cần đặt thuộc tính contentDetails.monitorStream.enableMonitorStream thành true và thuộc tính contentDetails.enableAutoStart thành false. Đây là các giá trị mặc định cho cả hai thuộc tính.

Sử dụng tính năng tự động bắt đầu và tự động dừng

Sự kiện phát mặc định tự động bắt đầu bất cứ khi nào bạn bắt đầu phát trực tiếp video trên luồng phát mặc định. Tương tự, sự kiện phát mặc định kết thúc sau khi bạn ngừng phát trực tiếp video. Mỗi phiên phát trực tiếp sử dụng các tài nguyên mặc định đó sau đó sẽ trở thành một video trong kênh của bạn.

Mặc dù tính năng tự động bắt đầu và tự động dừng là hành vi mặc định cho các sự kiện phát mặc định, nhưng các tính năng đó là không bắt buộc và cần được bật cho các sự kiện phát khác. Nếu bạn muốn sử dụng các tính năng này, thì khi chèn một sự kiện phát, bạn cần đặt giá trị thuộc tính contentDetails.enableAutoStart và contentDetails.enableAutoStop thành true. Các tính năng này độc lập, vì vậy bạn có thể chọn sử dụng một tính năng và không sử dụng tính năng còn lại.

Nếu bạn không bật tính năng tự động bắt đầu và tự động dừng cho các sự kiện phát mới, thì ứng dụng API của bạn cần gọi phương thức liveBroadcasts.transition để cập nhật trạng thái của sự kiện phát khi bạn bắt đầu và kết thúc phát trực tiếp video. Trong hướng dẫn "Vòng đời của một sự kiện phát" , hãy xem bước 4.3 và bước 5.2 để biết hướng dẫn về cách quản lý các quá trình chuyển đổi này ở đầu và cuối sự kiện phát.