API này hiện hỗ trợ tính năng đánh dấu chương trình phát sóng trực tiếp của bạn là "dành cho trẻ em". Đồng thời, tài nguyên
liveBroadcast
hiện chứa một thuộc tính xác định trạng thái "dành cho trẻ em" của chương trình phát sóng trực tiếp đó. Điều khoản dịch vụ của Dịch vụ API YouTube và Chính sách dành cho nhà phát triển cũng được cập nhật vào ngày 10 tháng 1 năm 2020. Để biết thêm thông tin, vui lòng xem nhật ký sửa đổi của Dịch vụ API phát trực tiếp trên YouTube và Điều khoản dịch vụ của Dịch vụ API YouTube.
Tài nguyên liveBroadcast
đại diện cho một sự kiện sẽ được phát trực tuyến qua video trực tiếp trên YouTube.
Phương thức
API này hỗ trợ các phương thức sau cho tài nguyên liveBroadcasts
:
- list
- Trả về danh sách các chương trình phát sóng trên YouTube khớp với các tham số yêu cầu của API. Thử ngay.
- chèn
- Tạo một thông báo truyền tin. Thử ngay.
- update
- Cập nhật thông báo truyền tin. Ví dụ: bạn có thể sửa đổi chế độ cài đặt thông báo truyền tin được xác định trong đối tượng
contentDetails
của tài nguyênliveBroadcast
. Thử ngay. - xóa
- Xoá thông báo truyền tin. Thử ngay.
- liên kết
- Liên kết một sự kiện phát sóng trên YouTube với một luồng hoặc xoá mối liên kết hiện có giữa một sự kiện phát sóng và một luồng. Một sự kiện phát sóng chỉ có thể liên kết với một luồng video, mặc dù một luồng video có thể liên kết với nhiều sự kiện phát sóng. Thử ngay.
- transition
- Thay đổi trạng thái của một sự kiện phát trực tiếp trên YouTube và bắt đầu mọi quy trình liên quan đến trạng thái mới. Ví dụ: khi bạn chuyển trạng thái của chương trình phát sóng sang
testing
, YouTube sẽ bắt đầu truyền video đến luồng giám sát của chương trình phát sóng đó. Trước khi gọi phương thức này, bạn nên xác nhận rằng giá trị của thuộc tínhstatus.streamStatus
cho luồng liên kết với thông báo truyền tin làactive
. Thử ngay. - điểm đánh dấu
- Chèn điểm tín hiệu vào sự kiện phát trực tiếp. Điểm tín hiệu có thể kích hoạt một điểm chèn quảng cáo.
Biểu thị tài nguyên
Cấu trúc JSON sau đây cho thấy định dạng của tài nguyên liveBroadcasts
:
{ "kind": "youtube#liveBroadcast", "etag": etag, "id": string, "snippet": { "publishedAt": datetime, "channelId": string, "title": string, "description": string, "thumbnails": { (key): { "url": string, "width": unsigned integer, "height": unsigned integer } }, "scheduledStartTime": datetime, "scheduledEndTime": datetime, "actualStartTime": datetime, "actualEndTime": datetime, "isDefaultBroadcast": boolean, "liveChatId": string }, "status": { "lifeCycleStatus": string, "privacyStatus": string, "recordingStatus": string, "madeForKids": string, "selfDeclaredMadeForKids": string, }, "contentDetails": { "boundStreamId": string, "boundStreamLastUpdateTimeMs": datetime, "monitorStream": { "enableMonitorStream": boolean, "broadcastStreamDelayMs": unsigned integer, "embedHtml": string }, "enableEmbed": boolean, "enableDvr": boolean, "recordFromStart": boolean, "enableClosedCaptions": boolean, "closedCaptionsType": string, "projection": string, "enableLowLatency": boolean, "latencyPreference": boolean, "enableAutoStart": boolean, "enableAutoStop": boolean }, "statistics": { "totalChatCount": unsigned long }, "monetizationDetails": { "cuepointSchedule": { "enabled": boolean, "pauseAdsUntil": datetime, "scheduleStrategy": string, "repeatIntervalSecs": unsigned integer, } } } }
Thuộc tính
Bảng sau đây xác định các thuộc tính xuất hiện trong tài nguyên này:
Thuộc tính | |
---|---|
kind |
string Xác định loại tài nguyên API. Giá trị sẽ là youtube#liveBroadcast . |
etag |
etag Etag của tài nguyên này. |
id |
string Mã do YouTube chỉ định để nhận dạng riêng lẻ sự kiện phát sóng. |
snippet |
object Đối tượng snippet chứa thông tin chi tiết cơ bản về sự kiện, bao gồm tiêu đề, nội dung mô tả, thời gian bắt đầu và thời gian kết thúc. |
snippet.publishedAt |
datetime Ngày và giờ mà sự kiện phát trực tiếp được thêm vào lịch phát trực tiếp của YouTube. Giá trị được chỉ định ở định dạng ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.channelId |
string Mã nhận dạng mà YouTube dùng để xác định riêng biệt kênh đang phát hành chương trình phát sóng. |
snippet.title |
string Tiêu đề của thông báo truyền tin. Xin lưu ý rằng chương trình phát sóng chỉ đại diện cho một video trên YouTube. Bạn có thể đặt trường này bằng cách sửa đổi tài nguyên truyền tin hoặc bằng cách đặt trường title của tài nguyên video tương ứng. |
snippet.description |
string Nội dung mô tả của chương trình phát sóng. Cũng như title , bạn có thể đặt trường này bằng cách sửa đổi tài nguyên truyền tin hoặc bằng cách đặt trường description của tài nguyên video tương ứng. |
snippet.thumbnails |
object Bản đồ hình thu nhỏ liên kết với chương trình phát sóng. Đối với mỗi đối tượng lồng nhau trong đối tượng này, khoá là tên của hình thu nhỏ và giá trị là một đối tượng chứa thông tin khác về hình thu nhỏ. |
snippet.thumbnails.(key) |
object Các giá trị khoá hợp lệ là:
|
snippet.thumbnails.(key).url |
string URL của hình ảnh. |
snippet.thumbnails.(key).width |
unsigned integer Chiều rộng của hình ảnh. |
snippet.thumbnails.(key).height |
unsigned integer Chiều cao của hình ảnh. |
snippet.scheduledStartTime |
datetime Ngày và giờ bắt đầu phát sóng theo lịch. Giá trị được chỉ định ở định dạng ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Creator Studio hỗ trợ tính năng tạo sự kiện phát trực tiếp mà không cần lên lịch thời gian bắt đầu. Trong trường hợp này, chương trình phát sóng sẽ bắt đầu bất cứ khi nào chủ sở hữu kênh bắt đầu phát trực tiếp. Đối với những tin truyền này, giá trị datetime tương ứng với UNIX thời gian bằng 0 và bạn không thể thay đổi giá trị này thông qua API hoặc trong Creator Studio. |
snippet.scheduledEndTime |
datetime Ngày và giờ kết thúc chương trình phát sóng. Giá trị được chỉ định ở định dạng ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Nếu tài nguyên liveBroadcast không chỉ định giá trị cho thuộc tính này, thì thông báo truyền tin sẽ được lên lịch tiếp tục vô thời hạn. Tương tự, nếu bạn không chỉ định giá trị cho thuộc tính này, thì YouTube sẽ coi sự kiện phát trực tiếp là sự kiện phát trực tiếp vô thời hạn. |
snippet.actualStartTime |
datetime Ngày và giờ mà sự kiện phát sóng thực sự bắt đầu. Thông tin này chỉ xem được khi trạng thái của thông báo truyền tin là live . Giá trị này được chỉ định ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.actualEndTime |
datetime Ngày và giờ phát sóng thực sự kết thúc. Thông tin này chỉ có sẵn khi trạng thái của thông báo truyền tin là complete . Giá trị này được chỉ định ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ ). |
snippet.isDefaultBroadcast |
boolean
Tài sản này sẽ ngừng hoạt động từ ngày 1 tháng 9 năm 2020 trở đi. Khi đó, YouTube sẽ ngừng tạo sự kiện phát trực tiếp và sự kiện phát sóng mặc định khi một kênh được bật tính năng phát trực tiếp. Vui lòng xem thông báo về việc ngừng sử dụng để biết thêm chi tiết.
Thuộc tính này cho biết liệu thông báo truyền tin này có phải là thông báo truyền tin mặc định hay không.Cách hoạt động của sự kiện phát trực tiếp mặc định Khi một kênh YouTube 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 trực tiếp mặc định cho kênh đó. Luồng phát trực tiếp xác định cách chủ sở hữu kênh gửi video phát trực tiếp đến YouTube, còn sự kiện phát trực tiếp là cách người xem có thể xem luồng phát trực tiếp mặc định. Chủ sở hữu kênh có thể sử dụng các phương thức liveStreams.list và liveBroadcasts.list để xác định những tài nguyên này.Khi một kênh bắt đầu phát trực tuyến video đến luồng mặc định, video đó sẽ xuất hiện trên chương trình phát sóng mặc định của kênh. Khi sự kiện phát trực tiếp kết thúc, YouTube sẽ chuyển đổi sự kiện phát sóng đã hoàn tất thành một video trên YouTube và gán mã nhận dạng video trên YouTube cho video đó. Sau khi quá trình chuyển đổi hoàn tất, video đó sẽ có trong danh sách các video đã tải lên của kênh. Video không xuất hiện ngay sau khi sự kiện phát sóng kết thúc và thời lượng của video phát lại có liên quan đến thời lượng thực tế của sự kiện phát sóng. |
snippet.liveChatId |
string Mã nhận dạng cho cuộc trò chuyện trực tiếp trên YouTube của sự kiện phát trực tiếp. Với mã nhận dạng này, bạn có thể sử 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 cuộc trò chuyện, cấm người dùng tham gia cuộc trò chuyện trực tiếp hoặc xoá lệnh cấm hiện có. |
status |
object Đối tượng status chứa thông tin về trạng thái của sự kiện. |
status.lifeCycleStatus |
string Trạng thái của chương trình phát sóng. Bạn có thể cập nhật trạng thái bằng cách sử dụng phương thức liveBroadcasts.transition của API.Các giá trị hợp lệ cho thuộc tính này là:
|
status.privacyStatus |
string Trạng thái quyền riêng tư của thông báo truyền tin. Xin lưu ý rằng sự kiện phát trực tiếp đại diện cho đúng một video trên YouTube, vì vậy, chế độ cài đặt quyền riêng tư của sự kiện phát trực tiếp giống với chế độ cài đặt quyền riêng tư được hỗ trợ cho video. Ngoài ra, bạn có thể đặt trường này bằng cách sửa đổi tài nguyên truyền tin hoặc bằng cách đặt trường privacyStatus của tài nguyên video tương ứng.Các giá trị hợp lệ cho thuộc tính này là:
|
status.recordingStatus |
string Trạng thái ghi của chương trình phát sóng. Các giá trị hợp lệ cho thuộc tính này là:
|
status.madeForKids |
boolean Giá trị này cho biết liệu chương trình phát sóng có được chỉ định là dành cho trẻ em hay không. Giá trị thuộc tính này chỉ có thể đọc. |
status.selfDeclaredMadeForKids |
boolean Trong yêu cầu liveBroadcasts.insert , thuộc tính này cho phép chủ sở hữu kênh chỉ định chương trình phát sóng là chương trình dành cho trẻ em. Trong yêu cầu liveBroadcasts.list , giá trị thuộc tính chỉ được trả về nếu chủ sở hữu kênh đã cho phép yêu cầu API. |
contentDetails |
object Đối tượng contentDetails chứa thông tin về nội dung video của sự kiện, chẳng hạn như liệu nội dung đó có thể xuất hiện trong trình phát video được nhúng hay không hoặc liệu nội dung đó có được lưu trữ để xem sau khi sự kiện kết thúc hay không. |
contentDetails.boundStreamId |
string Giá trị này xác định duy nhất live stream liên kết với thông báo truyền tin. |
contentDetails.boundStreamLastUpdateTimeMs |
datetime Ngày và giờ cập nhật gần đây nhất của luồng phát trực tiếp được boundStreamId tham chiếu. |
contentDetails.monitorStream |
object Đối tượng monitorStream chứa thông tin về luồng giám sát mà đài phát có thể dùng để xem xét nội dung sự kiện trước khi luồng truyền phát được hiển thị công khai. |
contentDetails.monitorStream.enableMonitorStream |
boolean Giá trị này xác định liệu luồng giám sát có được bật cho thông báo truyền tin hay không. Nếu bạn bật luồng giám sát, YouTube sẽ phát nội dung sự kiện trên một luồng đặc biệt chỉ dành cho nhà tổ chức sự kiện. Nhà phát sóng có thể sử dụng luồng để xem lại nội dung sự kiện và xác định thời điểm tối ưu để chèn điểm tín hiệu. Bạn cần thiết lập giá trị này thành true nếu dự định đặt giai đoạn testing cho sự kiện phát sóng hoặc nếu bạn muốn đặt độ trễ phát sóng cho sự kiện. Ngoài ra, nếu giá trị của thuộc tính này là true thì bạn phải chuyển thông báo truyền tin sang trạng thái testing trước khi có thể chuyển thông báo đó sang trạng thái live . (Nếu giá trị của thuộc tính là false , thì thông báo truyền tin của bạn không thể có giai đoạn testing , vì vậy, bạn có thể chuyển trực tiếp thông báo truyền tin sang trạng thái live .)Khi bạn update a broadcast , bạn phải đặt thuộc tính này nếu yêu cầu API của bạn bao gồm phần contentDetails trong giá trị tham số part . Tuy nhiên, khi bạn insert a broadcast , thuộc tính này là không bắt buộc và có giá trị mặc định là true .Lưu ý quan trọng: Bạn không thể cập nhật thuộc tính này khi chương trình phát sóng đang ở trạng thái testing hoặc live . |
contentDetails.monitorStream.broadcastStreamDelayMs |
unsigned integer Nếu bạn đã đặt thuộc tính enableMonitorStream thành true , thì thuộc tính này sẽ xác định độ trễ của sự kiện phát trực tiếp.Khi bạn update a broadcast , bạn phải đặt thuộc tính này nếu yêu cầu API của bạn bao gồm phần contentDetails trong giá trị tham số part . Tuy nhiên, khi bạn insert a broadcast , thuộc tính này là không bắt buộc và có giá trị mặc định là 0 . Giá trị này cho biết chương trình phát sóng không có độ trễ phát sóng. Lưu ý: Bạn không thể cập nhật thuộc tính này sau khi thông báo truyền tin ở trạng thái testing hoặc live . |
contentDetails.monitorStream.embedHtml |
string Mã HTML nhúng trình phát phát luồng màn hình. |
contentDetails.enableEmbed |
boolean Chế độ cài đặt này cho biết liệu có thể phát video phát sóng trong trình phát được nhúng hay không. Nếu bạn chọn lưu trữ video (bằng thuộc tính enableArchive ), chế độ cài đặt này cũng sẽ áp dụng cho video đã lưu trữ.Khi bạn update a broadcast , bạn phải đặt thuộc tính này nếu yêu cầu API của bạn bao gồm phần contentDetails trong giá trị tham số part . Tuy nhiên, khi bạn insert a broadcast , thuộc tính này là không bắt buộc và có giá trị mặc định là true .Lưu ý: Bạn không thể cập nhật thuộc tính này sau khi thông báo truyền tin ở trạng thái testing hoặc live . |
contentDetails.enableDvr |
boolean Chế độ cài đặt này xác định xem người xem có thể truy cập vào các nút điều khiển DVR trong khi xem video hay không. Các nút điều khiển DVR cho phép người xem kiểm soát trải nghiệm phát video bằng cách tạm dừng, tua lại hoặc tua đi nội dung. Giá trị mặc định của thuộc tính này là true . Khi bạn update a broadcast , bạn phải đặt thuộc tính này nếu yêu cầu API của bạn bao gồm phần contentDetails trong giá trị tham số part . Tuy nhiên, khi bạn insert a broadcast , thuộc tính này là không bắt buộc và có giá trị mặc định là true .Lưu ý quan trọng: Bạn phải đặt giá trị thành true , đồng thời đặt giá trị của thuộc tính enableArchive thành true nếu muốn cho phép phát nội dung ngay sau khi sự kiện phát sóng kết thúc. Ngoài ra, bạn không thể cập nhật thuộc tính này sau khi thông báo truyền tin ở trạng thái testing hoặc live . |
contentDetails.recordFromStart |
boolean Chế độ cài đặt này cho biết liệu YouTube có tự động bắt đầu ghi lại chương trình phát sóng sau khi trạng thái của sự kiện thay đổi thành đang phát trực tiếp hay không. Giá trị mặc định của thuộc tính này là true và bạn chỉ có thể đặt giá trị này thành false nếu kênh phát sóng được phép tắt tính năng ghi lại các 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 lại và bạn cố gắng chèn một sự kiện phát trực tiếp 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 thông báo truyền tin để đặt thuộc tính recordFromStart thành false , thì API sẽ trả về lỗi modificationNotAllowed .Khi bạn update a broadcast , bạn phải đặt thuộc tính này nếu yêu cầu API của bạn bao gồm phần contentDetails trong giá trị tham số part . Tuy nhiên, khi bạn insert a broadcast , thuộc tính này là không bắt buộc và có giá trị mặc định là true .Lưu ý quan trọng: Bạn cũng phải đặt giá trị của thuộc tính enableDvr thành true nếu muốn phát ngay sau khi chương trình phát sóng kết thúc. Nếu bạn đặt giá trị của thuộc tính này thành true nhưng đồng thời không đặt thuộc tính enableDvr thành true , thì có thể mất khoảng 1 ngày trước khi video đã lưu trữ có thể phát lại.Lưu ý: Bạn không thể cập nhật thuộc tính này sau khi thông báo truyền tin ở trạng thái testing hoặc live . |
contentDetails.enableClosedCaptions |
boolean Kể từ ngày 17 tháng 12 năm 2015, thuộc tính này không được dùng nữa. Thay vào đó, hãy sử dụng thuộc tính contentDetails.closedCaptionsType .Chế độ cài đặt này cho biết liệu tính năng phụ đề dạng văn bản đóng qua HTTP POST có được bật cho chương trình phát sóng này hay không. Đối với các ứng dụng API đang sử dụng thuộc tính này:
|
contentDetails.closedCaptionsType |
string 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 của mình hay không và nếu có thì bạn đang cung cấp loại phụ đề nào:
|
contentDetails.projection |
string Định dạng chiếu của chương trình phát sóng này. Giá trị mặc định của thuộc tính này là rectangular .Các giá trị hợp lệ cho thuộc tính này là:
|
contentDetails.enableLowLatency |
boolean Cho biết liệu bạn có nên mã hoá thông báo truyền tin này để 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 người dùng xem chương trình phát sóng nhìn thấy video, mặc dù điều này cũng có thể ảnh hưởng đến độ phân giải của người xem luồng. |
contentDetails.latencyPreference |
string Cho biết chế độ cài đặt độ trễ nào sẽ được sử dụng cho thông báo truyền tin này. Bạn có thể sử dụng thuộc tính này thay vì enableLowLatency (không hỗ trợ ultraLow ).Luồng có độ trễ thấp có thể giảm thời gian người dùng xem chương trình phát sóng nhìn thấy video, mặc dù điều này cũng có thể ảnh hưởng đến độ mượt mà của quá trình phát. Luồng có độ trễ cực thấp giúp giảm thời gian người xem nhìn thấy video, giúp tương tác với người xem dễ dàng hơn, nhưng độ trễ cực thấp không hỗ trợ phụ đề hoặc độ phân giải cao hơn 1080p. Các giá trị hợp lệ cho thuộc tính này là:
|
contentDetails.enableAutoStart |
boolean Cho biết liệu sự kiện phát sóng này có tự động bắt đầu khi bạn bắt đầu phát trực tuyến video trên live stream được liên kết hay không. |
contentDetails.enableAutoStop |
boolean Cho biết liệu sự kiện phát trực tiếp này có tự động dừng sau khoảng một phút kể từ 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. |
statistics |
object Đối tượng statistics chứa số liệu thống kê liên quan đến một chương trình phát trực tiếp. Giá trị của các số liệu thống kê này có thể thay đổi trong khi phát sóng và chỉ có thể truy xuất được khi chương trình phát sóng đang phát trực tiếp. |
statistics.totalChatCount |
unsigned long Tổng số tin nhắn trò chuyện trực tiếp liên kết với sự kiện phát trực tiếp. Thuộc tính này và giá trị của thuộc tính sẽ xuất hiện nếu người dùng nhìn thấy thông báo truyền tin, tính năng trò chuyện trực tiếp đã bật và có ít nhất một tin nhắn. Xin lưu ý rằng thuộc tính này sẽ không chỉ định giá trị sau khi thông báo truyền tin kết thúc. Do đó, thuộc tính này sẽ không xác định số lượng tin nhắn trò chuyện cho video đã lưu trữ của một sự kiện phát trực tiếp đã kết thúc. |
monetizationDetails |
object Đối tượng monetizationDetails chứa thông tin về
thông tin kiếm tiền của sự kiện phát trực tiếp, chẳng hạn như công cụ tự động hoá quảng cáo có được bật hay không hoặc việc chèn quảng cáo trong video
có bị trì hoãn hay không. |
monetizationDetails.cuepointSchedule |
object Đối tượng cuepointSchedule chỉ định các chế độ cài đặt tự động hoá quảng cáo cho chương trình phát sóng. |
monetizationDetails.cuepointSchedule.enabled |
boolean Giá trị này xác định xem quảng cáo có được tự động chèn vào thông báo truyền tin hay không. Nếu giá trị là true , YouTube sẽ tự động chèn quảng cáo trong video vào chương trình phát sóng. Lịch chạy quảng cáo sẽ được xác định theo giá trị của các trường khác trong đối tượng monetizationDetails.cuepointSchedule .
|
monetizationDetails.cuepointSchedule.pauseAdsUntil |
datetime Giá trị này chỉ định rằng YouTube không được chèn quảng cáo trong video vào chương trình phát sóng cho đến ngày và giờ đã chỉ định. Giá trị được chỉ định ở định dạng ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ). Bạn phải đặt giá trị này thành một ngày giờ trong tương lai để tạm dừng quảng cáo. Bạn cũng có thể đặt giá trị trường này thành một ngày giờ gần trong tương lai để huỷ tạm dừng quảng cáo khi thời gian trôi qua. |
monetizationDetails.cuepointSchedule.scheduleStrategy |
string Giá trị này chỉ định chiến lược mà YouTube nên áp dụng để lập lịch cho các điểm dừng. Có các giá trị hợp lệ như sau:
|
monetizationDetails.cuepointSchedule.repeatIntervalSecs |
unsigned integer Giá trị này chỉ định khoảng thời gian, tính bằng giây, giữa các lần chèn quảng cáo tự động trong một chương trình phát sóng. Ví dụ: nếu giá trị là 300 , YouTube có thể chèn điểm chèn quảng cáo trong video với khoảng thời gian 5 phút.Xin lưu ý rằng giá trị này chỉ định thời gian giữa điểm bắt đầu của các điểm tín hiệu liên tiếp. Tức là khoảng thời gian không được đo từ cuối điểm tín hiệu này đến đầu điểm tín hiệu tiếp theo. |