API Phát trực tiếp trên YouTube - Nhật ký sửa đổi

Trang này liệt kê các thay đổi đối với API Phát trực tiếp trên YouTube và nội dung cập nhật cho tài liệu.

Ngày 12 tháng 10 năm 2026

Bản cập nhật này có các thay đổi sau:

Ngày 18 tháng 8 năm 2026

Bản cập nhật này có các thay đổi sau:

  • Tài liệu về phương thức liveBroadcasts.update đã được cập nhật để bổ sung các lỗi mới liên quan đến việc kiếm tiền: preconditionFailed (412) (lý do: videoNotEligibleForAdsMonetization) và backendError (503) (lý do: backendError).

Ngày 17 tháng 8 năm 2026

Bản cập nhật này có các thay đổi sau:

  • Thuộc tính snippet.categoryId mới của tài nguyên liveBroadcast cho phép bạn đặt, cập nhật và truy xuất danh mục video liên kết với một sự kiện phát sóng trực tiếp.

Ngày 20 tháng 7 năm 2026

Bản cập nhật này có các thay đổi sau:

Ngày 9 tháng 7 năm 2026

Bản cập nhật này có những thay đổi sau:

Ngày 1 tháng 6 năm 2026

Bản cập nhật này có những thay đổi sau:

  • Thuộc tính contentDetails.availabilityConfig của tài nguyên liveBroadcast cho phép bạn chỉ định các quy định hạn chế về địa lý đối với một chương trình phát sóng trực tiếp để có thể quản lý phạm vi cung cấp theo khu vực cho các sự kiện trực tiếp.

Ngày 26 tháng 3 năm 2026

Bản cập nhật này có những thay đổi sau:

  • Thuộc tính snippet.type hiện hỗ trợ giá trị mới giftEvent.

  • Thuộc tính snippet.giftEventDetails mới của tài nguyên liveChatMessage và các thuộc tính con của tài nguyên này chứa thông tin về sự kiện tặng quà.

Ngày 12 tháng 1 năm 2026

API này hiện hỗ trợ việc bật quảng cáo trong video và tự động chèn quảng cáo trong video cho các chương trình phát sóng trực tiếp.

Chủ sở hữu sự kiện phát sóng có thể chọn bật quảng cáo trong video cho một sự kiện phát sóng, miễn là sự kiện đó đủ điều kiện để chạy quảng cáo trong video. Chủ sở hữu cũng có thể tắt quảng cáo trong video cho một chương trình phát sóng bất cứ lúc nào.

Nếu một chương trình phát sóng được bật quảng cáo trong video, thì chủ sở hữu chương trình phát sóng có thể chọn bật tính năng tự động chèn quảng cáo trong video. Họ cũng có thể tắt quảng cáo tự động cho một chương trình phát sóng bất cứ lúc nào.

Khi bật quảng cáo tự động, chủ sở hữu sự kiện phát sóng có thể chọn một trong các lựa chọn sau:

  • Để YouTube tối ưu hoá việc chèn quảng cáo chèn giữa. Lựa chọn này hỗ trợ 3 chế độ:
    • Thấp: tiềm năng kiếm thu nhập thấp hơn, trải nghiệm xem ít gián đoạn hơn
    • Trung bình: tiềm năng kiếm thu nhập ở mức trung bình, trải nghiệm người xem cân bằng
    • Cao: tiềm năng kiếm thu nhập cao hơn, nhưng người xem bị gián đoạn nhiều hơn
  • Định cấu hình chiến lược và khoảng thời gian chèn quảng cáo giữa video theo cách thủ công. Trong trường hợp này, chủ sở hữu phải thiết lập hai tham số:
    1. Chiến lược lập lịch cho điểm gợi ý quảng cáo. Bạn có thể chèn điểm đánh dấu đồng thời cho tất cả người xem hoặc thời gian của điểm đánh dấu có thể thay đổi tuỳ theo từng người xem. Chiến lược sau cho phép YouTube lên lịch điểm gợi ý với tần suất cao hơn, giúp người xem nhận được điểm gợi ý khi họ đủ điều kiện.
    2. Độ dài của khoảng thời gian giữa các điểm chèn quảng cáo chèn giữa.

Tài liệu này phản ánh những thay đổi sau đây đối với API để hỗ trợ tính năng này:

  • Đối tượng liveBroadcast của tài nguyên monetizationDetails chứa các trường để bật quảng cáo trong video và cấu hình quảng cáo tự động.
  • Bạn có thể dùng phương thức update để bật hoặc tắt quảng cáo trong video. Bạn cũng có thể sử dụng phương thức đó để thiết lập quảng cáo tự động cho một chương trình phát sóng trực tiếp. Tài liệu này xác định một số lỗi mới có thể xảy ra khi bạn cập nhật chế độ cài đặt kiếm tiền và quảng cáo tự động cho một sự kiện phát trực tiếp.

Ngày 14 tháng 7 năm 2025

Nội dung mô tả về phương thức liveChatMessages.streamList đã được cập nhật để hướng dẫn cách sử dụng API streamList.

Ngày 9 tháng 10 năm 2023

Bạn có thể tham khảo tệp CSV này để biết mã Hình dán đặc biệt tương ứng với từng Super Stickers. Định nghĩa về thuộc tính snippet.superStickerDetails.superStickerMetadata.stickerId của tài nguyên liveChatMessage và thuộc tính snippet.superStickerMetadata.stickerId của tài nguyên superChatEvent đều đã được cập nhật để phản ánh thông tin này.

Ngày 15 tháng 9 năm 2023

API này hiện hỗ trợ một cách thức mới để chèn quảng cáo vào chương trình phát sóng trực tiếp. Ngoài liveCuepoints (cho phép bạn chèn điểm chèn quảng cáo vào một chương trình phát sóng theo cách thủ công), YouTube hiện hỗ trợ một tính năng tự động chèn điểm chèn quảng cáo trong video vào một chương trình phát sóng theo khoảng thời gian cố định.

Nếu bật quảng cáo tự động, chủ sở hữu chương trình phát sóng có thể xem các khía cạnh sau đây về hành vi của quảng cáo:

  • độ dài của khoảng thời gian giữa các điểm chèn quảng cáo trong video.
  • chiến lược lập lịch cho điểm đánh dấu quảng cáo. Bạn có thể chèn điểm dừng cho tất cả người xem cùng một lúc hoặc thời gian của điểm dừng có thể khác nhau tuỳ theo người xem. Chiến lược sau cho phép YouTube lên lịch điểm gợi ý với tần suất cao hơn, giúp người xem nhận được điểm gợi ý khi họ đủ điều kiện.
  • khoảng thời gian mà quảng cáo trong video không xuất hiện; đối với tính năng này, chủ sở hữu chương trình phát sóng chỉ định rằng việc chèn quảng cáo trong video sẽ tạm dừng cho đến một thời điểm cụ thể.

Tài liệu này phản ánh những thay đổi sau đây đối với API để hỗ trợ tính năng này:

  • Tài nguyên liveBroadcast hiện chứa một đối tượng monetizationDetails. Các trường của đối tượng cho biết liệu tính năng chèn quảng cáo tự động có được bật cho chương trình phát sóng hay không và chỉ định thông tin bổ sung để lên lịch cho các điểm gợi ý.
  • Tham số part của phương thức liveBroadcast.list hỗ trợ giá trị monetizationDetails.
  • Bạn có thể dùng phương thức update để tạm dừng chèn quảng cáo trong video trong một khoảng thời gian nhất định cho một chương trình phát sóng trực tiếp. Giờ đây, tài liệu này cũng xác định một số lỗi có thể xảy ra khi cập nhật thông tin chi tiết về việc kiếm tiền cho một chương trình phát sóng trực tiếp.

Ngày 1 tháng 8 năm 2023

Bản cập nhật này có những thay đổi sau:

  • Phương thức liveBroadcasts.update không còn yêu cầu bạn chỉ định giá trị cho các trường sau:

    • snippet.title
    • status.privacyStatus

    Nếu bạn bỏ qua các trường này trong yêu cầu, thì các trường này sẽ không thay đổi.

