Phosphene - Apple'ın video duvar kağıtlarını tersine mühendislikle çözümleyerek geliştirilmiş, macOS Tahoe için video duvar kağıdı motoru
(github.com/kageroumado)- Phosphene, kullanıcının sahip olduğu video dosyalarını macOS masaüstü ve kilit ekranı duvar kağıdı olarak oynatan bir menü çubuğu uygulaması + duvar kağıdı uzantısı
- Sistemin varsayılan duvar kağıdı seçicisine entegre olur; eklenen videolar System Settings → Wallpaper içinde Apple'ın yerleşik Aerials'larıyla birlikte görünür
- Apple'ın özel WallpaperExtensionKit yapısı üzerine inşa edilmiştir ve Apple Aerials ile aynı şekilde process dışı oynatma, uygulama kapandıktan sonra da sürme, kilit ekranı·boşta kalma·uyku yaşam döngüsüyle entegrasyon sağlar
- MP4, MOV ve AVFoundation'ın okuyabildiği dosyalar içe aktarılabilir; çoklu ekran ve Space başına duvar kağıdı seçimi macOS tarafından saklanır
- Döngü sınırında PTS/DTS ofsetlenerek kare düzeyinde birleştirme yapılır; bu sayede flush veya takılma olmadan gapless looping gerçekleştirilir
PlaybackPolicy, kapak durumu, pil seviyesi, pil/AC güç, Game Mode, görünürlük modu, kullanıcı duraklatması, örtülme durumu gibi etkenleri birleştirerek oynatma davranışınıfull / reduced / minimal / pausedseçeneklerinden biri olarak belirler- Tüm ekranlar pencereler tarafından tamamen kapatıldığında render işlemi durur ve masaüstü yeniden görünene kadar oynatma duraklatılır
- İsteğe bağlı olarak daha düşük çözünürlükte ve daha düşük fps değerinde adaptive variants önceden üretilebilir; renderer her döngü sınırında mevcut politikayı karşılayan en düşük maliyetli varyanta geçer
- Only on Lock Screen ayarında, kilitleme ve kilit açma sırasında duvar kağıdı cubic curve ile doğal biçimde belirip kaybolur; böylece Apple Aerials davranışıyla uyum sağlanır
- Uygulama tarafı, video kütüphanesi, video başına metadata, HEVC optimizasyonu, tercihler ve kütüphane değişiklikleri için Darwin notification işlemlerini yöneten bir SwiftUI menü çubuğu uygulamasıdır
- Uzantı tarafı sistemdeki
WallpaperAgentiçinde çalışır, çalışma anındaWallpaperExtensionKit.frameworkyükler ve kareleri uzakCAContextiçineAVSampleBufferDisplayLayerile render eder AVPlayerLayeruzakCAContextiçinde sessizce başarısız olduğu içinVideoRenderer, monoton artan zaman çizelgesini korumak amacıylaAVAssetReaderveAVSampleBufferDisplayLayerbileşenlerini doğrudan çalıştırırWallpaperSnapshotXPCswizzle veMirrortabanlı XPC ayrıştırmasına bağımlı olduğundan, Apple özel tipleri veya alan adlarını değiştirirse snapshot ve istek işleme tarafı bozulabilir- Gereksinimler macOS Tahoe 26.0+, Apple Silicon ve Xcode 17+; hedef platform
arm64-apple-macos26.0ve Swift 6 strict concurrency etkin - Lisans MIT ve herhangi bir garanti olmadan serbestçe kullanılabileceği belirtiliyor
1 yorum
Hacker News yorumları
Oldukça şık. İlk başta “video ekran koruyucuları indirilebiliyorken neden kareleri kazıyorlar?” diye kafam karıştı, ama yorumları okuyunca kendi videolarımı masaüstü ve kilit ekranında kullanabildiğimi anladım
Asıl noktayı gizlemeyip, neyi nasıl yapabildiğini doğrudan gösteren bir başlık çok daha iyi olurdu
Tahoe’nun epey eleştiri almasını bir ölçüde anlayabiliyorum ama video duvar kağıtları ve şeffaf efektler Windows Vista havası verdiği için eğlenceli ve nostaljik
Artık Vista şelale duvar kağıdını ayarlayıp gerçekten 2007’deymiş gibi hissetmenin zamanı geldi
Hangi şelaleden bahsettiğini merak ettim. Vista’da bu kadar çok duvar kağıdı olması da şaşırtıcı; benim hatırladıklarım varsayılan yeşil gradyan benzeri olan ve bir dönem kullandığım bambu ormanı kadardı
Buna gerçekten teşekkürler. Bir ekran koruyucu koleksiyonu yapıyordum ama LegacyScreenSaver fazlasıyla derme çatmaydı
Birinin Apple’ın özel duvar kağıdı framework’ünü çözmesini umuyordum, gerçekten de başarmış
com.apple.wallpaperuzantılarını masaüstünde çalıştıran şey WallpaperAgentEkran koruyucular için diğer yazılara bakabilirsiniz; orada bunu aşan özel ekran koruyucu API örnekleri paylaşmıştım. Apple kendi “Aerials” içinde ikisini de kullanıyor ve ekran koruyucu oynatıcısı ile masaüstü oynatıcısı arasında konumu paylaşan bir senkronizasyon sistemi var
Apple’ın en iyi video duvar kağıdının Macintosh olduğunu düşünüyorum. Nasıl çalıştığını merak ediyorum
Tarih ve saatin sistem tarihi ve saatiyle saniyesine kadar eşleştiği birkaç nokta var
Vay, bu gerçekten harika. Özel ekran koruyucu
.appexframework’ünü tersine mühendislikle çözüp Aerial 4 içinde çalıştırmayı başarmıştım; isteyenler için geçen hafta v4 ile birlikte örnek proje ve belgeleri de yayımladım: https://github.com/AerialScreensaver/AppexSaverMinimalWallpaper appex’i de aynı şekilde denedim; tersine mühendisliğin kendisi kolay görünüyordu ama WallpaperAgent yüklemeyi reddetti, bu yüzden şimdilik duvar kağıdının üstüne ve simgelerin altına kendi penceremi ve video oynatıcımı yerleştirme gibi klasik numarayı kullanıyorum. Neyi kaçırdığımı incelemeyi planlıyorum
Gerçekten iyi yapılmış. Yakın zamanda benzer bir tavşan deliğine düşüp Aerials kataloğunu tersine mühendislikle çözmüş ve Apple’ın bunu nasıl birbirine bağladığını anlamıştım; başka bir açık kaynak projesinin de bunu yaptığını görmek güzel
En sevdiğim ayrıntı ve bizim araçta yeniden üretemediğimiz kısım, animasyonun giriş ekranı ile canlı masaüstü arasında kesintisiz devam etmesi. Biz bunun aynı fikrini çapraz platform olarak uygulayan phonto’yu yaptık: https://github.com/museslabs/phonto. Tüm tersine mühendislik sürecini yazıya dökmeyi düşünüyordum; bu başlamak için iyi bir vesile olabilir
Windows 98’de HTML sayfalarını duvar kağıdı olarak kullanabildiğimizi hatırladım. O HTML’nin içine video da gömülebiliyordu
Bu arada Windows 98’in Active Desktop’ı zaten kararsız olan bir işletim sisteminin en kararsız parçasıydı. Yeni bir sistem kurunca kapatılan ilk şey oydu; yanlış bakınca yine çöküyordu ama en azından artık eğlence için çökmüyordu
İyi yapılmış ama README’de bir demo videosu olsa güzel olurdu
Uygulamanın artık indirme bağlantısı olan bir landing page’i var, diğer projelere de bakabilirsiniz. En büyük proje Refrax tarayıcısı, onun dışında da birçok küçük yardımcı uygulama var
https://kagerou.glass/phosphene/
https://kagerou.glass
Tasarımda neyin yardımcı olduğunu da merak ediyorum
Gerçekten harika. Eskiden sahip olduğum videolardan özel video arka planları ayarlamak istediğimi hatırlattı
Bunu görene kadar bunun varsayılan olarak desteklenmediğini bile bilmiyordum