- 5 Şub 2022
- 611
- 8
- 91
C# ile YouTube'da otomatik canlı yayın yapmak istiyorum fakat aşağıdaki kodda canlı yayını başlatmıyor, sadece planlama yapıyor ve canlı yayını açmak için gerekli radyo butonunu seçmiyor, çocuklar için değil. Bu sorunu nasıl çözebilirim?
Onun dışında gayet iyi çalışıyor, API çok hızlı yanıt veriyor ancak canlı yayın başlamıyor. YouTube'daki yayın ekranında "YouTube C# denemesi bekleniyor (kanal adı)" yazısı yazılıyor.
Amacım aslında otomatik kamera sistemi oluşturmak. Bu C# kodunu Raspery Pi üzerinde çalıştıracağım ve birkaç kamera takarak YouTube'a canlı yayın özelliği ekleyeceğim. Daha sonra C# Net Maui kullanarak bu YouTube videolarını telefondaki uygulamama otomatik olarak aktarabilecek bir yazılım yazacağım.
Tek yapmanız gereken bana YouTube API'sini ve kamerayı kullanarak C#'ta nasıl yayın yapacağımı göstermek.
Onun dışında gayet iyi çalışıyor, API çok hızlı yanıt veriyor ancak canlı yayın başlamıyor. YouTube'daki yayın ekranında "YouTube C# denemesi bekleniyor (kanal adı)" yazısı yazılıyor.
C#:
try
{
// YouTube API kimlik bilgileri
string clientId = "clientId";
string clientSecret = "clientSecret";
string redirectUri = "http://localhost";
// YouTube API ayarları
var credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets { ClientId = clientId, ClientSecret = clientSecret },
new[] { YouTubeService.Scope.Youtube },
"user",
System.Threading.CancellationToken.None,
new FileDataStore("YouTube.Auth.Store"));
var youtubeService = new YouTubeService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "YourAppName"
});
// Yeni bir canlı yayın oluşturma
var liveBroadcast = new LiveBroadcast
{
Snippet = new LiveBroadcastSnippet
{
Title = "Your broadcast title",
ScheduledStartTime = DateTime.Now
},
Status = new LiveBroadcastStatus { PrivacyStatus = "public" }
};
// Canlı yayını oluşturma isteği gönderme
var insertRequest = youtubeService.LiveBroadcasts.Insert(liveBroadcast, "snippet,status");
var insertedBroadcast = await insertRequest.ExecuteAsync();
// Oluşturulan canlı yayının ID'sini al
string broadcastId = insertedBroadcast.Id;
// Canlı yayını yayına al
liveBroadcast.Status.PrivacyStatus = "public";
liveBroadcast.Id = broadcastId;
var updateRequest = youtubeService.LiveBroadcasts.Update(liveBroadcast, "snippet,status");
await updateRequest.ExecuteAsync();
// Canlı yayın URL'sini oluştur
string liveUrl = $"https://www.youtube.com/watch?v={broadcastId}";
// Kullanıcıya canlı yayın URL'sini gönder
await message.Channel.SendMessageAsync($"Canlı yayın başlatıldı: {liveUrl}");
}
catch (Exception ex)
{
await message.Channel.SendMessageAsync(ex.Message);
}
Amacım aslında otomatik kamera sistemi oluşturmak. Bu C# kodunu Raspery Pi üzerinde çalıştıracağım ve birkaç kamera takarak YouTube'a canlı yayın özelliği ekleyeceğim. Daha sonra C# Net Maui kullanarak bu YouTube videolarını telefondaki uygulamama otomatik olarak aktarabilecek bir yazılım yazacağım.
Tek yapmanız gereken bana YouTube API'sini ve kamerayı kullanarak C#'ta nasıl yayın yapacağımı göstermek.