Ngày 1 tháng 11 năm 2022

  • Phương thức liveBroadcasts.cuepoint mới cho phép mọi chủ sở hữu kênh đang phát sóng trực tiếp trên YouTube chèn điểm gợi ý vào chương trình phát sóng đó, từ đó có thể kích hoạt điểm chèn quảng cáo. Phương thức này thay thế phương thức liveCuepoints.insert, vốn chỉ cho phép các đối tác nội dung của YouTube chèn điểm dừng vào sự kiện phát sóng trực tiếp.

    Một số hướng dẫn đã được cập nhật để phản ánh phạm vi cung cấp của phương thức mới này.

  • Lưu ý: Đây là thông báo về việc không dùng nữa.

    Giờ đây, phương thức liveCuepoints.insert không được dùng nữa. Chúng tôi sẽ ngừng hỗ trợ phương thức liveCuepoints.insert từ ngày 1 tháng 5 năm 2023 trở đi. Người dùng API nên cập nhật ứng dụng của họ để gọi phương thức liveBroadcasts.cuepoint.

  • Tài liệu về phương thức liveBroadcasts.control đã bị xoá. Thông báo về việc không dùng nữa phương thức đó đã được đăng vào tháng 9 năm 2020.

Ngày 1 tháng 10 năm 2022

Bản cập nhật này có những thay đổi sau:

  • Phương thức liveBroadcasts.update không còn yêu cầu bạn chỉ định giá trị cho các trường sau:

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    Nếu bạn bỏ qua các trường này trong yêu cầu, thì các trường này sẽ không thay đổi.

  • Đã xóa tài liệu cho các trường liveBroadcast lỗi thời:

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

Ngày 1 tháng 4 năm 2022

Bản cập nhật này có các thay đổi sau:

  • Thuộc tính snippet.type hiện hỗ trợ 2 giá trị mới:

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • Thuộc tính snippet.membershipGiftingDetails mới của tài nguyên liveChatMessage và các thuộc tính con của thuộc tính này chứa thông tin về sự kiện Tặng gói hội viên. Tương tự, thuộc tính snippet.giftMembershipReceivedDetails mới và các thuộc tính con của thuộc tính này chứa thông tin về sự kiện Nhận quà tặng gói hội viên.

Ngày 15 tháng 9 năm 2021

Bản cập nhật này có các thay đổi sau:

  • Thuộc tính snippet.type hiện hỗ trợ 2 giá trị mới:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • Thuộc tính snippet.memberMilestoneChatDetails mới của tài nguyên liveChatMessage và các thuộc tính con của tài nguyên này chứa thông tin về sự kiện Tin nhắn ghi nhận cột mốc làm hội viên. Tương tự, thuộc tính snippet.newSponsorDetails mới và các thuộc tính con của thuộc tính này chứa thông tin về sự kiện Nhà tài trợ mới.

Ngày 1 tháng 12 năm 2020

Phương thức liveBroadcasts.transition của API hỗ trợ lỗi 403 (Forbidden) mới, cho biết rằng người dùng đã gửi quá nhiều yêu cầu trong một khung thời gian nhất định. Lý do gây ra lỗi là userRequestsExceedRateLimit.

Ngày 21 tháng 9 năm 2020

  • Chúng tôi đã cập nhật định nghĩa về thuộc tính status.madeForKids của tài nguyên liveBroadcast để làm rõ rằng thuộc tính này chỉ có thể đọc. Điều này không phản ánh sự thay đổi về chức năng API.

    Để chỉ định một chương trình phát sóng trực tiếp là dành cho trẻ em, hãy đặt thuộc tính status.selfDeclaredMadeForKids thành true khi gọi phương thức liveBroadcasts.insert để tạo chương trình phát sóng.

  • Lưu ý: Thay đổi này bao gồm một thông báo ngừng hoạt động và một thông tin cập nhật cho thông báo ngừng hoạt động trước đó.

    Phương thức liveBroadcasts.control sẽ không còn được dùng nữa kể từ ngày 1 tháng 10 năm 2020. Sau ngày đó, tất cả các lệnh gọi đến phương thức này sẽ trả về lỗi bị cấm (403) và phương thức này sẽ bị xoá hoàn toàn sau đó. Khách hàng vẫn có thể triển khai bảng thông tin riêng bằng cách thêm lớp phủ vào video được gửi đến máy chủ nhập dữ liệu của YouTube.

    Ngày ngừng hoạt động trong thông báo ngừng hoạt động được đưa ra vào ngày 16 tháng 4 năm 2020 (ban đầu dự kiến là ngày 1 tháng 9 năm 2020) đã được lùi lại và hiện sẽ diễn ra vào hoặc sau ngày 1 tháng 10 năm 2020. Do đó, các tính năng có trong thông báo ngừng hoạt động đó và phương thức liveBroadcasts.control đều sẽ ngừng hoạt động cùng một lúc.

Ngày 17 tháng 7 năm 2020

Lưu ý: Đây là thông tin cập nhật cho một thông báo trước đó về việc ngừng sử dụng.

Trường cdn.format của tài nguyên liveStream (đã ngừng hoạt động từ tháng 4 năm 2016) sẽ không còn được hỗ trợ kể từ ngày 17 tháng 8 năm 2020. Kể từ ngày đó, những yêu cầu vẫn sử dụng trường này sẽ không thành công.

Nếu mã của bạn vẫn sử dụng trường cdn.format, thì bạn phải cập nhật mã để chỉ định riêng tốc độ khung hình và độ phân giải bằng cách sử dụng các thuộc tính cdn.frameRate và cdn.resolution.

Ngày 6 tháng 7 năm 2020

Hướng dẫn Phân phối nội dung trực tiếp trên YouTube qua HLS đã được cập nhật một số thay đổi:

  • Thời lượng đề xuất cho một Phân đoạn nội dung nghe nhìn đã được cập nhật thành từ 1 đến 4 giây.
  • Một phần mới giải thích cách lấy URL truyền trực tiếp HLS từ YouTube Creator Studio.
  • Hướng dẫn định dạng giá trị tham số file đã được chuyển sang phần Hoàn tất URL truyền dẫn HLS mới. Các hướng dẫn này áp dụng bất kể bạn lấy URL truyền dẫn HLS từ API của YouTube hay YouTube Creator Studio.

Ngoài ra, bảng so sánh giao thức truyền dẫn mới sẽ liệt kê các giao thức truyền dẫn mà YouTube hỗ trợ, các bộ mã hoá và giải mã được hỗ trợ cho từng giao thức, cũng như thông tin bổ sung về các trường hợp sử dụng phù hợp cho từng giao thức.

Ngày 16 tháng 4 năm 2020

Bản cập nhật này bao gồm một thuộc tính mới và thông báo ngừng sử dụng:

  • Tài nguyên liveBroadcast hiện hỗ trợ thuộc tính contentDetails.enableAutoStop. Thuộc tính này cho biết liệu một sự kiện phát sóng có tự động dừng khoảng một phút sau khi chủ sở hữu kênh ngừng phát trực tuyến video trên luồng video liên kết hay không.

    Tài liệu vòng đời của một sự kiện phát sóng đã được cập nhật để giải thích cách quy trình từng bước tạo và quản lý một sự kiện trực tiếp trên YouTube thay đổi nếu bạn đặt thuộc tính contentDetails.enableAutoStart hoặc contentDetails.enableAutoStop thành true.

  • Lưu ý: Đây là thông báo về việc không dùng nữa. Những thay đổi này sẽ có hiệu lực từ ngày 1 tháng 9 năm 2020. Ngày có hiệu lực thực tế của các thay đổi được gọi là ngày ngừng cung cấp.

    Nội dung cập nhật này giải thích một thay đổi có thể gây lỗi. Thay đổi này ảnh hưởng đến các ứng dụng API sử dụng tài nguyên liveStream và liveBroadcast mặc định của kênh để phát trực tiếp nội dung trên YouTube. Cụ thể, mã nhận dạng chương trình phát sóng và mã nhận dạng luồng phát trực tiếp được liên kết với chương trình phát sóng và luồng phát trực tiếp cố định sẽ không còn hoạt động để bắt đầu chương trình phát sóng mới.

    Ứng dụng của bạn sẽ bị ảnh hưởng nếu có bất kỳ điều kiện nào sau đây:

    • Thao tác này kiểm tra giá trị của thuộc tính liveBroadcast isDefaultBroadcast của tài nguyên. Thuộc tính này sẽ không được trả về sau ngày ngừng sử dụng.
    • Thao tác này kiểm tra giá trị của thuộc tính liveStream isDefaultStream của tài nguyên. Thuộc tính này sẽ không được trả về sau ngày ngừng sử dụng.
    • Hàm này gọi phương thức liveBroadcasts.list và đặt giá trị tham số broadcastType thành persistent hoặc all. Tham số này sẽ không còn được dùng trong quá trình thay đổi này. 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ề bất kỳ 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 thông báo truyền tin liên tục đã tồn tại trước thời điểm đó.

    Để bạn nắm được thông tin, trong vài năm qua, YouTube đã tự động tạo một sự kiện phát trực tiếp mặc định và một sự kiện phát sóng 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 mặc định tồn tại vô thời hạn, không có thời gian bắt đầu hoặc kết thúc liên quan và không thể xoá. Tương tự, thông báo truyền tin mặc định được coi là persistent (bền vững). Tham số này luôn tồn tại 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:

    • YouTube sẽ không tạo sự kiện phát sóng và sự kiện phát trực tiếp mặc định nữa. Thay vì dựa vào các tài nguyên mặc định, ứng dụng API cần có khả năng 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.
    • Nếu chương trình phát sóng mặc định và luồng phát mặc định của một kênh đang phát trực tiếp (tức là kênh đang sử dụng các chương trình và luồng phát này cho một chương trình phát sóng trực tiếp tại thời điểm việc ngừng cung cấp có hiệu lực), thì chương trình phát sóng đang diễn ra sẽ không bị ảnh hưởng. Tuy nhiên, sau khi sự kiện phát sóng đó kết thúc, kênh sẽ không thể sử dụng lại sự kiện phát sóng mặc định và sự kiện phát trực tiếp mặc định.
    • Nếu sự kiện phát sóng mặc định và sự kiện phát trực tiếp mặc định của một kênh không hoạt động, thì sau khi việc ngừng sử dụng có hiệu lực, YouTube sẽ bỏ qua các nỗ lực sử dụng những tài nguyên đó để phát sóng video.

    Nếu ứng dụng của bạn bị ảnh hưởng, vui lòng tham khảo các tài liệu sau đây để cập nhật ứng dụng sao cho ứng dụng vẫn hoạt động như mong đợi sau thay đổi này:

    • Hướng dẫn di chuyển mới sẽ giải thích các bước mà nhà phát triển có thể cần thực hiện trong ứng dụng API hiện đang sử dụng các sự kiện phát sóng và sự kiện phát trực tiếp mặc định.
    • Hướng dẫn Vòng đời của một sự kiện phát sóng sẽ đưa bạn qua quy trình từng bước giải thích cách tạo và quản lý sự kiện phát trực tiếp trên YouTube. Mỗi bước giải thích các lệnh gọi API hoặc những việc khác mà bạn cần làm để hoàn tất một hành động cụ thể. Ứng dụng của bạn sẽ cần tuân theo quy trình đó khi YouTube ngừng hỗ trợ các sự kiện phát trực tiếp và sự kiện phát sóng mặc định.

