1.
bunuda yapmadım demem artık, teknik olarak yapay zeka ile yaptım sıfır bilgi ile, üstelik çalışıyor tamamen. kendi wifi ağım üzerinden çalışıyor tabii genele açık değil. fakat şok içindeyim, başaracağımı sanmıyordum. proje karmaşıklaştıkça sıfır bilgi ile işin içinden çıkıp çıkarmayacağıma emin değildim ama başardım. yaptığım olay teknik olarak aşağıda (yapay zekaya özet çıkartırdım yaptıklarımızı)
amacım neydi?
normalde youtube premium da olan indirme özelliğini beleşe getirmek. yani uygulamadan paylaş kısmıma basıp kendi yaptığımız uygulama ile paylaşınca telefona inecek.bunu yapan siteye var ama hem güvenmiyorum hem de challenge olsun diye yaptım .
yaptığımız adımlar
1. android uygulamasını oluşturduk
ıntent.actıon_send ile telefon üzerinden paylaşılan youtube linkini otomatik algıladık.
kullanıcının linki manuel olarak da girebilmesi için bir textfield ekledik.
“indir” butonuna basıldığında, bu linki bilgisayarda çalışan flask sunucuya post ettik.
2. sunucu (pc) tarafında: flask + yt-dlp + ffmpeg
flask sunucusu, /convert endpoint’i ile gelen youtube linkini aldı.
yt-dlp komutuyla videoyu mp3’e dönüştürdü.
dosyayı downloads klasörüne kaydetti.
json olarak şu şekilde geri döndü:
{"message": "dosya indirildi", "filename": "video.mp3"}
3. android'de geri bildirim ve dosya bağlantısı
sunucudan gelen filename’i telefonda gösterdik.
bu dosya adına tıklanınca, android downloadmanager kullanarak bilgisayardaki dosyayı http üzerinden indirttik.
---
sistem akışı
telefon bilgisayar (sunucu)
-------- -------------------
paylaş -> youtube link → flask sunucusuna post isteği
← yt-dlp ile mp3'e çevirme + json dönüşü
dosya adı + "indir" göster → tıklanınca /download/dosya.mp3 url'ine istek
→ android cihazına dosya indir
---
kullandığımız teknolojiler
android (kotlin + jetpack compose)
flask (python)
yt-dlp (youtube'dan video indirme)
ffmpeg (videoyu mp3'e dönüştürme)
downloadmanager (telefona dosya indirme)
okhttp (android tarafında http istekleri)
---
ne kazandık?
youtube mp3 dönüştürücü sistemi oluşturduk.
telefon → bilgisayar → telefon arasında veri ve dosya akışı sağladık.
uygulaman kendi mp3 dönüştürücün gibi çalışıyor, reklamsız ve kontrol sende.
---
istersen bunu daha sonra:
arayüzü geliştirip geçmiş indirmeleri listeleyen bir yapı ekleyebilirsin.
arka planda çalışan otomatik youtube playlist dönüştürücüye çevirebilirsin.
ya da paylaşım dışında qr kod/clipboard ile link algılatabilirsin.
dilersen bu yönde de ilerleyebiliriz.
bazıları niye direkt telefona indirmeden diyebilir, çünkü bilgisayara ve aynı wifiye bağımlıyım bu sistemde, fakat onu yapmak çok fazla uğraşma gerektiyormuş, androidin kısıtlamaları falan varmış, yt-dlp mobilde çalışmıyormuş falan. öyle dedi. bende sunucu işinide merak edince, ister istemez bu sunucu macerasına girdim. ortalara doğru sanırım olmayacak desemde sonunda başardım. siz benim gibi manyak değilseniz güvenilir siteye gidip indirebilirsiniz tabii bu benim manyaklığım.
amacım neydi?
normalde youtube premium da olan indirme özelliğini beleşe getirmek. yani uygulamadan paylaş kısmıma basıp kendi yaptığımız uygulama ile paylaşınca telefona inecek.bunu yapan siteye var ama hem güvenmiyorum hem de challenge olsun diye yaptım .
yaptığımız adımlar
1. android uygulamasını oluşturduk
ıntent.actıon_send ile telefon üzerinden paylaşılan youtube linkini otomatik algıladık.
kullanıcının linki manuel olarak da girebilmesi için bir textfield ekledik.
“indir” butonuna basıldığında, bu linki bilgisayarda çalışan flask sunucuya post ettik.
2. sunucu (pc) tarafında: flask + yt-dlp + ffmpeg
flask sunucusu, /convert endpoint’i ile gelen youtube linkini aldı.
yt-dlp komutuyla videoyu mp3’e dönüştürdü.
dosyayı downloads klasörüne kaydetti.
json olarak şu şekilde geri döndü:
{"message": "dosya indirildi", "filename": "video.mp3"}
3. android'de geri bildirim ve dosya bağlantısı
sunucudan gelen filename’i telefonda gösterdik.
bu dosya adına tıklanınca, android downloadmanager kullanarak bilgisayardaki dosyayı http üzerinden indirttik.
---
sistem akışı
telefon bilgisayar (sunucu)
-------- -------------------
paylaş -> youtube link → flask sunucusuna post isteği
← yt-dlp ile mp3'e çevirme + json dönüşü
dosya adı + "indir" göster → tıklanınca /download/dosya.mp3 url'ine istek
→ android cihazına dosya indir
---
kullandığımız teknolojiler
android (kotlin + jetpack compose)
flask (python)
yt-dlp (youtube'dan video indirme)
ffmpeg (videoyu mp3'e dönüştürme)
downloadmanager (telefona dosya indirme)
okhttp (android tarafında http istekleri)
---
ne kazandık?
youtube mp3 dönüştürücü sistemi oluşturduk.
telefon → bilgisayar → telefon arasında veri ve dosya akışı sağladık.
uygulaman kendi mp3 dönüştürücün gibi çalışıyor, reklamsız ve kontrol sende.
---
istersen bunu daha sonra:
arayüzü geliştirip geçmiş indirmeleri listeleyen bir yapı ekleyebilirsin.
arka planda çalışan otomatik youtube playlist dönüştürücüye çevirebilirsin.
ya da paylaşım dışında qr kod/clipboard ile link algılatabilirsin.
dilersen bu yönde de ilerleyebiliriz.
bazıları niye direkt telefona indirmeden diyebilir, çünkü bilgisayara ve aynı wifiye bağımlıyım bu sistemde, fakat onu yapmak çok fazla uğraşma gerektiyormuş, androidin kısıtlamaları falan varmış, yt-dlp mobilde çalışmıyormuş falan. öyle dedi. bende sunucu işinide merak edince, ister istemez bu sunucu macerasına girdim. ortalara doğru sanırım olmayacak desemde sonunda başardım. siz benim gibi manyak değilseniz güvenilir siteye gidip indirebilirsiniz tabii bu benim manyaklığım.
devamını gör...