我使用自己的编码器流式传输视频。当我流式传输时,我必须继续返回YouTube来更改所选的流式密钥,以使用创建的第一个密钥。如何更改或确保YoutTube API使用原始流密钥而不生成新密钥。
我尝试使用列表,更新和过渡,但是没有响应提供流密钥或允许我更改正在使用的流密钥
title = getStreamTitle();
System.out.println("You chose " + title + " for stream title.");
// Create a snippet with the video stream's title.
LiveStreamSnippet streamSnippet = new LiveStreamSnippet();
streamSnippet.setTitle(title);
// Define the content distribution network settings for the
// video stream. The settings specify the stream's format and
// ingestion type. See:
// https://developers.google.com/youtube/v3/live/docs/liveStreams#cdn
CdnSettings cdnSettings = new CdnSettings();
cdnSettings.setFormat("1080p");
cdnSettings.setIngestionType("rtmp");
cdnSettings.getIngestionInfo();
LiveStream stream = new LiveStream();
stream.setKind("youtube#liveStream");
stream.setSnippet(streamSnippet);
stream.setCdn(cdnSettings);
// Construct and execute the API request to insert the stream.
YouTube.LiveStreams.Insert liveStreamInsert =
youtube.liveStreams().insert("snippet,cdn", stream);
LiveStream returnedStream = liveStreamInsert.execute();
这是我目前正在做的事情,但这会为YouTube广播活动创建新的视频流。我不希望它产生新的流,但是我需要返回密钥。
private static String getStreamTitle() throws IOException {
String title = "";
System.out.print("Please enter a stream title: ");
BufferedReader bReader = new BufferedReader(new InputStreamReader(System.in));
title = bReader.readLine();
if (title.length() < 1) {
// Use "New Stream" as the default title.
title = "New Stream";
}
return title;
}
我希望输出给我一个流密钥,可以将其添加到编码器中,或者可以直接使它使用上一个流,从而使可重用的流密钥保持不变。
答案 0 :(得分:0)
对于那些还没有看过OP的较新帖子的人,他们将答案发布在了那里,您可以使用以下方法获取信息流密钥:
returnedStream.getCdn().getIngestionInfo().getStreamName();
How can I change the stream my event uses via the YouTube live api?