Ngày 31 tháng 3 năm 2020

Lưu ý: Đây là thông báo về việc không dùng nữa.

Tài nguyên sponsor và phương thức sponsors.list không còn được dùng nữa và được thay thế bằng tài nguyên member và phương thức members.list.

Phương thức sponsors.list sẽ ngừng được hỗ trợ từ ngày 30 tháng 9 năm 2020. Các ứng dụng API nên cập nhật các lệnh gọi đến phương thức sponsors.list để sử dụng phương thức members.list. Vui lòng xem Nhật ký sửa đổi của YouTube Data API để biết thêm thông tin về tài nguyên mới này.

Ngày 11 tháng 3 năm 2020

Phần Điểm cuối nhập dữ liệu trong hướng dẫn Phân phối nội dung trực tiếp trên YouTube qua HLS đã được cập nhật để làm rõ quy trình mà bộ mã hoá nên sử dụng để hoàn tất giá trị tham số file= khi tạo URL nhập dữ liệu chính và dự phòng.

Ngày 4 tháng 2 năm 2020

Hướng dẫn Phân phối nội dung trực tiếp trên YouTube qua HLS đã được cập nhật để lưu ý rằng các yêu cầu DELETE là không bắt buộc và điểm cuối HLS của YouTube sẽ bỏ qua các yêu cầu đó. Vì lý do hiệu suất, YouTube khuyên khách hàng không nên gửi yêu cầu DELETE.

Ngày 10 tháng 1 năm 2020

API này hiện hỗ trợ khả năng xác định nội dung hướng tới trẻ em, mà YouTube gọi là "dành cho trẻ em". Tìm hiểu thêm về nội dung "dành cho trẻ em" trong Trung tâm trợ giúp của YouTube.

  • Tài nguyên liveBroadcast hỗ trợ 2 thuộc tính mới để giúp nhà sáng tạo nội dung và người xem xác định nội dung "dành cho trẻ em":
    • Thuộc tính selfDeclaredMadeForKids cho phép nhà sáng tạo nội dung chỉ định xem một chương trình phát sóng trực tiếp có phải là nội dung hướng đến trẻ em hay không. Bạn có thể đặt thuộc tính này khi tạo một sự kiện phát sóng thông qua phương thức liveBroadcasts.insert. Xin lưu ý rằng thuộc tính này chỉ có trong các phản hồi của API chứa tài nguyên liveBroadcast nếu chủ sở hữu kênh cho phép yêu cầu API.
    • Thuộc tính madeForKids cho phép mọi người dùng API truy xuất trạng thái "dành cho trẻ em" của một sự kiện phát sóng. Ví dụ: trạng thái có thể được xác định dựa trên giá trị của thuộc tính selfDeclaredMadeForKids. Hãy xem Trung tâm trợ giúp của YouTube để biết thêm thông tin về cách đặt đối tượng người xem cho kênh, video hoặc chương trình phát sóng của bạn.
  • Trong YouTube Data API, tài nguyên channel cũng hỗ trợ các thuộc tính selfDeclaredMadeForKids và madeForKids mới.

Chúng tôi cũng đã cập nhật Điều khoản dịch vụ và Chính sách dành cho nhà phát triển của Các dịch vụ API YouTube. Vui lòng xem Điều khoản dịch vụ của Các dịch vụ API YouTube – Nhật ký sửa đổi để biết thêm thông tin. Những thay đổi đối với Điều khoản dịch vụ của Các dịch vụ API YouTube và Chính sách dành cho nhà phát triển sẽ có hiệu lực từ ngày 10 tháng 1 năm 2020 theo giờ Thái Bình Dương.

Ngày 20 tháng 8 năm 2019

Phần Yêu cầu trong hướng dẫn Phân phối nội dung phát trực tiếp trên YouTube qua HLS đã được cập nhật với 2 thay đổi:

  • Tài liệu này giải thích rằng bạn nên đưa cả phân đoạn đã xác nhận và phân đoạn chưa xác nhận vào mỗi Danh sách phát nội dung nghe nhìn. Cách làm này giúp giảm khả năng bỏ qua một phân đoạn nếu Danh sách phát nội dung nghe nhìn bị mất ở phía máy chủ. Ví dụ: bạn có thể thêm tối đa 2 phân đoạn đã xác nhận và tối đa 5 phân đoạn chưa xác nhận vào mỗi Danh sách phát nội dung nghe nhìn.
  • Giờ đây, bạn bắt buộc phải gửi Danh sách phát nội dung nghe nhìn cho mọi Phân đoạn nội dung nghe nhìn. Điều này cho phép máy chủ nhanh chóng khôi phục nếu Danh sách phát nội dung nghe nhìn bị mất. Trước đây, phương pháp này được liệt kê là một đề xuất.

Ngày 28 tháng 6 năm 2019

YouTube hiện hỗ trợ việc truyền dẫn bằng HLS. Theo đó, thuộc tính ingestionType của tài nguyên liveStream hỗ trợ giá trị mới hls để xác định các sự kiện phát trực tiếp được truyền đến YouTube bằng HLS.

Hướng dẫn mới về việc Phân phối nội dung trực tiếp trên YouTube qua HLS cung cấp các nguyên tắc sử dụng HLS để phát trực tiếp nội dung lên YouTube từ một bộ mã hoá. Hướng dẫn này nhằm giúp các nhà cung cấp bộ mã hoá thêm tính năng hỗ trợ phân phối HLS vào sản phẩm của họ.

Ngày 4 tháng 4 năm 2019

