我尝试使用youtube的watchme应用程序进行实时流式处理,并且我公平地理解了代码。在我的用例中,用户需要能够直播到另一个频道。我知道这里需要Stream密钥,但我需要粗略指导我需要在代码中更改的位置。任何暗示或粗略的想法都会做。我只需要开始。
答案 0 :(得分:0)
如果您使用的是Youtube WatchMe app for Android,则会在您的Youtube帐户上创建直播活动。如果您希望用户从另一个Youtube帐户发布的实时流中键入流密钥,则必须创建类似于startStreaming
方法的功能:
public void startStreaming(EventData event) {
//the event is already started on your external live stream
//String broadcastId = event.getId();
//new StartEventTask().execute(broadcastId);
Intent intent = new Intent(getApplicationContext(),
StreamerActivity.class);
intent.putExtra(YouTubeApi.RTMP_URL_KEY, event.getIngestionAddress());
// we don't need this since it's only used to end the live event
intent.putExtra(YouTubeApi.BROADCAST_ID_KEY, "");
startActivityForResult(intent, REQUEST_STREAMER);
}
请注意,广播ID会发送到StreamerActivity
,以便能够完成您使用外部直播流无法完成的事件(endEvent
)。
event.getIngestionAddress()
是Stream Key网址,例如:
rtmp://a.rtmp.youtube.com/live2/<Stream key>
因此,您可以创建如下方法:
public void startStreaming(String streamKey) {
String url = "rtmp://a.rtmp.youtube.com/live2/" + streamKey;
Intent intent = new Intent(getApplicationContext(), StreamerActivity.class);
intent.putExtra(YouTubeApi.RTMP_URL_KEY, url);
intent.putExtra(YouTubeApi.BROADCAST_ID_KEY, "");
startActivityForResult(intent, REQUEST_STREAMER);
}