【问题标题】:YouTube API V3: CRUD RTMPYouTube API V3:CRUD RTMP
【发布时间】:2021-09-23 11:04:39
【问题描述】:

如何获取 RTMP 密钥并将其与直播关联?

我想创建 RTMP 密钥并将它们与预定广播相关联。

当我创建一个 LiveBroadcasts 时,默认的 RTMP 密钥是关联的。我需要管理这些键才能同时编程和播放多个视频。

LiveBroadcast.insert 响应中不存在 RTMP 密钥信息,但在 YouTube Studio 中,默认密钥与视频时间表相关联。

GoogleCredential cred = await auth.GetCredentialAsync();
var service = new YouTubeService(new BaseClientService.Initializer
{
    HttpClientInitializer = cred
});

var liveBroadcast = new LiveBroadcast();

var snippet = new LiveBroadcastSnippet();
snippet.Title = "Video example 1";
snippet.ScheduledStartTime = new DateTime(2021, 7, 15, 9, 0, 0);
snippet.ScheduledEndTime = new DateTime(2021, 7, 15, 10, 30, 0);
liveBroadcast.Snippet = snippet;

var status = new LiveBroadcastStatus();
status.PrivacyStatus = "public";
status.SelfDeclaredMadeForKids = true;
liveBroadcast.Status = status;

var contentDetails = new LiveBroadcastContentDetails();
contentDetails.EnableAutoStart = true;
contentDetails.EnableAutoStop = true;
contentDetails.RecordFromStart = true;
contentDetails.EnableDvr = true;
liveBroadcast.ContentDetails = contentDetails;

var request = service.LiveBroadcasts.Insert(liveBroadcast, "snippet, contentDetails, status");
var response = await request.ExecuteAsync();

【问题讨论】:

    标签: c# youtube-api


    【解决方案1】:

    答案在 LiveStreams 和 LiveBroadcasts 上:绑定。

    创建 LiveBroadcast 和 LiveStreams 后,您可以使用 LiveBroadcasts 链接它们:绑定

    var liveStream = new LiveStream();
    
    var snippet = new LiveStreamSnippet();
    snippet.Title = "Key A";
    liveStream.Snippet = snippet;
    
    var cdn = new CdnSettings();
    cdn.Format = "";
    cdn.IngestionType = "rtmp";
    cdn.FrameRate = "variable";
    cdn.Resolution = "variable";
    liveStream.Cdn = cdn;
    
    var request = service.LiveStreams.Insert(liveStream, "snippet, cdn");
    var response = await aux.ExecuteAsync();
    
    var liveBroadcastsBind = service.LiveBroadcasts.Bind(IdLiveBroadcasts, "id, contentDetails");
    liveBroadcastsBind.StreamId = IdLiveStream;
    var response = await liveBroadcastsBind.ExecuteAsync();
    

    【讨论】:

      猜你喜欢
      • 2016-02-21
      • 2016-11-05
      • 2014-05-11
      • 1970-01-01
      • 2014-03-12
      • 2014-10-24
      • 2013-05-14
      • 2013-09-19
      • 2021-12-25
      相关资源
      最近更新 更多