Bản cập nhật này có những thay đổi sau:

  • Tài liệu tham khảo API đã được cập nhật để giải thích rõ hơn các trường hợp sử dụng phổ biến cho từng phương thức và cung cấp các mã mẫu động, chất lượng cao thông qua tiện ích APIs Explorer. Hãy xem tài liệu về phương thức liveBroadcasts.list để biết ví dụ. Hiện có hai phần tử mới trên các trang mô tả phương thức API:

    • Tiện ích APIs Explorer cho phép bạn chọn phạm vi uỷ quyền, nhập các giá trị tham số và thuộc tính mẫu, sau đó gửi các yêu cầu API thực tế và xem các phản hồi API thực tế. Tiện ích này cũng cung cấp chế độ xem toàn màn hình, cho thấy các mã mẫu hoàn chỉnh. Các mã mẫu này sẽ tự động cập nhật để sử dụng phạm vi và giá trị mà bạn đã nhập.

    • Mục Trường hợp sử dụng phổ biến mô tả một hoặc nhiều trường hợp sử dụng phổ biến cho phương thức được giải thích trên trang. Ví dụ: bạn có thể gọi phương thức liveBroadcasts.list để truy xuất dữ liệu về một sự kiện phát sóng cụ thể hoặc để truy xuất dữ liệu về các sự kiện phát sóng của người dùng hiện tại.

      Bạn có thể sử dụng các đường liên kết trong phần đó để điền sẵn các giá trị mẫu cho trường hợp sử dụng của bạn vào APIs Explorer hoặc để mở APIs Explorer ở chế độ toàn màn hình với các giá trị đã được điền sẵn. Những thay đổi này nhằm giúp bạn dễ dàng xem các mã mẫu có thể áp dụng trực tiếp cho trường hợp sử dụng mà bạn đang cố gắng triển khai trong ứng dụng của riêng mình.

    Các mã mẫu hiện được hỗ trợ cho Java, JavaScript, PHP, Python và curl.

  • Trang mã mẫu cũng có giao diện người dùng mới với tất cả các tính năng tương tự như mô tả ở trên. Khi sử dụng công cụ đó, bạn có thể khám phá các trường hợp sử dụng cho nhiều phương thức, tải giá trị vào APIs Explorer và mở APIs Explorer ở chế độ toàn màn hình để lấy mã mẫu bằng Java, JavaScript, PHP và Python.

    Cùng với thay đổi này, những trang trước đây liệt kê các mã mẫu có sẵn cho Java, PHP và Python đã bị xoá.

Ngày 25 tháng 2 năm 2019

Tài liệu về tài nguyên liveChatMessage và superChatEvent đã được cập nhật để phản ánh thực tế là cả hai tài nguyên hiện có thể chứa thông tin về Super Stickers. Super Stickers là một loại tin nhắn Super Chat có hình ảnh. Tương tự như các tin nhắn Super Chat khác, tin nhắn Super Stickers là tin nhắn mà người hâm mộ mua trong một sự kiện phát trực tiếp trên YouTube.

  • Trong tài nguyên liveChatMessage, thuộc tính snippet.type hiện được đặt thành superStickerEvent để cho biết rằng tài nguyên này chứa thông tin về Super Stickers. Trong trường hợp đó, tài nguyên cũng chứa đối tượng snippet.superStickerDetails, trong đó có thông tin bổ sung về Super Stickers.
  • Trong tài nguyên superChatEvent, giá trị boolean snippet.isSuperStickerEvent cho biết liệu tin nhắn Super Chat có phải là Super Stickers hay không. Nếu có, đối tượng snippet.superStickerMetadata sẽ chứa thông tin bổ sung về Super Sticker.

Ngày 5 tháng 4 năm 2018

Nội dung mô tả về phương thức superChatEvents.list đã được cập nhật để phản ánh việc phản hồi của API không còn chứa fanFundingEvents (đã ngừng hoạt động từ đầu năm 2017).

Ngày 3 tháng 4 năm 2017

Chúng tôi đã thêm các mã mẫu Java mới cho biết cách liệt kê, chèn và xoá tin nhắn Trò chuyện trong sự kiện phát trực tiếp. Các mẫu này gọi những phương thức sau:

Ngày 13 tháng 2 năm 2017

Bản cập nhật này có những thay đổi sau:

  • Nội dung cập nhật cho các tài nguyên và phương thức hiện có

    • Phương thức liveCuepoints.insert đã được cập nhật để phản ánh rằng tham số onBehalfOfContentOwner hiện là bắt buộc. Ngoài ra, nội dung mô tả của phương thức này đã được cập nhật để lưu ý rằng các lệnh gọi đến phương thức đó phải được một tài khoản liên kết với Chủ sở hữu nội dung trên YouTube uỷ quyền.

Ngày 9 tháng 2 năm 2017

Bản cập nhật này có các thay đổi sau:

  • Nội dung cập nhật cho các tài nguyên và phương thức hiện có

    • Tham số hl mới của phương thức superChatEvents.list cho phép bạn chỉ định rằng giá trị thuộc tính snippet.displayString phải được định dạng theo quy ước của một ngôn ngữ cụ thể. Định nghĩa của thuộc tính đó cũng đã được cập nhật tương ứng.

      Giá trị tham số phải là mã ngôn ngữ có trong danh sách do phương thức i18nLanguages.list trả về. Giá trị mặc định là en, tức là hành vi mặc định sẽ định dạng chuỗi hiển thị như khi dùng trong tiếng Anh. Ví dụ: theo mặc định, một chuỗi được định dạng là $1.00 thay vì $1,00.

Ngày 1 tháng 2 năm 2017

Bản cập nhật này có các thay đổi sau:

  • Tài nguyên và phương thức mới

    • Tài nguyên superChatEvent mới đại diện cho một tin nhắn Super Chat mà người hâm mộ mua trong một sự kiện phát trực tiếp trên YouTube. Trong Trò chuyện trong sự kiện phát trực tiếp trên YouTube, Super Chat nổi bật hơn các tin nhắn khác theo hai cách:

      • Super Chat được làm nổi bật bằng một màu sắc.
      • Super Chat được ghim trong bảng tin trong một khoảng thời gian cố định.

      Màu của Super Chat, khoảng thời gian tin nhắn được ghim trong dải tin nhắn và độ dài tối đa của tin nhắn đều được xác định dựa trên số tiền mua. Trung tâm trợ giúp của YouTube có thêm thông tin về tính năng Super Chat.

      API này hỗ trợ một phương thức để liệt kê các sự kiện Super Chat của một kênh phát trực tiếp trong 30 ngày qua. Phương thức đó cũng trả về dữ liệu về các sự kiện Tài trợ của người hâm mộ (fanFundingEvents) trong sự kiện phát trực tiếp gần đây nhất của kênh.

  • Nội dung cập nhật cho các tài nguyên và phương thức hiện có

    • Thuộc tính snippet.type hiện hỗ trợ giá trị superChatEvent, cho biết rằng tài nguyên mô tả một tin nhắn Super Chat.

      Ngoài ra, tài sản snippet.superChatDetails mới của tài nguyên liveChatMessage và các tài sản con của tài nguyên này chứa thông tin về sự kiện Super Chat.

    • Thuộc tính cdn.resolution của tài nguyên liveStream hiện hỗ trợ giá trị 2160p.

  • Lỗi mới và lỗi đã cập nhật

    • API này hỗ trợ các lỗi mới sau đây:

      Chi tiết về lỗi
      liveBroadcasts.insert, liveBroadcasts.update Các phương thức liveBroadcasts.insert và liveBroadcasts.update trả về lỗi 400 (Bad Request) để cho biết rằng tài nguyên liveBroadcast đang được chèn hoặc cập nhật chứa giá trị không hợp lệ cho thuộc tính contentDetails.enableEmbed hoặc thuộc tính contentDetails.projection. Lý do gây ra hai lỗi mới này lần lượt là invalidEmbedSetting và invalidProjection.

Ngày 12 tháng 1 năm 2017

Lưu ý: Đây là thông báo ngừng sử dụng.

Cùng với việc phát hành tính năng Super Chat mới, YouTube đã ngừng sử dụng tính năng Tài trợ của người hâm mộ và API Tài trợ của người hâm mộ sẽ bị tắt vào ngày 28 tháng 2 năm 2017. Tính đến ngày đó:

Ngày 11 tháng 8 năm 2016

Bản cập nhật này có những thay đổi sau:

  • Điều khoản dịch vụ mới của Các dịch vụ API YouTube ("Điều khoản mới cập nhật") được thảo luận chi tiết trên Blog kỹ thuật và phát triển của YouTube, cung cấp một loạt nội dung cập nhật cho Điều khoản dịch vụ hiện tại. Ngoài Điều khoản mới sẽ có hiệu lực từ ngày 10 tháng 2 năm 2017, nội dung cập nhật này còn bao gồm một số tài liệu hỗ trợ để giải thích các chính sách mà nhà phát triển phải tuân thủ.

    Toàn bộ tài liệu mới được mô tả trong nhật ký sửa đổi của Điều khoản cập nhật. Ngoài ra, những thay đổi trong tương lai đối với Điều khoản cập nhật hoặc các tài liệu hỗ trợ đó cũng sẽ được giải thích trong nhật ký sửa đổi đó. Bạn có thể đăng ký nhận nguồn cấp dữ liệu RSS liệt kê các thay đổi trong nhật ký sửa đổi đó thông qua một đường liên kết trong tài liệu đó.

Ngày 20 tháng 5 năm 2016

YouTube hiện hỗ trợ việc truyền trực tuyến thích ứng động qua HTTP (DASH). Theo đó, thuộc tính ingestionType của tài nguyên liveStream hỗ trợ giá trị mới dash để xác định các sự kiện phát trực tiếp được truyền đến YouTube bằng DASH.

