Ogg ya da bir diğer yazılışıyla OGG, Xiph.org Vakfı tarafından geliştirilen açık ve özgür bir çokluortam dosya biçimidir. Yazılım patentlerinin tehdidi altında olmayan bu dosya biçimi, akışkan video için optimize edilmiş yüksek kalitede çokluortam gerçeklemeleri için geliştirilmiştir.1
Ogg dosya biçimi, video, ses, metin (örneğin altyazı) ve metadata bilgilerini birlikte taşıyabilir.
OGG geliştirme çatısının önemli bir parçası olan Theora, kayıplı bir video sıkıştırma yöntemi sağlar. Ses katmanında çoğunlukla müzik dosyaları için optinmize edilmiş Vorbis sıkıştırması yaygın olmakla birlikte Opus, FLAC ya da OggPCM kayıpsız sıkıştırma algoritmaları da kullanılabilmektedir.
2007'den önce .ogg dosya uzantısı, içeriği Ogg kapsayıcı biçiminde olan tüm dosyalar için kullanılmaktaydı. 2007 yılından bu yana Xiph.org Vakfı .ogg uzantısının yalnızca Ogg Vorbis ses dosyaları için kullanılmasını tavsiye etmektedir. Xiph.org Vakfı, farklı içerikteki dosyaları tanımlamak amacıyla yeni bir uzantı serisi ve medya türleri oluşturmaya karar verdi; yalnızca ses dosyaları için .oga, sesli veya değil video dosyaları (Theora dahil) için .ogv, çoğullamalı Ogg için .ogx.
7 Kasım 2017 itibarı ile Xiph.org Vakfı'nın referans uygulamasının güncel versiyonu, libogg 1.3.3'tür. Diğer bir sürüm olan libogg2 geliştirilme aşamasındadır, ancak 2018 itibarıyla halen yeni baştan yazılmayı beklemektedir. Her iki kütüphane de yeni BSD Lisansı ile çıkarılan birer özgür yazılımdır. Ogg referans uygulaması, 2 Eylül 2000 tarihinde Vorbis'ten ayrılmıştır.
Biçim ücretsiz olduğundan ve içerikler telif hakkı ile ilgili kısıtlamalara tabi olmadığından dolayı, Ogg'un çeşitli çözücüleri, özgür ve sahipli yazılım ortam oynatıcıda, taşınabilir medya oynatıcıda ve farklı üreticilerin GPS alıcında kullanılmaktadır.
Ogg ismi, Netrek bilgisayar oyunundan gelmektedir. Bu oyunda, gelecekteki durum veya kaynakları düşünmeden ve genellikle zor kullanılarak yapılan eylemler için kullanılan "ogging" fiilinden esinlenilmiştir. Başlangıç aşamasında, henüz o dönemin bilgisayar donanımlarının kısıtlı yetkinliği düşünüldüğünde fazla iddialı bir proje olarak görülüyordu. Terry Prachett'in diskdünya romanlarındaki Nanny Ogg'dan geldiği düşünülse de, biçimin geliştiricisi bunun doğru olmadığını belirtmiştir. Ancak, yine aynı ifadeyi alıntılamak gerekirse; "Diğer yandan Vorbis, Küçük Tanrılar kitabında Terry Prachett'in yarattığı bir karakterden gelmektedir".
Ogg Vorbis projesi 1993 yılında başladı. İlk olarak "Squish" olarak adlandırıldı, ancak bu isim tescillenmişti. Bu yüzden, projede isim değişikliğine gidildi. Yeni isim olan "OggSquish", 2001 yılına dek kullanıldı, ki tekrar isim değiştirilerek "Ogg" olarak devam edildi. Ogg içerik biçimini ifade etmek için kullanılageldi ve Xiph.org'un daha büyük kapsamlı çoklu ortam projesinin bir parçası oldu. "Squish" ise bugün (artık "Vorbis" olarak anılıyor), Ogg içeri biçiminde belirli bir ses depolama ortam biçimini ifade etmekte kullanılıyor.
Ogg veri akış biçimi, çoklu ortam içeriklerinin kodlanması ve çözümlenmesini amaçlayan, ücretsiz olarak erişilebilen ve ücretsiz olarak yazılımlarda oynatılabilen aynı zamanda pek çok aracı içermekte olan büyük çaplı bir girişimin çerçevesini oluşturmak üzere geliştirilmiştir.
Biçim, "Ogg Sayfası" olarak isimlendirilen veri parçalarından oluşmaktadır. Her bir sayfa, "OggS" karakteriyle başlamakta, bu da dosyanın Ogg biçiminde olduğunu ifade etmektedir.
Sayfa başlığında yer alan "seri numarası" ve "sayfa numarası", veri akışını oluşturan sayfa dizilimlerini belirler. Birçok veri akışı, her veri akışının içerilen bilginin konumlannma süresine göre dosya içerisinde düzenlendiği şekilde çoklanabilir. Veri akışları, sırayla çözümlenmeleri amacıyla "zincirleme" adı verilen bir süreçle var olan dosyalara da eklenebilir.
Mogg, "Multi-Track-Single-Logical-Stream Ogg-Vorbis" (Çoklu dijital veri, tekil lojik akış Ogg-Vorbis), çoklu kanal veya çoklu dijital veri taşıyan Ogg dosyası biçimidir.
Aşağıda, Ogg sayfa şablonu aşağıdaki gibidir:
Aktarım düzeni– 32 bit
Aktarım düzeni veya eşzamanlama kodu, Ogg dosyalarını çözümlerken
eşzamanlama yapılmasını sağlan bir sihirli sayıdır. Her bir sayfa, dört
karakterden oluşan bir ASCII dizilimş ile başlar; "OggS". Bu, verinin
kaybedildiği veya bozulduğu durumlarda çözümleyicinin yeniden
eşzamanlama yapmasına yardımcı olur ve sayfa yapısı oluşturulmaya
başlamadan önce bir tutarlılık kontrolü işlevi görür.
Versiyon - 8 bit
Bu alan, Ogg veri akışına ait biçim versiyonunu belirtir, ileride
geliştirilebilirlik sağlar. Şu anda 0 olması zorunludur.
Başlık türü - 8 bit
Bu, aşağıdakileri ifade eden 8 bitlik bir işaretlemedir.
{| class="wikitable"
! style="width:5%;"|Bit ! style="width:10%;"|Değer ! style="width:10%;"|İşaretleme ! style="width:75%;"|Sayfa türü |- |0 |0x01 |Devamsallık |Bu sayfadaki ilk paket, lojik veri akışındaki önceki paketin devamıdır. |- |1 |0x02 |BOS |Akış başlangıcı. Bu sayfa, lojik veri akışındaki ilk sayfadır. BOS işaretlemesi, her bir lojik veri akışının ilk sayfasında yer almalıdır, ancak diğer hiçbir sayfada bulunmamalıdır. |- |2 |0x04 |EOS |Akış sonu. Bu sayfa, lojik veri akışındaki son sayfadır. EOS işaretlemesi, bir lojik veri akışının son sayfasında yer almalıdır, ancak diğer hiçbir sayfada bulunmamalıdır. |}
Granül konumu - 64 bit
Granül konumu, Ogg dosyalarında zaman işaretidir. Anlamı, kodek türüne
bağlı olarak değişen soyut bir değerdir. Örneğin, kare sayısını,
örneklem sayısını veya daha karmaşık bir şemayı ifade edebilir.
Veri akış seri numarası - 32 bit
Bu alan, bir sayfanın belirli bir lojik veri akışına ait olduğunu
belirten seri numarasıdır. Bir dosya içerisindeki her bir lojik veri
akışı, farklı bir değer sahiptir ve bu alan, sayfaların doğru çözücüye
ulaştırılmasını uygular. Tipik bir Vorbis veya Theora dosyasında, bir
akış ses (Vorbis), bir akış görüntü (Theora) olarak gerçekleşir.
Sayfa sıra numarası - 32 bit
Bu alan, her bir lojik veri akışı için tekdüze bir biçimde artan bir
alandır. İlk sayfa 0, sonraki sayfa 1, vb... Bu, veri kaybedildiğinde
tespit edilebilmesini amaçlayan bir uygulamadır.
Sağlama toplamı - 32 bit
Bu alan, tüm sayfadaki (sayfa başlığı da dahil) verinin döngüsel
artıklık denetimi sağlamasını
yapar. Veri oluşuturulduğundan bu yana herhangi bir bozulma gerçekleşip
gerçekleşmediğinin doğrulanması görevini görür. Bu sağlama işlemini
geçemeyen sayfalar çıkarılır. Sağlama toplamı, 0x04C11DB7 polinom değeri
kullanılarak oluşturulur.
Sayfa segmentleri - 8 bit
Bu alan, bir sayfada yer alan segmentlerin sayısını gösterir. Aynı
zamanda, bu alandan sonra gelen segment tablosunda kaç byte olduğunu da
içerir. Herhangi bir sayfada, en fazla 255 segment olabilir.
Segment tablosu - 8 bit
Segment tablosu, her biri sayfa içerisinde karşılığı olan segmentlerin
uzunluğunu gösteren 8 bitlik değerler dizinidir. Segment sayısı, bir
önceki Sayfa Segmentleri alanından elde edilir. Her bir segment 0 ile
255 byte arasıdır.
Segment yapısı; segmentlerin çözümleyici için anlamlı bir veri birimi olan bir paket içerisinde gruplanabilmesi için imkan sağlar. Segment uzunluğu 255 olarak ifade edildiğinde, bir sonraki segmentin mevcut segmente iliştirilmesi ve aynı paket içerisinde bunun devamı olduğu anlamına gelir. Segment uzunluğu 0-254 arasında olduğunda, bu paket içerisindeki son segment olduğunu belirtir. Bir paketin uzunluğu 255'in katlarıysa, son segmentin değeri 0 olacaktır.
Son paketin bir sonraki sayfada devam ettiği durumlarda son segment değeri 255 olur; devamsallık işaretlemesi bir sonraki sayfada önceki sayfanın devamı olduğu şeklinde yer alır.
Vorbis açımlaması, ilkin Ogg Vorbis ile kullanılmak üzere oluşturulan bir temel-düzey metaveri biçimidir. O zamandan bu yana, Theora, Speex, FLAC ve Opus gibi diğer Xiph.org Ogg sarma (kapsülleme) kodeklerinin belirtiminde de kullanılmıştır. VorbisComment (Vorbis açımlaması) Xiph.org kodeklerine metaveri yerleştirmek için en yaygın olarak desteklenen, en basit yöntemdir.
VorbisComment içerisinde bir veya daha fazla <kbd>METAVERİ_BLOK_RESMİ=</kbd>… önizleme görsel veya albüm kapağı olarak Base64-kodlamalı değerlere sahiptir. Diğer bir deyişle, FLAC önizleme ve albüm kapağı resimlerini ikili bloklar halinde&mdash küçük-endian <kbd>METAVERİ_BLOK_VORBIS_AÇIMLAMASI</kbd> olarak saklar.
Diğer mevcut ve önerilen mekanizmalar:
Ogg projesi, 1993 yılında daha büyük bir proje içerisinde basit bir ses dosyası sıkıştırma paketi olarak başladı. Yazılım, ilk olarak Squish olarak adlandırıldı, ancak var olan bir tescilli marka olduğu için OggSquish olarak yeniden adlandırıldı. Bu isim, sonradan tüm Ogg projesini ifade eder hale geldi. Xiphophorus OggSquish 1997'de "hem modern ses uygulamaları için sıkıştırılmış, esnek bir ses dosyası oluşturmak, hem de yaygın olan, mevcut tüm modern platformlarda oynatılabilecek bir ses biçimi oluşturma girişimi" olarak tanımlandı. 2000 yılında bu tanım, "birbiriyle bağlantılı çoklu-ortam ve sinyal işleme projeler grubu" olarak yapılıyordu. Yine aynı yılda, iki proje, planlı yayınlama için geliştirilme aşamasındaydı: Ogg Vorbis biçimi ve libvorbis - Vorbis'in referans uygulaması. Aynı zamanda, gelecekte görüntü ve kayıpsız ses kodlamaları üzerinde de araştırmalar yapılıyordu. 2011 yılında OggSquish Ogg olarak yeniden adlandırıldı ve "aynı şemsiye altında birbiriyle bağlantılı çoklu-ortam ve sinyal işleme projeleri" olarak tanımlandı. Ogg, daha geniş kapsamlı Xiph.org çoklu ortam projesinde bir dosya uzantısını ifade eder hale geldi. Squish, Ogg kodeklerinden birine ismini verdi. 2009 yılında, Ogg "Xiph.org'un çoklu-ortam kodekleri için çoklu-ortam kapsayıcı biçimi, yerli dosya ve veri akışı türü" olarak tanımlandı.
Ogg referans uygulaması, 2 Eylül 2000'de Vorbis'ten ayrıldı.
Mayıs 2003'te bu biçim ile ilgili iki adet yorumlar için
talep yayınlandı. Ogg veri akışı
bilgilendirici olarak sınıflandırılan RFC 3533'te tanımlanırken internet
içerik türü (application/ogg
) RFC3534'te tanımlandı. Eylül 2008'de RFC
3534'ün yerini RFC 5334 aldı; (video/ogg
), (audio/ogg
) ve .ogx,
.ogv, .oga, .spx dosya uzantıları eklendi.
Ogg için Resmi görüntü desteği olmaması yüzünden 2002'de Microsoft DirectShow'un Ogg-tabanlı bir sarıcıya uyarlanması ile görüntü gömmeye izin veren OGM dosya biçimi geliştirildi. OGM, ilkin yalnızca kapalı-kaynak kodlu Windows araçları tarafından destekleniyordu, ancak kod tabanı zamanla açık hale getirildi. Daha sonra, görüntü (ve altyazı) desteği resmi olarak Ogg için sağlandı, ancak OGM ile uyumsuzdu. Bağımsız olarak Matroska kapsayıcı biçimi olgunluğa ulaştı, böylece Orbis ses ve ilişiksiz görüntü kodeklerini birleştirmeyi amaçlayan kişiler için alternatif oluşturdu. Bu sebeple, OGM artık desteklenmemekte, geliştirilmemekte ve resmi olarak Xiph.org tarafından resmi olarak sonlandırılmıştır. Bugün, Ogg biçimindeki görüntüler .ogv dosya uzantısı olarak bulunmaktadır.
Ogg, hareketli görüntü uzmanları birliği standartlarının kapsamına hiçbir zaman yaklaşamamış olsa da, 2006 itibarı ile özgür içerik kodlamasına yaygın bir biçimde (örneğin Özgür Müzik, kullanılmaktadır ve pek çok dijital ses dosya oynatıcısı tarafından desteklenmeye başlamıştır. Ogg biçimini destekleyen oyun motorları olarak Doom 3, Unreal Tournament 2004, Halo: Combat Evolved, Jets n guns, Mafia: The City of Lost Heaven, Myst IV: Revelation, StepMania, Serious Sam: The Second Encounter, Lineage 2, Vendetta Online, Battlefield 2, ve Grand Theft Auto motorları ile Java-tabanlı Minecraft ses dosyaları öne çıkmaktadır. Daha yaygın olan Vorbis kodek için pek çok yazılımda yerleşik destek mevcutken neredeyse diğer tüm yazılımlarda desteklenmesini sağlayan ek paketler vardır.
Free Software Foundation 16 Mayıs 2007'de, "tescilli MP3'ün karşısında etik, yasal ve teknik olarak daha üstün bir alternatif" olarak Vorbis kullanımının artırılmasını teşvik eden bir kampanya başlattı. İnsanların websitele veya bloglarında bir düğme ekleyerek kampanyaya destek verebileceği imkanlar sağlandı. FSF'nin tavsiye ettiği Ogg oynatıcısını (VLC Media Player) indirmek veya kullanmak istemeyenler için Windows ve Mac OS X üzerinde QuickTime-tabanlı uygulamalar için Xiph.org Vakfı resmi bir kodek geliştirdi; Windows kullanıcıları Windows Media Player için Ogg kodeği yükleyebilirken Mac OS kullancıları iTunes oynatıcısı veya iMovies uygulamaları için benzer eklentilere erişebilir.
2009 itibarı ile Ogg kapsayıcısı, Theora ve Vorbis kullanımı sayesinde,
Firefox 3.5 ağ tarayıcısının HTML
5 <video>
ve <audio>
öğeleri uygulaması için tek
kapsayıcı oldu.
3 Mart 2010'da FFmpeg geliştiricisinin teknik bir analizi, Ogg'un çoklu-ortam kapsayıcı biçimi olarak genel-amaçlı yetkinliklerini eleştirdi. Ogg'un oluşturucusu, daha sonra bu iddiaları cevaplandıran kendi makalesini yayınladı.
Ogg, sadece bir kapsayıcı biçimidir. Kodek tarafından kodlanan gerçek ses veya görüntü, Ogg kapsayıcısı içine yerleştirilir. Ogg kapsayıcıları, farklı kodekler tarafından akışlar içerebilir; örneğin bir görüntü dosyası, hem ses kodeği tarafından hem de görüntü kodeği tarafından kodlanmış verilerden oluşur.
Kapsayıcı formatı olarak Ogg, ses ve görüntüyü farklı biçimlerde kodlayabilir (Dirac, MNG, CELT, MPEG-4, MP3 ve diğerleri gibi); ancak Ogg, şu Xiph.org özgür kodekleri ile kodlama yapmak için geliştirilmiş ve genel olarak bunlar kullanılmaktadır:
Ogg ses ortamı, .oga, .ogg ve .spx uzantılarına sahip bir IANA ortam türü olarak tescillenmiştir. Ogg görüntü ortam türü olan .ogv dosya uzantısının alt kümesi kabul edilir. Diğer Ogg uygulamalarının kullandığı .ogx görüntü/ogg türünün üst kümesi addedilir.
Orijinal kaynak: ogg. Creative Commons Atıf-BenzerPaylaşım Lisansı ile paylaşılmıştır.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page