FMUSER Wirless ينقل الفيديو والصوت بشكل أسهل!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> الأفريكانية
sq.fmuser.org -> الألبانية
ar.fmuser.org -> عربي
hy.fmuser.org -> الأرمينية
az.fmuser.org -> الأذربيجانية
eu.fmuser.org -> الباسك
be.fmuser.org -> البيلاروسية
bg.fmuser.org -> البلغارية
ca.fmuser.org -> الكتالانية
zh-CN.fmuser.org -> الصينية (المبسطة)
zh-TW.fmuser.org -> الصينية (التقليدية)
hr.fmuser.org -> الكرواتية
cs.fmuser.org -> التشيكية
da.fmuser.org -> الدنماركية
nl.fmuser.org -> الهولندية
et.fmuser.org -> الإستونية
tl.fmuser.org -> فلبيني
fi.fmuser.org -> الفنلندية
fr.fmuser.org -> الفرنسية
gl.fmuser.org -> الجاليكية
ka.fmuser.org -> الجورجية
de.fmuser.org -> الألمانية
el.fmuser.org -> اليونانية
ht.fmuser.org -> الكريولية الهايتية
iw.fmuser.org -> عبري
hi.fmuser.org -> الهندية
hu.fmuser.org -> الهنغارية
is.fmuser.org -> الأيسلندية
id.fmuser.org -> الإندونيسية
ga.fmuser.org -> الأيرلندية
it.fmuser.org -> الإيطالية
ja.fmuser.org -> اليابانية
ko.fmuser.org -> كوري
lv.fmuser.org -> اللاتفية
lt.fmuser.org -> ليتوانيا
mk.fmuser.org -> المقدونية
ms.fmuser.org -> الملايو
mt.fmuser.org -> المالطية
no.fmuser.org -> النرويجية
fa.fmuser.org -> فارسي
pl.fmuser.org -> البولندية
pt.fmuser.org -> البرتغالية
ro.fmuser.org -> الرومانية
ru.fmuser.org -> الروسية
sr.fmuser.org -> الصربية
sk.fmuser.org -> السلوفاكية
sl.fmuser.org -> السلوفينية
es.fmuser.org -> الاسبانية
sw.fmuser.org -> السواحيلية
sv.fmuser.org -> السويدية
th.fmuser.org -> التايلاندية
tr.fmuser.org -> التركية
uk.fmuser.org -> الأوكرانية
ur.fmuser.org -> الأردية
vi.fmuser.org -> الفيتنامية
cy.fmuser.org -> الويلزية
yi.fmuser.org -> اليديشية
عندما نستخدم أدوات مثل Skype و QQ لإجراء محادثات صوتية ومرئية مع الأصدقاء بسلاسة ، هل تساءلنا يومًا ما هي التقنيات القوية وراء ذلك؟ ستقدم هذه المقالة مقدمة موجزة عن التقنيات المستخدمة في المكالمات الصوتية عبر الشبكة ، والتي يمكن اعتبارها لمحة عن النمر.
1. النموذج المفاهيمي
عادةً ما تكون المكالمات الصوتية عبر الإنترنت ثنائية الاتجاه ، وهي متماثلة على مستوى النموذج. من أجل البساطة ، يمكننا مناقشة القناة في اتجاه واحد. أحد الطرفين يتحدث والطرف الآخر يسمع الصوت. يبدو الأمر بسيطًا وسريعًا ، لكن العملية الكامنة وراءه معقدة للغاية.
هذا هو النموذج الأساسي الذي يتكون من خمسة روابط مهمة: الاكتساب والتشفير والإرسال وفك التشفير والتشغيل.
(1) جمع الصوت
يشير جمع الصوت إلى جمع البيانات الصوتية من الميكروفون ، أي تحويل عينات الصوت إلى إشارات رقمية. وهو يتضمن عدة معلمات مهمة: تردد أخذ العينات ، وعدد بتات أخذ العينات ، وعدد القنوات.
بكل بساطة: تكرار أخذ العينات هو عدد إجراءات الاستحواذ في ثانية واحدة ؛ عدد بتات أخذ العينات هو طول البيانات التي تم الحصول عليها لكل إجراء اكتساب.
حجم الرتل السمعي يساوي: (تردد أخذ العينات × عدد بتات العينة × عدد القنوات × الوقت)
عادةً ما تكون مدة إطار الاعتيان 10 مللي ثانية ، أي أن كل 10 مللي ثانية من البيانات تشكل إطارًا سمعيًا. بافتراض أن: معدل أخذ العينات هو 16 كيلو بايت ، وعدد بتات العينات هو 16 بت ، وعدد القنوات 1 ، ثم يكون حجم إطار الصوت 10 مللي ثانية: (16000 * 16 * 1 * 0.01) / 8 = 320 بايت. في صيغة الحساب ، 0.01 ثانية ، أي 10 مللي ثانية.
(2) الترميز
بافتراض أننا نرسل إطار الصوت الذي تم تجميعه مباشرة بدون تشفير ، يمكننا حساب متطلبات النطاق الترددي المطلوب. لا يزال المثال أعلاه: 320 * 100 = 32 كيلو بايت / ثانية ، إذا تم تحويلها إلى بت / ثانية ، فسيكون 256 كيلو بايت / ثانية. هذا كثير من استخدام النطاق الترددي. باستخدام أدوات مراقبة حركة مرور الشبكة ، يمكننا أن نجد أنه عند إجراء مكالمات صوتية باستخدام برنامج مراسلة فورية مثل QQ ، تكون حركة المرور 3-5 كيلوبايت / ثانية ، وهو ترتيب من حيث الحجم أصغر من حركة المرور الأصلية. هذا يرجع أساسًا إلى تقنية تشفير الصوت. لذلك ، في تطبيق المكالمات الصوتية الفعلي ، لا غنى عن رابط التشفير هذا. هناك العديد من تقنيات ترميز الكلام الشائعة الاستخدام ، مثل G.729 و iLBC و AAC و SPEEX وما إلى ذلك.
(3) نقل الشبكة
عندما يتم تشفير إطار صوتي ، يمكن إرساله إلى المتصل عبر الشبكة. بالنسبة لتطبيقات الوقت الفعلي مثل المحادثات الصوتية ، يعد زمن الانتقال المنخفض والاستقرار أمرًا مهمًا للغاية ، مما يتطلب من شبكتنا الإرسال بسلاسة تامة.
(4) فك
عندما يتلقى الطرف الآخر الإطار المشفر ، سيقوم بفك تشفيره لاستعادته إلى البيانات التي يمكن تشغيلها مباشرة بواسطة بطاقة الصوت.
(5) تشغيل الصوت
بعد اكتمال فك التشفير ، يمكن إرسال إطار الصوت الذي تم الحصول عليه إلى بطاقة الصوت للتشغيل. المرفقات: يمكنك الرجوع إلى المقدمة وكود المصدر التجريبي وتنزيل SDK لـ MPlayer ، وهو مكون تشغيل صوت
2. الصعوبات والحلول في التطبيقات العملية
إذا كان الاعتماد على التكنولوجيا المذكورة أعلاه فقط يمكن أن يحقق نظام حوار سليم مطبق على شبكة المنطقة الواسعة ، فلا داعي لكتابة هذا المقال. إنه بالتحديد أن العديد من العوامل الواقعية قد أدخلت العديد من التحديات للنموذج المفاهيمي المذكور أعلاه ، مما يجعل تحقيق نظام صوت الشبكة ليس بهذه البساطة ، والذي يتضمن العديد من التقنيات المهنية. بالطبع ، معظم هذه التحديات لديها بالفعل حلول ناضجة. بادئ ذي بدء ، نحتاج إلى تحديد نظام حوار صوتي "ذو تأثير جيد". أعتقد أنه يجب أن يحقق النقاط التالية:
(1) زمن انتقال منخفض. فقط مع زمن انتقال منخفض ، يمكن للطرفين في المكالمة أن يكون لديهما شعور قوي بالوقت الحقيقي. بالطبع ، هذا يعتمد بشكل أساسي على سرعة الشبكة والمسافة بين المواقع المادية للطرفين على المكالمة. من منظور البرمجيات الخالصة ، فإن إمكانية التحسين صغيرة جدًا.
(2) ضوضاء خلفية منخفضة.
(3) الصوت سلس ، دون الشعور بالتوقف أو التوقف.
(4) لا يوجد رد.
أدناه سنتحدث عن التقنيات الإضافية المستخدمة في نظام الحوار الصوتي للشبكة الفعلي واحدًا تلو الآخر.
1. إلغاء الصدى AEC اعتاد الجميع الآن على استخدام وظيفة تشغيل الصوت للكمبيوتر أو الكمبيوتر المحمول مباشرة أثناء الدردشة الصوتية. كما يعلم الجميع ، شكلت هذه العادة الصغيرة تحديًا كبيرًا لتكنولوجيا الصوت. عند استخدام وظيفة مكبر الصوت ، سيتم جمع الصوت الذي يتم تشغيله بواسطة مكبر الصوت بواسطة الميكروفون مرة أخرى وإرساله مرة أخرى إلى الطرف الآخر ، بحيث يمكن للطرف الآخر سماع صدى الصوت الخاص به. لذلك ، في التطبيقات العملية ، فإن وظيفة إلغاء الصدى ضرورية. بعد الحصول على إطار الصوت الذي تم تجميعه ، فإن هذه الفجوة قبل التشفير هي وقت عمل وحدة إلغاء الصدى. المبدأ هو ببساطة أن وحدة إلغاء الصدى تقوم ببعض العمليات الشبيهة بالإلغاء في إطار الصوت المُجمع وفقًا لإطار الصوت الذي تم تشغيله للتو ، وذلك لإزالة الصدى من الإطار المُجمع. هذه العملية معقدة للغاية ، وهي مرتبطة أيضًا بحجم الغرفة التي تتواجد فيها أثناء الدردشة ، وموقعك في الغرفة ، لأن هذه المعلومات تحدد طول انعكاس الموجة الصوتية. يمكن لوحدة إلغاء الصدى الذكية ضبط المعلمات الداخلية ديناميكيًا للتكيف بشكل أفضل مع البيئة الحالية.
2. قمع الضوضاء DENOISE يعتمد منع الضوضاء ، المعروف أيضًا باسم معالجة تقليل الضوضاء ، على خصائص البيانات الصوتية لتحديد جزء ضوضاء الخلفية وتصفيته خارج الإطارات الصوتية. تحتوي العديد من برامج التشفير على هذه الميزة مضمنة.
3. JitterBuffer يتم استخدام المخزن المؤقت للتشويش لحل مشكلة ارتعاش الشبكة. يعني ما يسمى بعدم استقرار الشبكة أن تأخير الشبكة سيكون أكبر وأصغر. في هذه الحالة ، حتى إذا كان المرسل يرسل حزم البيانات بانتظام (على سبيل المثال ، يتم إرسال حزمة كل 100 مللي ثانية) ، لا يمكن للمستقبل تلقي نفس التوقيت. في بعض الأحيان لا يمكن تلقي أي حزمة في دورة ، وفي بعض الأحيان يتم تلقي عدة حزم في دورة. بهذه الطريقة ، يكون الصوت الذي يسمعه المتلقي عبارة عن بطاقة واحدة وبطاقة واحدة. يعمل JitterBuffer بعد وحدة فك الترميز وقبل تشغيل الصوت. أي ، بعد اكتمال فك تشفير الكلام ، يتم وضع الإطار الذي تم فك تشفيره في JitterBuffer ، وعندما يصل استدعاء إعادة تشغيل بطاقة الصوت ، يتم استرداد أقدم إطار من JitterBuffer للتشغيل. يعتمد عمق المخزن المؤقت لـ JitterBuffer على درجة ارتعاش الشبكة. كلما زاد تذبذب الشبكة ، زاد عمق المخزن المؤقت وزاد التأخير في تشغيل الصوت. لذلك ، يستخدم JitterBuffer تأخيرًا أعلى في مقابل تشغيل الصوت السلس ، لأنه مقارنة ببطاقة واحدة بطاقة واحدة ، وتأخير أكبر قليلاً ولكن تأثير أكثر سلاسة ، فإن تجربته الشخصية أفضل. بالطبع ، عمق المخزن المؤقت لـ JitterBuffer ليس ثابتًا ، ولكن يتم تعديله ديناميكيًا وفقًا للتغيرات في درجة اهتزاز الشبكة. عندما تتم استعادة الشبكة لتكون سلسة للغاية وبدون عوائق ، سيكون عمق المخزن المؤقت صغيرًا جدًا ، بحيث تكون الزيادة في تأخير التشغيل بسبب JitterBuffer ضئيلة للغاية.
4. كشف كتم الصوت في أيه دي في أي محادثة صوتية ، إذا كان أحد الأطراف لا يتحدث ، فلن يتم إنشاء أي حركة مرور. يستخدم الكشف عن كتم الصوت لهذا الغرض. عادةً ما يتم أيضًا دمج اكتشاف كتم الصوت في وحدة الترميز. يمكن لخوارزمية الكشف الصامت جنبًا إلى جنب مع خوارزمية قمع الضوضاء السابقة تحديد ما إذا كان هناك إدخال صوتي حاليًا. إذا لم يكن هناك إدخال صوتي ، فيمكنه تشفير وإخراج إطار مشفر خاص (على سبيل المثال ، الطول هو 0). خاصة في مؤتمر الفيديو متعدد الأشخاص ، عادة ما يتحدث شخص واحد فقط. في هذه الحالة ، لا يزال استخدام تقنية الكشف الصامت لتوفير النطاق الترددي كبيرًا للغاية.
5. خلط الخوارزمية في الدردشة الصوتية متعددة الأشخاص ، نحتاج إلى تشغيل البيانات الصوتية من عدة أشخاص في نفس الوقت ، وتقوم بطاقة الصوت بتشغيل مخزن مؤقت واحد فقط. لذلك ، نحتاج إلى مزج عدة أصوات في صوت واحد. هذا ما تفعله خوارزمية الخلط. حتى إذا تمكنت من العثور على طريقة لتجاوز الاختلاط والسماح بتشغيل أصوات متعددة في نفس الوقت ، فلغرض إلغاء الصدى ، يجب مزجها في تشغيل واحد ، وإلا فإن إلغاء الصدى يمكنه فقط القضاء على بعض الأصوات المتعددة في عظم. طوال الطريق. يمكن أن يتم الخلط من جانب العميل أو على جانب الخادم (والذي يمكن أن يوفر عرض النطاق الترددي المصب). إذا تم استخدام قنوات P2P ، فلا يمكن إجراء الخلط إلا من جانب العميل. إذا كان الاختلاط على العميل ، فعادة ما يكون الخلط هو الرابط الأخير قبل اللعب. هذه المقالة هي ملخص تقريبي لتجربتنا في تنفيذ الجزء الصوتي من OMCS. هنا ، قمنا للتو بعمل وصف بسيط لكل رابط في الشكل ، ويمكن كتابة أي واحد منهم في ورقة طويلة أو حتى كتاب. لذلك ، هذه المقالة هي فقط لتقديم خريطة تمهيدية لأولئك الجدد في تطوير نظام صوت الشبكة ، وإعطاء بعض القرائن.
|
أدخل البريد الإلكتروني للحصول على مفاجأة
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> الأفريكانية
sq.fmuser.org -> الألبانية
ar.fmuser.org -> عربي
hy.fmuser.org -> الأرمينية
az.fmuser.org -> الأذربيجانية
eu.fmuser.org -> الباسك
be.fmuser.org -> البيلاروسية
bg.fmuser.org -> البلغارية
ca.fmuser.org -> الكتالانية
zh-CN.fmuser.org -> الصينية (المبسطة)
zh-TW.fmuser.org -> الصينية (التقليدية)
hr.fmuser.org -> الكرواتية
cs.fmuser.org -> التشيكية
da.fmuser.org -> الدنماركية
nl.fmuser.org -> الهولندية
et.fmuser.org -> الإستونية
tl.fmuser.org -> فلبيني
fi.fmuser.org -> الفنلندية
fr.fmuser.org -> الفرنسية
gl.fmuser.org -> الجاليكية
ka.fmuser.org -> الجورجية
de.fmuser.org -> الألمانية
el.fmuser.org -> اليونانية
ht.fmuser.org -> الكريولية الهايتية
iw.fmuser.org -> عبري
hi.fmuser.org -> الهندية
hu.fmuser.org -> الهنغارية
is.fmuser.org -> الأيسلندية
id.fmuser.org -> الإندونيسية
ga.fmuser.org -> الأيرلندية
it.fmuser.org -> الإيطالية
ja.fmuser.org -> اليابانية
ko.fmuser.org -> كوري
lv.fmuser.org -> اللاتفية
lt.fmuser.org -> ليتوانيا
mk.fmuser.org -> المقدونية
ms.fmuser.org -> الملايو
mt.fmuser.org -> المالطية
no.fmuser.org -> النرويجية
fa.fmuser.org -> فارسي
pl.fmuser.org -> البولندية
pt.fmuser.org -> البرتغالية
ro.fmuser.org -> الرومانية
ru.fmuser.org -> الروسية
sr.fmuser.org -> الصربية
sk.fmuser.org -> السلوفاكية
sl.fmuser.org -> السلوفينية
es.fmuser.org -> الاسبانية
sw.fmuser.org -> السواحيلية
sv.fmuser.org -> السويدية
th.fmuser.org -> التايلاندية
tr.fmuser.org -> التركية
uk.fmuser.org -> الأوكرانية
ur.fmuser.org -> الأردية
vi.fmuser.org -> الفيتنامية
cy.fmuser.org -> الويلزية
yi.fmuser.org -> اليديشية
FMUSER Wirless ينقل الفيديو والصوت بشكل أسهل!
اتصل بنا
العنوان
No.305 غرفة HuiLan مبنى رقم 273 Huanpu Road قوانغتشو الصين 510620
الفئات
بريدك الإلكتروني