Hướng dẫn mới về việc Phân phối nội dung phát trực tiếp trên YouTube qua DASH cung cấp các nguyên tắc về việc sử dụng định dạng Phân phối DASH để phát trực tiếp dữ liệu trên YouTube từ một bộ mã hoá. Tài liệu này nhằm giúp các nhà cung cấp bộ mã hoá thêm tính năng hỗ trợ phân phối DASH vào sản phẩm của họ.

Ngày 18 tháng 4 năm 2016

Bản cập nhật này có các thay đổi sau:

  • Nội dung cập nhật cho các tài nguyên và phương thức hiện có

    • liveStream nội dung cập nhật về tài nguyên
      • YouTube hiện hỗ trợ các sự kiện phát trực tiếp có độ phân giải 1440p ở tốc độ 30 hoặc 60 khung hình/giây.

        Ngoài ra, tài nguyên liveStream còn chứa các thuộc tính mới để chỉ định tốc độ khung hình và độ phân giải của dữ liệu video gửi đến:

        Thuộc tính
        cdn.frameRate Tốc độ khung hình của dữ liệu video đầu vào. Các giá trị hợp lệ là 30fps và 60fps.
        cdn.resolution Độ phân giải của dữ liệu video đến. Các giá trị hợp lệ của thuộc tính là: 1440p, 1080p, 720p, 480p, 360p và 240p.
      • Theo việc giới thiệu các thuộc tính cdn.frameRate và cdn.resolution của tài nguyên liveStream, cdn.format của tài nguyên hiện không được dùng nữa. Thuộc tính cdn.format chỉ định độ phân giải và tốc độ khung hình trong một giá trị duy nhất.

        Bạn nên chuyển sang các trường mới được hỗ trợ. Trong thời gian chờ đợi, cdn.format vẫn tiếp tục hoạt động. Ngoài ra, các yêu cầu chèn luồng phát trực tiếp hiện tại sẽ thành công miễn là bạn chỉ định giá trị cho thuộc tính cdn.format hoặc các thuộc tính cdn.frameRate và cdn.resolution. Nếu bạn cung cấp giá trị cho cả 3 thuộc tính, API có thể trả về lỗi nếu các giá trị không khớp nhau.

        Xin lưu ý rằng mặc dù thuộc tính cdn.format không còn được dùng nữa, nhưng thuộc tính này hiện hỗ trợ hai giá trị mới là 1440p và 1440p_hfr để phản ánh việc API hỗ trợ các luồng phát trực tiếp 1440p ở tốc độ 30 hoặc 60 khung hình/giây.

    • liveBroadcast Thông tin cập nhật về tài nguyên
      • Tài nguyên liveBroadcast có các thuộc tính mới sau:

        Thuộc tính
        contentDetails.boundStreamLastUpdateTimeMs Ngày và giờ cập nhật gần đây nhất của sự kiện phát trực tiếp được tham chiếu trong thuộc tính contentDetails.boundStreamId của sự kiện phát sóng.
        contentDetails.projection Định dạng chiếu của chương trình phát sóng. Giá trị mặc định của thuộc tính là rectangular. Các giá trị hợp lệ cho thuộc tính này là 360 và rectangular.
      • Định nghĩa về thuộc tính statistics.totalChatCount của tài nguyên liveBroadcast đã được cập nhật để lưu ý rằng giá trị thuộc tính chỉ xuất hiện nếu sự kiện phát sóng có ít nhất một tin nhắn trò chuyện.

    • liveChatMessage nội dung cập nhật về tài nguyên
      • Thuộc tính snippet.type hỗ trợ hai giá trị mới – messageDeletedEvent và userBannedEvent – tương ứng với các thuộc tính mới được mô tả trong dấu đầu dòng sau đây. Định nghĩa của thuộc tính snippet.authorChannelId cũng đã được cập nhật để giải thích giá trị thuộc tính xác định những loại thông báo mới này.

      • Tài nguyên liveChatMessage chứa các thuộc tính mới sau:

        Thuộc tính
        snippet.messageDeletedDetails Đối tượng này chứa thông tin về một tin nhắn đã bị người kiểm duyệt cuộc trò chuyện xoá. Đối tượng này chỉ xuất hiện nếu giá trị thuộc tính snippet.type là messageDeletedEvent.
        snippet.userBannedDetails Đối tượng này chứa thông tin về một người dùng bị cấm tham gia cuộc trò chuyện. Đối tượng này cũng chứa thông tin về lệnh cấm, cụ thể là lệnh cấm đó là vĩnh viễn hay tạm thời. Nếu lệnh cấm là tạm thời, thì một trong các thuộc tính của đối tượng sẽ chỉ định thời hạn của lệnh cấm.

        Đối tượng này chỉ xuất hiện nếu giá trị thuộc tính snippet.type là userBannedEvent.
  • Lỗi mới và lỗi đã cập nhật

    • API này hỗ trợ các lỗi mới sau đây:

      Chi tiết về lỗi
      liveBroadcasts.bind Phương thức liveBroadcasts.bind trả về lỗi 403 (Forbidden) để cho biết rằng người dùng đã gửi quá nhiều yêu cầu trong một khung thời gian nhất định. Lý do lỗi là userRequestsExceedRateLimit.

      Phương thức liveBroadcasts.insert và liveBroadcasts.update đã hỗ trợ cùng một lỗi.
      liveStreams.insert Phương thức liveStreams.insert hỗ trợ 4 lỗi 400 (Bad Request) mới giúp xác định giá trị thuộc tính không hợp lệ trong tài nguyên liveStream mà yêu cầu cố gắng chèn. Danh sách sau đây xác định lý do lỗi và các thuộc tính liên quan:
      liveStreams.insert Phương thức liveStreams.insert hỗ trợ hai lỗi 400 (Bad Request) mới, mỗi lỗi cho biết rằng giá trị bắt buộc không có trong tài nguyên liveStream mà yêu cầu đã cố gắng chèn. Danh sách sau đây xác định lý do lỗi và các thuộc tính liên quan:
      Cụ thể hơn, khi chèn một tài nguyên liveStream, bạn phải chỉ định một giá trị cho thuộc tính cdn.format hoặc cho các thuộc tính cdn.frameRate và cdn.resolution.
      • API sẽ trả về lỗi formatRequired nếu bạn không chỉ định giá trị cho bất kỳ thuộc tính nào trong số 3 thuộc tính này.
      • API trả về lỗi frameRateRequired nếu bạn chỉ định giá trị cho cdn.resolution nhưng không chỉ định giá trị cho cdn.frameRate.
      • API trả về lỗi resolutionRequired nếu bạn chỉ định giá trị cho cdn.frameRate nhưng không chỉ định giá trị cho cdn.resolution.
      liveStreams.update Phương thức liveStreams.update sẽ trả về lỗi 403 (Forbidden) nếu yêu cầu cố gắng sửa đổi giá trị của bất kỳ thuộc tính không thể thay đổi nào sau đây: reason trong phản hồi lỗi là liveStreamModificationNotAllowed.

Ngày 18 tháng 12 năm 2015

Luật của Liên minh Châu Âu (EU) yêu cầu bạn phải công bố một số thông tin nhất định và nhận được sự đồng ý của người dùng cuối ở EU. Do đó, đối với người dùng cuối ở Liên minh Châu Âu, bạn phải tuân thủ Chính sách về sự đồng ý của người dùng ở Liên minh Châu Âu. Chúng tôi đã thêm thông báo về yêu cầu này vào Điều khoản dịch vụ của API YouTube.

Ngày 17 tháng 12 năm 2015

