← WebRTC 1.0 Spesifikasyonu

1–3. Giriş, Uygunluk ve Terminoloji

W3C WebRTC 1.0 Spesifikasyonu — Türkçe Çeviri

1. Giriş

Bilgilendirme — Bu bölüm normatif değildir.

Bu belirtim kapsamında HTML'de eşler arası iletişim ve video konferansla ilgili bir dizi unsur ele alınmaktadır:

ICE, STUN ve TURN gibi NAT geçiş teknolojilerini kullanarak uzak eşlere bağlanma.
Yerel olarak üretilen izleri uzak eşlere gönderme ve uzak eşlerden izler alma.
Keyfi verileri doğrudan uzak eşlere gönderme.

Bu belge, bu özellikler için kullanılan API'leri tanımlar. Bu belirtim, IETF RTCWEB grubu tarafından geliştirilen bir protokol belirtimi ve WebRTC Çalışma Grubu tarafından geliştirilen yerel medya aygıtlarına erişim sağlamak için bir API belirtimi olan [GETUSERMEDIA] ile birlikte geliştirilmektedir. Sistemin genel bir görünümü [RFC8825] ve [RFC8826] içinde bulunabilir.

İlişkili Belgeler
Protokol IETF RTCWEB
Medya Erişim GETUSERMEDIA
Genel Bakış RFC8825 · RFC8826

2. Uygunluk

Normatif olmayan olarak işaretlenmiş bölümlerin yanı sıra, bu belirtimdeki tüm yazım yönergeleri, diyagramlar, örnekler ve notlar normatif değildir. Bu belirtimde yer alan diğer her şey normatiftir.

Bu belgedeki MAY, MUST, MUST NOT ve SHOULD anahtar sözcükleri, burada gösterildiği gibi yalnızca ve yalnızca tamamı büyük harflerle göründüklerinde, BCP 14 [RFC2119] [RFC8174]'te açıklandığı şekilde yorumlanacaktır.

Uygunluk Kapsamı

Bu belirtim, tek bir ürüne uygulanan uygunluk ölçütlerini tanımlar: içerdiği arayüzleri uygulayan kullanıcı aracısı.

Uygulama Esnekliği

Algoritmalar veya belirli adımlar şeklinde ifade edilen uygunluk gereksinimleri, nihai sonuç eşdeğer olduğu sürece herhangi bir şekilde uygulanabilir.

Bu belirtimde tanımlanan algoritmaların takip edilmesi kolay olacak şekilde tasarlanması amaçlanmıştır; yüksek performanslı olmaları amaçlanmamıştır.

ECMAScript Bağlamaları

Bu belirtimde tanımlanan API'leri uygulamak için ECMAScript kullanan uygulamaların, bunları Web IDL belirtiminde [WEBIDL] tanımlanan ECMAScript bağlamalarıyla tutarlı bir biçimde uygulaması gerekir (MUST); çünkü bu belirtim söz konusu belirtimi ve terminolojiyi kullanır.

3. Terminoloji

[HTML]

Olay işleyicileri için kullanılan bir geri çağrıyı temsil eden EventHandler arayüzü [HTML] içinde tanımlanmıştır.

Bir görevi kuyruğa alma ve ağ oluşturma görev kaynağı kavramları [HTML] içinde tanımlanmıştır.

Olay, olay işleyicileri ve olay işleyici olay türleri terimleri [HTML] içinde tanımlanmıştır.

Serileştirilebilir nesneler, serileştirme adımları ve deserileştirme adımları terimleri [HTML] içinde tanımlanmıştır.

[DOM]

Bir olayı tetikleme kavramı [DOM] içinde tanımlanmıştır.

[hr-time]

Performance.timeOrigin ve Performance.now() [hr-time] içinde tanımlanmıştır.

[GETUSERMEDIA]

MediaStream, MediaStreamTrack ve MediaStreamConstraints terimleri [GETUSERMEDIA] içinde tanımlanmıştır. MediaStreamin bu belgede 9.2 MediaStream bölümünde genişletildiğini, MediaStreamTrackin ise bu belgede 9.3 MediaStreamTrack bölümünde genişletildiğini unutmayın.

[FILEAPI]

Blob terimi [FILEAPI] içinde tanımlanmıştır.

[WEBIDL]

İstisnalara atıfta bulunulurken, throw ve created terimleri [WEBIDL] içinde tanımlanmıştır.

VoidFunction geri çağrısı [WEBIDL] içinde tanımlanmıştır.

[INFRA]

throw terimi [INFRA] içinde belirtildiği şekilde kullanılır: mevcut işlem adımlarını sonlandırır.

RFC'ler

Medya açıklaması terimi [RFC4566] içinde tanımlanmıştır.

Medya aktarımı terimi [RFC7656] içinde tanımlanmıştır.

Nesil terimi [RFC8838] Bölüm 2 içinde tanımlanmıştır.

[ECMASCRIPT-6.0]

Promise bağlamında kullanılan fulfilled, rejected, resolved ve settled terimleri [ECMASCRIPT-6.0] içinde tanımlanmıştır.

[WEBRTC-STATS]

İstatistik nesnesi ve izlenen nesne terimleri [WEBRTC-STATS] içinde tanımlanmıştır.

[WebCryptoAPI]

AlgorithmIdentifier [WebCryptoAPI] içinde tanımlanmıştır.

Not — [API-DESIGN-PRINCIPLES] içinde tanımlanan run-to-completion ilkesi ve veri yarışı olmaması ilkesi dahil olmak üzere, JavaScript API'leri için genel ilkeler burada da geçerlidir. Yani, bir görev çalışırken dış olaylar JavaScript uygulamasının görebildiği durumu etkilemez. Örneğin, JavaScript çalışırken "send" çağrıları nedeniyle bir veri kanalında arabelleğe alınan veri miktarı artar; paketlerin gönderilmesi sonucu oluşan azalma ise ancak bir görev denetim noktasından sonra görünür.

Uygulamaya sunulan değerler kümesinin tutarlı olmasını sağlamak kullanıcı aracısının sorumluluğundadır; örneğin, getContributingSources() (eşzamanlıdır) aynı anda ölçülen tüm kaynaklar için değerler döndürmelidir.