Youtube-dl Modülü İle İndirilen Ses Dosyası Hakkında (.ogg formatı)

Başlıkta yazdığım gibi youtube-dl modülü ile indirdiğim ses dosyasını (.ogg) pygame modülü ile açmaya çalışıyorum fakat pygame.error: Unable to open file ‘x.ogg’ hatası alıyorum. İndirdiğim ses dosyasını internetten .ogg’ye çevirdiğimde sorun olmadan açıyorum.

Ses dosyasını (.ogg) indirmek için yazdığım kodlar.

import youtube_dl

ytv = input('')

options = {
  'format': 'bestaudio/best',
  'extractaudio' : True,
  'audioformat' : "ogg",
  'outtmpl': '%(id)s',
  'noplaylist' : True,
}
with youtube_dl.YoutubeDL(options) as ydl:
    ydl.download([ytv])

Bu arada audioformat’a ogg yazdığım halde herhangi bir format atamıyor şarkı indiğinde. Ben yeniden adlandır yapıp .ogg yapıyorum o şekilde değişiyor formatı.

Kısacası harici bir converter kullanmak istemiyorum. Sizce o hatanın sebebi nedir?

Pygame konusunda pek bir bilgim yok ancak OGG formatını açabilmesi için bir eklentiye ihtiyaç duyabileceği geldi aklıma. Diğer formatları denediniz mi?

Youtube-dl’nin dökümantasyonunu incelediniz mi? Oradaki listede ben ogg formatını göremedim. Belki de ogg formatı desteklenmiyordur? mp3 ya da FLAC olarak deneyin bir de.

Dosya uzantısını değiştirdiğinizde dosyanın türü değişmez, sanırım bunu biliyorsunuz. Dosyayı dönüştürdüğünüzde ogg olarak kabul ettiğini söylemişsiniz, bu da indirdiğiniz dosyanın formatının ogg olmadığının bir işareti.

İndirdiğiniz “ogg” dosyasını bir hex editörü ile açın. Dosyanın ilk 8 bit’i hex olarak şöyle olmalı:

4F 67 67 53 00 02 00 00

Ya da ASCII formatında aynı 8 bit’lik değerler şöyle olmalı:

OggS

Eğer bu iki durum sağlanamıyorsa dosyanız ogg formatında değil demektir.

Hex editör ile açtım ve dediğiniz gibi verdiğiniz bitlerle uyuşmuyor. Biraz bakındım ve .mkv olduğunu anladım. Farklı bir çözüm bulmaya çalışacağım. Teşekkürler cevaplar için.