Bản cập nhật này có những thay đổi sau:

  • Tài nguyên và phương thức mới

    • API này hỗ trợ một số tài nguyên mới để hỗ trợ chức năng trò chuyện cho các sự kiện phát sóng trực tiếp. YouTube hỗ trợ chức năng Trò chuyện trong sự kiện phát trực tiếp trong các sự kiện phát sóng trực tiếp đang diễn ra. Những tài nguyên này và các phương thức của chúng hỗ trợ việc truy xuất tin nhắn trò chuyện cũng như các chức năng quản trị cho cuộc trò chuyện.

      Tài nguyên
      liveChatMessage Tài nguyên này đại diện cho một tin nhắn trong Trò chuyện trong sự kiện phát trực tiếp trên YouTube. YouTube hỗ trợ một số loại tin nhắn, bao gồm cả tin nhắn văn bản và sự kiện tài trợ của người hâm mộ. Một số loại tin nhắn xác định một giai đoạn cụ thể của cuộc trò chuyện, chẳng hạn như thời điểm bắt đầu giai đoạn chỉ dành cho người ủng hộ hoặc thời điểm kết thúc cuộc trò chuyện. API này hỗ trợ các phương thức liệt kê, chèn và xoá tin nhắn trong cuộc trò chuyện trực tiếp.
      liveChatModerators Tài nguyên này xác định một người kiểm duyệt cuộc trò chuyện. Người kiểm duyệt có thể thực hiện một số chức năng quản trị, chẳng hạn như cấm người dùng tham gia cuộc trò chuyện hoặc xoá tin nhắn. API này hỗ trợ các phương thức liệt kê, chèn và xoá người kiểm duyệt Trò chuyện trong sự kiện phát trực tiếp.
      liveChatBans Tài nguyên này xác định một người dùng bị cấm đăng tin nhắn trong một cuộc trò chuyện trực tiếp cụ thể. Lệnh cấm có thể là tạm thời hoặc vĩnh viễn. API này hỗ trợ các phương thức để thêm và xoá lệnh cấm tham gia cuộc trò chuyện trực tiếp.
      fanFundingEvents Tài nguyên này đại diện cho một sự kiện Tài trợ của người hâm mộ trên kênh YouTube. Tính năng Tài trợ của người hâm mộ là một cách để người xem tự nguyện ủng hộ nhà sáng tạo trên YouTube bằng cách đóng góp tiền một lần.

      Phương thức fanFundingEvents.list của API liệt kê các sự kiện tài trợ của người hâm mộ của một kênh. Các sự kiện tài trợ của người hâm mộ được bắt đầu thông qua Trò chuyện trong sự kiện phát trực tiếp trong một sự kiện phát sóng trực tiếp do kênh sở hữu cũng sẽ kích hoạt một fanFundingEvent thông báo trong Trò chuyện trong sự kiện phát trực tiếp của sự kiện phát sóng đó.

      Tìm hiểu thêm về tính năng tài trợ của người hâm mộ trong Trung tâm trợ giúp của YouTube.
      sponsors Tài nguyên sponsor xác định người tài trợ cho một kênh YouTube. Nhà tài trợ trả phí hằng tháng cho một kênh. Huy hiệu sẽ xuất hiện bên cạnh tin nhắn của nhà tài trợ trong cuộc trò chuyện trực tiếp của kênh. Nhà tài trợ cũng có thể tham gia cuộc trò chuyện trực tiếp dành riêng cho nhà tài trợ của kênh (nếu có).

      Phương thức sponsors.list của API liệt kê những nhà tài trợ của một kênh. Khi người dùng đăng ký tài trợ cho một kênh trong một sự kiện phát sóng trực tiếp do kênh đó sở hữu, API cũng sẽ thêm một thông báo newSponsorEvent vào Trò chuyện trong sự kiện phát trực tiếp của sự kiện phát sóng đó.

      Tìm hiểu thêm về tính năng tài trợ trong Trung tâm trợ giúp của YouTube.

  • Nội dung cập nhật cho các tài nguyên và phương thức hiện có

    • Tài nguyên liveBroadcast chứa các thuộc tính mới sau:

      Thuộc tính
      snippet.liveChatId Mã nhận dạng của Trò chuyện trong sự kiện phát trực tiếp trên YouTube của chương trình phát sóng. Với mã nhận dạng này, bạn có thể dùng các phương thức của tài nguyên liveChatMessage để truy xuất, chèn hoặc xoá tin nhắn trò chuyện. Bạn cũng có thể thêm hoặc xoá người kiểm duyệt Trò chuyện trong sự kiện phát trực tiếp, cấm người dùng tham gia Trò chuyện trong sự kiện phát trực tiếp hoặc huỷ lệnh cấm hiện có.
      contentDetails.closedCaptionsType Lưu ý: Thuộc tính này thay thế thuộc tính contentDetails.enableClosedCaptions.

      Thuộc tính này cho biết liệu bạn có bật phụ đề cho chương trình phát sóng hay không và nếu có thì bạn đang cung cấp loại phụ đề nào:
      • closedCaptionsDisabled: Phụ đề bị tắt trong sự kiện phát sóng trực tiếp.
      • closedCaptionsHttpPost: Bạn sẽ gửi phụ đề thông qua HTTP POST đến một URL truyền nhận được liên kết với luồng phát trực tiếp của bạn.
      • closedCaptionsEmbedded: Phụ đề sẽ được mã hoá trong luồng video bằng định dạng EIA-608 và/hoặc CEA-708.
      contentDetails.enableClosedCaptions Thuộc tính này không còn được dùng nữa kể từ ngày 17 tháng 12 năm 2015. Thay vào đó, hãy dùng thuộc tính contentDetails.closedCaptionsType. Đối với những ứng dụng API đang sử dụng thuộc tính này:
      • Việc đặt giá trị thuộc tính thành true tương đương với việc đặt thuộc tính contentDetails.closedCaptionsType thành closedCaptionsHttpPost.
      • Việc đặt giá trị thuộc tính thành false tương đương với việc đặt thuộc tính contentDetails.closedCaptionsType thành closedCaptionsDisabled.
    • Tham số broadcastType mới của phương thức liveBroadcasts.list cho phép bạn lọc phản hồi của API để thêm thông báo sự kiện, thông báo liên tục hoặc tất cả thông báo.

      Sự kiện phát sóng cố định là sự kiện luôn tồn tại và không gắn liền với một sự kiện cụ thể. Cụ thể, sự kiện phát sóng mặc định của kênh là một sự kiện phát sóng cố định và bạn có thể truy cập vào sự kiện này thông qua Trang tổng quan sự kiện trực tiếp trong YouTube Creator Studio. Các chương trình phát sóng khác của kênh là chương trình phát sóng sự kiện.

  • Trường status.healthStatus.configurationIssues[].type của tài nguyên liveStream báo cáo các lỗi mới sau đây về trạng thái:

    Lỗi
    audioTooManyChannels Âm thanh có nhiều hơn hai kênh nhưng chỉ một kênh (đơn âm) hoặc hai kênh (âm thanh nổi) được hỗ trợ. Vui lòng sửa số kênh âm thanh.
    frameRateHigh Tốc độ khung hình hiện tại quá cao. Vui lòng đặt tốc độ khung hình thành %(framerate)s khung hình/giây trở xuống.
  • Đã sửa ngày xuất bản của nội dung cập nhật tài liệu trước đó.

  • Lỗi mới và lỗi đã cập nhật

    • Ngoài các lỗi được xác định cho các tài nguyên mới nêu trên, API này còn hỗ trợ các lỗi mới sau:

      Chi tiết về lỗi
      liveBroadcasts.update
      Mã phản hồi HTTPforbidden (403)
      Lý doclosedCaptionsTypeModificationNotAllowed
      Mô tảBạn chỉ có thể sửa đổi giá trị contentDetails.closedCaptionsType khi chương trình phát sóng ở trạng thái created hoặc ready.
      liveBroadcasts.update
      Mã phản hồi HTTPinvalidValue (400)
      Lý doinvalidEnableClosedCaptions
      Mô tảTrong tài nguyên liveBroadcast, giá trị của thuộc tính contentDetails.enableClosedCaptions không tương thích với giá trị của chế độ cài đặt contentDetails.closedCaptionType. Sửa đổi tài nguyên để chỉ bao gồm một trong hai thuộc tính, sau đó gửi lại yêu cầu.

Ngày 19 tháng 8 năm 2015

Bản cập nhật này có các thay đổi sau:

  • Tài nguyên và phương thức mới

    • Lưu ý: Tài liệu về tài nguyên liveChat và các phương thức của tài nguyên này là thông tin mật và chỉ dành cho một số đối tác của YouTube.

      Tài nguyên liveChat mới chứa một bình luận được đăng trong một sự kiện phát sóng trực tiếp trên YouTube. API này hỗ trợ hai phương thức cho tài nguyên này:

      Phương thức
      liveChats.list Liệt kê tin nhắn Trò chuyện trong sự kiện phát trực tiếp của một chương trình phát sóng.
      liveChats.insert Tạo tin nhắn trò chuyện mới.

      Bạn chỉ có thể truy xuất và đăng tin nhắn trong cuộc trò chuyện trực tiếp khi chương trình phát sóng đang diễn ra.

  • Nội dung cập nhật cho các tài nguyên và phương thức hiện có

    • Tài nguyên liveStream có các thuộc tính mới sau:

      Thuộc tính
      snippet.isDefaultStream Cho biết liệu sự kiện phát trực tiếp này có phải là sự kiện phát trực tiếp mặc định của kênh hay không. Luồng mặc định của một kênh tồn tại vô thời hạn, không có thời gian bắt đầu hoặc kết thúc liên kết và không thể bị xoá. Hãy xem định nghĩa về tài sản để biết thêm thông tin về cách hoạt động của luồng mặc định.
      status.healthStatus Đối tượng này chứa thông tin có thể dùng để xác định, chẩn đoán và giải quyết các vấn đề về truyền phát trực tiếp. Đối tượng này chứa một số thuộc tính con giúp bạn đánh giá tình trạng của một luồng video trực tiếp.

      Cụ thể, đối tượng status.healthStatus.configurationIssues[] liệt kê các vấn đề ảnh hưởng đến một luồng video. Một tài liệu mới, Vấn đề về cấu hình đối với tài nguyên LiveStream, liệt kê tất cả vấn đề mà API báo cáo.
      contentDetails.isReusable Cho biết liệu luồng có thể dùng lại hay không, tức là có thể liên kết với nhiều chương trình phát sóng. 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 chương trình phát sóng khác nhau nếu các chương trình đó diễn ra vào những thời điểm khác nhau.
    • Tài nguyên liveBroadcast chứa các thuộc tính mới sau:

      Thuộc tính
      snippet.isDefaultBroadcast Cho biết liệu sự kiện phát sóng này có phải là sự kiện phát sóng mặc định của kênh hay không. Khi một kênh YouTube được bật tính năng phát trực tiếp, YouTube sẽ tạo một sự kiện phát trực tiếp mặc định và một sự kiện phát sóng mặc định cho kênh đó. Sự kiện phát trực tiếp xác định cách chủ sở hữu kênh gửi video trực tiếp đến YouTube, còn sự kiện phát sóng là cách người xem có thể xem sự kiện phát trực tiếp mặc định. Hãy xem định nghĩa về thuộc tính để biết thêm thông tin về cách hoạt động của các thông báo mặc định.
      contentDetails.enableLowLatency Cho biết liệu sự kiện phát sóng này có nên được mã hoá để phát trực tuyến có độ trễ thấp hay không. Luồng có độ trễ thấp có thể giảm thời gian cần thiết để người dùng xem một chương trình phát sóng, mặc dù điều này cũng có thể ảnh hưởng đến độ phân giải cho người xem luồng.
      statistics.totalChatCount Tổng số tin nhắn Trò chuyện trong sự kiện phát trực tiếp liên quan đến chương trình phát sóng. Thuộc tính này và giá trị của nó sẽ xuất hiện nếu người dùng có thể xem sự kiện phát sóng và sự kiện đó đã bật tính năng trò chuyện trực tiếp. Xin lưu ý rằng thuộc tính này sẽ không chỉ định giá trị sau khi sự kiện phát sóng kết thúc. Vì vậy, thuộc tính này sẽ không xác định số lượng tin nhắn trò chuyện cho một video lưu trữ của một sự kiện phát sóng trực tiếp đã hoàn tất.
  • Các lỗi mới và lỗi đã cập nhật

    • Ngoài các lỗi được xác định cho tài nguyên liveChat mới, API này còn hỗ trợ lỗi mới sau đây:

      Chi tiết về lỗi
      liveStreams.update
      Mã phản hồi HTTPforbidden (403)
      Lý doliveStreamModificationNotAllowed
      Mô tảAPI không cho phép bạn thay đổi sự kiện phát trực tiếp có thể sử dụng lại thành không thể sử dụng lại hoặc ngược lại. Để biết thêm thông tin, hãy xem bài viết Tìm hiểu về sự kiện phát sóng và sự kiện phát trực tiếp

Ngày 21 tháng 5 năm 2015

Bản cập nhật này có những thay đổi sau:

  • YouTube hiện hỗ trợ luồng video trực tiếp ở tốc độ 60 khung hình/giây (fps), giúp phát mượt mà hơn cho video trò chơi và các video hành động nhanh khác. Khi bạn bắt đầu phát trực tiếp trên YouTube ở tốc độ khung hình 60fps, YouTube cũng sẽ cung cấp sự kiện phát trực tiếp đó ở tốc độ khung hình 30fps trên những thiết bị chưa hỗ trợ tốc độ khung hình cao.

    Thuộc tính cdn.format của tài nguyên liveStream hỗ trợ hai giá trị mới cho tính năng này: 720p_hfr và 1080p_hfr.

    Hãy xem Blog nhà sáng tạo trên YouTube để biết thêm thông tin về tính năng này.

Ngày 21 tháng 8 năm 2014

Bản cập nhật này có các thay đổi sau:

  • Định nghĩa về tham số walltime của phương thức liveBroadcasts.control đã được cập nhật để lưu ý rằng giá trị thuộc tính được chỉ định ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ).

  • API này hiện hỗ trợ các lỗi sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    insufficientPermissions liveStreamingNotEnabled Tất cả các phương thức cho tài nguyên liveBroadcast và liveStream đều trả về lỗi này nếu người dùng đã uỷ quyền cho yêu cầu API chưa được bật tính năng phát trực tiếp video trên YouTube. Thông tin chi tiết giải thích lý do người dùng không thể phát trực tiếp video có thể có trong phần cài đặt kênh của người dùng tại https://www.youtube.com/features.
    rateLimitExceeded userRequestsExceedRateLimit Cả hai phương thức liveBroadcasts.insert và liveStreams.insert đều trả về lỗi này để cho biết rằng người dùng đã gửi quá nhiều yêu cầu trong một khung thời gian nhất định.

Ngày 2 tháng 5 năm 2014

Bản cập nhật này có các thay đổi sau:

  • Nội dung mô tả về tài nguyên liveStream và phương thức liveBroadcasts.bind đã được cập nhật để lưu ý rằng một sự kiện phát sóng chỉ có thể liên kết với một luồng video, nhưng một luồng video có thể liên kết với nhiều sự kiện phát sóng. Thay đổi này chỉ là nội dung chỉnh sửa cho tài liệu; chức năng API cơ bản không thay đổi.

  • Thuộc tính contentDetails.monitorStream.enableMonitorStream của tài nguyên liveBroadcast đã được cập nhật để giải thích rằng nếu giá trị của thuộc tính là true, thì bạn phải chuyển sự kiện phát sóng sang trạng thái testing trước khi có thể chuyển sang trạng thái live. (Nếu giá trị của thuộc tính là false, thì sự kiện phát sóng của bạn không thể có giai đoạn testing, vì vậy, bạn có thể chuyển sự kiện phát sóng trực tiếp sang trạng thái live.

  • Thuộc tính settings.offsetTimeMs của tài nguyên liveCuepoint đã được cập nhật để lưu ý rằng bạn không nên chỉ định giá trị cho thuộc tính này nếu sự kiện phát sóng của bạn không có luồng giám sát.

  • Tất cả phương thức cho tài nguyên liveBroadcast và liveStream hiện đều hỗ trợ tham số onBehalfOfContentOwner và onBehalfOfContentOwnerChannel. Các tham số này cho phép bạn sử dụng cùng một thông tin uỷ quyền để hoàn tất các yêu cầu API cho nhiều kênh liên kết với cùng một chủ sở hữu nội dung.

  • Tài liệu về phương thức liveCuepoints.insert đã được cập nhật để lưu ý rằng bạn có thể đặt giá trị cho thuộc tính settings.walltime khi gọi phương thức đó.

  • Tài liệu về lỗi hiện chỉ định mã phản hồi HTTP cho từng loại lỗi.

  • API hiện hỗ trợ lỗi sau:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    insufficientPermissions livePermissionBlocked Các phương thức liveBroadcasts.insert, liveBroadcasts.transition và liveStreams.insert sẽ trả về lỗi này nếu người dùng đã uỷ quyền cho yêu cầu không thể phát video trực tiếp trên YouTube. Thông tin chi tiết giải thích lý do người dùng không thể phát trực tiếp video có thể có trong phần cài đặt kênh của người dùng tại https://www.youtube.com/features.
  • Lỗi invalidScheduledStartTime của phương thức liveBroadcasts.insert đã được cập nhật để làm rõ rằng thời gian bắt đầu theo lịch phải đủ gần với ngày hiện tại để có thể lên lịch phát sóng một cách đáng tin cậy vào thời điểm đó.

Ngày 13 tháng 12 năm 2013

Bản cập nhật này có các thay đổi sau:

  • Thuộc tính status.recordingStatus mới của tài nguyên liveBroadcast xác định trạng thái hiện tại của chương trình phát sóng.

  • Thuộc tính contentDetails.enableClosedCaptions mới của tài nguyên liveBroadcast cho biết liệu bạn có thể nhập phụ đề cho chương trình phát sóng hay không. Bạn có thể đặt giá trị thuộc tính khi chèn hoặc cập nhật một sự kiện phát sóng, nhưng không thể cập nhật sau khi sự kiện phát sóng ở trạng thái testing hoặc live. Nếu bạn đặt thuộc tính này thành true, thì tài nguyên liveStream được liên kết với chương trình phát sóng sẽ chỉ định URL truyền trực tiếp để dùng cho phụ đề của chương trình phát sóng.

  • Giờ đây, thuộc tính snippet.scheduledEndTime của tài nguyên liveBroadcast hỗ trợ các chương trình phát sóng được lên lịch tiếp tục vô thời hạn. Với thay đổi này, bạn không còn bắt buộc phải có thuộc tính này trong các yêu cầu liveBroadcasts.insert và liveBroadcasts.update nữa.

    Nếu bạn truy xuất một tài nguyên liveBroadcast không chỉ định giá trị cho thuộc tính này, thì sự kiện phát sóng sẽ được lên lịch để tiếp tục vô thời hạn. Tương tự, nếu bạn gọi phương thức liveBroadcasts.insert hoặc liveBroadcasts.update và không chỉ định giá trị cho thuộc tính này, thì chương trình phát sóng sẽ được lên lịch để tiếp tục vô thời hạn.

  • Thuộc tính contentDetails.recordFromStart của tài nguyên liveBroadcast (vốn đã có giá trị mặc định là true) hiện chỉ có thể được đặt thành false nếu kênh phát sóng được phép tắt tính năng ghi hình cho chương trình phát sóng trực tiếp.

    Nếu kênh của bạn không có quyền tắt tính năng ghi hình và bạn cố gắng chèn một sự kiện phát sóng có thuộc tính recordFromStart được đặt thành false, thì API sẽ trả về lỗi Forbidden. Ngoài ra, nếu kênh của bạn không có quyền đó và bạn cố gắng cập nhật một sự kiện phát sóng để đặt thuộc tính recordFromStart thành false, thì API sẽ trả về lỗi modificationNotAllowed.

  • Tài nguyên liveBroadcast không còn chứa thuộc tính enableArchive, vốn đã được đề cập trong nội dung mô tả của thuộc tính contentDetails.enableDvr và contentDetails.enableEmbed.

  • Danh sách các giá trị hợp lệ cho thuộc tính status.lifeCycleStatus của tài nguyên liveBroadcast đã được cập nhật để bao gồm nội dung mô tả về từng trạng thái.

  • Thuộc tính settings.walltime mới của tài nguyên liveCuepoint chỉ định ngày và giờ cần chèn điểm dừng. API sẽ trả về lỗi nếu một yêu cầu cố gắng chèn một điểm đánh dấu cho biết giá trị của thuộc tính này và thuộc tính settings.offsetTimeMs.

  • Đối tượng contentDetails mới trong tài nguyên liveStream chứa thông tin về luồng phát. Hiện tại, thuộc tính duy nhất của đối tượng là contentDetails.closedCaptionsIngestionUrl, chỉ định URL nhập cho phụ đề liên kết với luồng video.

  • Danh sách các giá trị hợp lệ cho thuộc tính status.streamStatus của tài nguyên liveStream đã được cập nhật để bao gồm nội dung mô tả về từng trạng thái.

  • Tham số walltime mới của phương thức liveBroadcasts.control cho phép bạn chỉ định ngày và giờ khi thay đổi về phương tiện chặn xảy ra. API sẽ trả về lỗi nếu một yêu cầu chỉ định giá trị cho tham số này và cho tham số offsetTimeMs.

  • Trong phản hồi của API đối với yêu cầu liveBroadcasts.list, giá trị của thuộc tính kind đã thay đổi từ youtube#liveBroadcastList thành youtube#liveBroadcastListResponse.

  • Trong phản hồi của API cho yêu cầu liveStreams.list, giá trị của thuộc tính kind đã thay đổi từ youtube#liveStreamList thành youtube#liveStreamListResponse.

  • Thuộc tính eventId không còn được dùng trong cả liveBroadcastListResponse và liveStreamListResponse.

  • API này hỗ trợ các lỗi mới sau đây:

    Loại lỗi Thông tin chi tiết về lỗi Mô tả
    invalidValue conflictingTimeFields Phương thức liveBroadcasts.control sẽ trả về lỗi này nếu yêu cầu của bạn chỉ định các giá trị cho tham số offsetTimeMs và walltime. Yêu cầu có thể bỏ qua cả hai tham số hoặc chỉ định giá trị cho một trong hai tham số.
    invalidValue invalidWalltime Phương thức liveBroadcasts.control sẽ trả về lỗi này nếu giá trị của tham số walltime không hợp lệ.
    forbidden enableClosedCaptionsModificationNotAllowed Phương thức liveBroadcasts.update sẽ trả về lỗi này nếu bạn cố gắng cập nhật giá trị contentDetails.enableClosedCaptions và trạng thái của chương trình phát sóng không phải là created hoặc ready.
    invalidValue conflictingTimeFields Phương thức liveCuepoints.insert sẽ trả về lỗi này nếu yêu cầu của bạn chỉ định các giá trị cho thuộc tính settings.offsetTimeMs và settings.walltime. Yêu cầu có thể bỏ qua cả hai thuộc tính hoặc chỉ định giá trị cho một trong hai thuộc tính.

    Ngoài ra, phương thức liveStreams.update không còn hỗ trợ lỗi cdnRequired tương tự như lỗi mà phương thức liveStreams.insert hỗ trợ.

Ngày 10 tháng 5 năm 2013

Bản cập nhật này có những thay đổi sau:

Ngày 2 tháng 5 năm 2013

Bản cập nhật này có các thay đổi sau:

Ngày 27 tháng 3 năm 2013

Bản cập nhật này có những thay đổi sau:

  • Các thuộc tính sau đây đã thay đổi trong tài nguyên liveBroadcast:

    • Thuộc tính startWithSlateCuepoint đã được đổi tên thành startWithSlate.
    • Thuộc tính enableArchive đã được đổi tên thành recordFromStart.
    • Đối tượng slateSettings không còn được dùng nữa và đã bị xoá khỏi tài liệu. Thông báo lỗi liên quan đến đối tượng slateSettings hoặc các thuộc tính của đối tượng này cũng đã bị xoá. Cuối cùng, phần "Hiển thị ảnh phiến" trong hướng dẫn Bắt đầu đã bị xoá.

  • API này không còn hỗ trợ khả năng chèn bảng thông tin trong luồng phát bằng phương thức liveCuepoints.insert nữa. Các tài liệu sau đây đã được cập nhật để phản ánh thay đổi này:

    • Trang chỉ mục, hướng dẫn Bắt đầu và hướng dẫn Vòng đời của một chương trình phát sóng không còn đề cập đến chức năng này nữa.

    • Thuộc tính settings.cueType của tài nguyên liveCuepoint không còn hỗ trợ slate làm giá trị thuộc tính nữa. (Giá trị duy nhất được hỗ trợ là ad.

    • Thuộc tính settings.eventState của tài nguyên liveCuepoint không được dùng nữa và đã bị xoá khỏi tài liệu.

Ngày 18 tháng 3 năm 2013

Bản cập nhật này có các thay đổi sau:

  • Tất cả thông báo lỗi của API đã được cập nhật để giải thích rõ hơn về các lỗi có thể xảy ra và đưa ra hướng dẫn về cách khắc phục (nếu có thể).

  • Giờ đây, API có thể trả về một số lỗi mới. Danh sách dưới đây xác định lỗi và phương thức API có thể trả về lỗi đó:

    • liveBroadcasts.insert – Thời gian kết thúc dự kiến của chương trình phát sóng phải sau thời gian bắt đầu dự kiến.
    • liveBroadcasts.insert – Chương trình phát sóng chỉ định trạng thái riêng tư không hợp lệ.
    • liveBroadcasts.update – Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tính contentDetails.enableArchive.
    • liveBroadcasts.update – Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tính contentDetails.enableContentEncryption.
    • liveBroadcasts.update – Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tính contentDetails.enableDvr.
    • liveStreams.insert – Tiêu đề đoạn thông tin phải dài từ 1 đến 128 ký tự.
    • liveStreams.update – Tài nguyên không chứa hoặc không đặt giá trị cho thuộc tính snippet.title.

  • Tài liệu về tài nguyên liveStream đã được cập nhật để phản ánh rằng phương thức multicast và WebM không phải là phương thức truyền dẫn được hỗ trợ như đã nêu trước đây. Danh sách định dạng cho thuộc tính cdn.format đã được cập nhật tương ứng, đồng thời đối tượng cdn.multicastIngestionInfo và các thuộc tính con của đối tượng này đã bị xoá khỏi tài liệu của tài nguyên. Ngoài ra, http đã bị xoá khỏi danh sách các giá trị cdn.ingestionType được hỗ trợ.