PDA

مشاهده نسخه کامل : چگونگي نمايش فيلم به روش STREAMING روي اينترنت



Apollo
شنبه 16 آبان 1383, 12:52
تكنولوژي STREAMING براي اولين با در سال 1995 روي اينترنت بكار گرفته شد و همزمان با آن شركت RealAudio برنامه اي ارائه كرد كه به كمك آن امكان شنيدن صدا بصورت مداوم و بدون قطع شدن فراهم گشت.

بيشتر استفاده كننده گان از اينترنت فكر مي كنند كه اين تكنولوژي به روشي بر مي گردد كه با قرار دادن مقداري معادل با چند ثانيه از اطلاعات تصويري و صدا در حافظه موجب ميشود كه صدا و ويدئو بدون قطع شدن پخش شوند و در واقع هربار با گذاشتن مقداري از صدا و ويدئو در حافظه از قبل، امكان مشاهده ويدئو بدون داشتن وقفه فراهم مي شود. ولي اين تكنولوژي به همين جا محدود نمي گردد، تكنيك buffering ، تنها يكي از عملياتي است كه براي STREAMING مورد استفاده قرار ميگيرد و در واقع buffering تكنيك جديدي محسوب نمي شود، و حتي در CD Man ها كه براي پخش موزيك بكار مي روند از اين تكنيك استفاده مي شود، و اين سيستم به عنوان Antishoc بكار مي رود، يعني بدليل وارد شدن شوك به هد ، ممكن است پخش موسيقي با وقفه مواجه شود، ولي با قراردادن مقداري از موزيك در بافر از قبل، از بروز وقفه جلوگيري شده و در اين هنگام هد مجددا" به وضعيت اصلي خود براي انتقال دادهها از روي CD موسيقي ، برمي گردد .

بر روي اينترنت هم ممكن است بدليل وجود اشكالات آنالوگ در خطوط تلفن ، مشكل وقفه در انتقال داده ها بروز كند. ولي تكنيك STREAMING بسيار پيچيده تر و پيشرفته تر از تكنيك buffering ميباشد، در واقع اين تكنولوژي ، با استفا ده از مجموعه اي از عوامل مختلف ، امكان نگاه كردن ويدئو را روي اينترنت فراهم ميسازد و اين در حالي است كه كاربر هيچ نيازي به دانلود كردن تمام فايل حاوي ويدئو به كامپيوتر خود را ندارد.

از تكنيكهاي فشرده سازي ويدئو و صدا استفاده مي كند و اين فايلها را بر حسب نوع ارتباط تلفني STREAMING و فركانس ارتباطي هر كاربر روي اينترنت ارسال ميكند، كيفيت نمايش ويدئو در اين تكنيك خيلي پا يينتر از تصوير تلوزيون ، ماهواره و يا كابل مي باشد و بيشتر اوقات تصوير كوچكي ارائه مي گردد ، چون بايدحجم فايل را براي انتقال روي خطوط اينترنت كاهش داد، با در نظر گرفتن حجم بسيار بالاي يك فيلم ، متوجه ميشويم كه اين تكنيك راهي جز دريافت فايلهاي كوچك و خواندن و پخش آنها ، البته بصورت مداوم ، ندارد و احتياجي به دانلود كردن تمام فيلم نيست. يك تصوير ويدئويي با در نظر گرفتن طول و عرض آن كه خود تركيبي از pixel ها بوده و همچنين تعداد بيتهايي كه براي تعريف رنگ هر pixel بكار رفته، ارزيابي ميگردد.( معمولا" 24 بيت براي هر pixel در حالت تصوير با كيفيت خوب. )

براي داشتن يك ويدئو قابل قبول، 25 تصوير در ثانيه بايد پخش بشود، با محاسبه اين مقادير و در نظر گرفتن مدت فيلم ، مي توانيم به محاسبه حجم فيلم در مقياس BIT بپردازيم، و با تقسيم نتيجه محاسبه بر 8 ميليون ميتوانيم بطور نسبي حجم يك فيلم را به مگا بايت بدست بياوريم.
براي مثال يك سكانس ويدئو با فرمت VGA كه شامل 640 در 480 pixel ميباشد، و مدت پخش آن يك دقيقه است ، حجم فايل به 32.1 گيكا بايت مي رسد و بايد براي نمايش فيلم 23 مگا بايت از داده ها در ثانيه روي اينترنت ارسال بشود! با در نظر گرفتن يك مودم 56 كيلو بيت در ثانيه، شما به سرعت متوجه مشكل ميشويد!
حتي با وجود اتصال كابل يا DSL هم اين مشكل حل نميشود، چون سرعت آنها در بهترين وضعيت خطوط ، به زحمت به 0.5 مگا بايت در ثانيه ميرسد. در نتيجه براي پخش ويدئو روي اينترنت بايد اندازه تصوير را كوچك كرده و تعداد پخش هر تصوير در ثانيه را هم كاهش داد، همچنين پروتوكلهاي ارتباطي و نوع شبكه ارتباطي هم نقش اساسي بازي ميكنند و بايد منطبق با تكنيك مورد نظر باشند.

مراحل توليد يك ويدئو شامل: يك دوربين ديجيتال يا آنالوگ، يك دستگاه ويدئو كه قابليت ديجيتالي كردن فيلم را داشته باشد و با خروجي ديجيتال ، يك كامپيوتر كه داراي كارت گرافيكي با ورودي ويدئو باشد و بالاخره نرم افزاري كه قابليت ويرايش و مونتاژ فيلم را فريم به فريم داشته باشد، البته با امكانات جلوه هاي ويژه و اضافه كردن تيتر به فيلم و...
و حاصل اين عمليات يك فايل تصويري خواهد بود، البته سعي ميگردد كه كيفيت فيلم تا حد ممكن حفظ شود و بايد از نرم افزاري كه منطبق با WEB است استفاده نمود. فايل خروجي با فرمت AVI براي Windows ، Quick Time براي Apple ، يا فرمتهاي ديگر از قبيل 1-MPEG يا 2-MPEG ذخيره ميشود، در اينجا عمل فشرده سازي فايل انجام شده ، ولي باز هم ميتوان حجم فايل را با كاهش دادن اندازه تصوير، تعداد pixel ها و سرعت نمايش هر تصوير در ثانيه ، كمتر نمود.



چگونگي سازگاري كيفيت تصوير با توجه به سرعت انتقال داده ها

اين همان تكنيكي است كه شركتAdobe در آخرين نسخه نرم افزار خود ارائه نمود. براي پخش ويدئو روي اينترنت بصورت Live و مستقيم ، روش كار كمي پيچيده تر ميشود. داده هاي تصويري كه از دوربين در حال فيلم برداري در يافت ميشود ، بصورت مستقيم به فرمتي كه منطبق با پارامترهاي WEB است ، كد گذاري مي شوند، دوربينها توسط يك پست كه وظيفه ميكس تصاوير را به عهده دارد به كامپيوتر اصلي متصل هستند، و كامپيوتر هم براي پخش تصاوير دوربينهاي مختلف در زمان مقتضي ، يك نسخه از اطلاعات ارسالي را روي ديسك سخت ذخيره ميكند.

مرحله پخش فيلم روي اينترنت به نحوه و سرعت ارتباطي كاربران به اين سرور پخش فيلم مربوط ميگردد.
بايد توجه داشت كه سرعت ماكزيمم ارتباطي هرگز در حد ايده آل نميباشد و تازه بايد به حجم ويدئو ارسالي، اطلاعات ارسالي مربوط به شبكه و تنظيمات ديگر را اضافه نمود. مطالعات آماري نشان ميدهند كه در بهترين حالت بوسيله يك مودم 56 كيلو، سرعت به 34 كيلو بيت در ثانيه محدود ميشود، اين ميزان براي شبكه كابل 450 كيلو بيت در ثانيه و براي شبكه DSL به 512 كيلو بيت در ثانيه افزايش مي يابد. اندازه تصوير براي مودم 56 كيلو 240 در 180 و براي موارد ديگر 640 در 480 ميباشد ولي در عمل كيفيت تصوير با آن چيزي كه در محاسبات بايد باشد، پايينتر است و اين به دو دليل ميباشد: اول اينكه، سرعتي كه سرور شما ادعاي آنرا دارد ، هرگز به مرحله عمل نميرسد و دوم اينكه بدليل نوع خطوط ارتباطي با سرور و استفاده و درخواست همزمان كاربران از سرور كه فيلمها در آن ذخيره شده اند ، بازده پايين مي آيد. به همين دليل بايد تعداد فريم هاي ارسالي را به 12 تا 15 تصوير در ثانيه كاهش داد، همچنين عمل فشرده سازي به تعداد فريمهاي كليدي بستگي دارد، مثلا" براي ارسال فيلمي كه شامل يك مصاحبه از يك شخص با يك دوربين فيكس شده روي تصوير صورت شخص مصاحبه شونده است، ميتوان زمان گرفتن تصاوير كليديرابر روي چند ثانيه ثابت نمود و به اين ترتيب از فرستادن فريمهاي ثابت و تكراري جلوگيري كرد.

بطور كلى 3 استاندارد براى نمايش به روش STREAMING وجود دارد: RealNetworks, Microsoft و Apple ، كه بترتيب : RealVideo با پسوند ra و Windows Madia با پسوند asf و Quike Time با پسوند mov ، البته فرمتهاى متفرقه ديگرى نيز موجود ميباشد.


عدم سازگاري پروتكلهاي اينترنتي با STREAMING

پروتكلهاي TCP و HTTP موجود، با اين تكنولوژي سازگار نيستند، مثلا" تكنيك ارسال دوباره پاكتهاي داده ها كه گم شده اند و يا اينكه بدرستي به مقصد نرسيد ه اند ، براي داده هاي تصويري و صدا كاربردي ندارد و از بازدهي لازم برخوردار نميباشد و به همين دليل گاهي از پروتكل UDP استفاده ميشود كه كارايي بهتري از TCP دارد، HTTP هم به نرم افزار سرور امكان دريافت اطلاعات براي انطباق كيفيت داده هاي ارسالي و داده هاي به مقصد رسيده را نميدهد ،همچنين امكان پخش مستقيم وجود ندارد، چون براي HTTP داده ها بايد روي ديسك سخت ذخيره شده باشند.خوشبختانه پروتكلهاي ديگري اين ناسازگاري را بهبود ميبخشند، مثل پروتكل RTPS كه خلاصه Real Time Streaming Protocol ميباشد.

سرور ويدئو در تكنيك STREAMING شامل يك نرم افزار مخصوص و يك كامپيوتر پر قدرت ميباشد، در صورت بكارگيري استانداردWindows Media ، بايد اجبارا" از سروري تحت Windows NT استفاده نمود، ولي با بكارگيري استاندارد RealServer ميتوان از سيستم هاي عامل NT ، Mac OS يا Unix براي سرور بهره گرفت. تعداد كاربراني كه اين سرور قابليت سرويس دهي همزمان به آنها را دارد، بستگي به ميزان حافظه RAM آن دارد، براي مثال براي سرويس دهي قابل قبول به 1000 كاربر بصورت همزمان ، بايد حداقل يك گيگا بايت حافظه RAM براي سرور در نظر گرفت.

ديسك سخت سرور بايد با ظرفيت بالا باشد و همچنين سرعت آن بايد حدود 10000 دور در دقيقه باشد، كه معمولا" با بهره گيري از معماري Raid اين سرعت براي ديسكهاي سخت فراهم ميگردد. همچنين بايد چندين ديسك سخت بصورت پارالل با هم كاركنند ، تا در صورت بروز اشكال ، از ديسك سخت معادل استفاده نمود و معمولا" بايد اطلاعات هر ديسك سخت روي ديسك سخت ديگري كپي برداري شود، به اينترتيب براي هر ديسك سخت ، يك ديسك يدكي در دسترس مي باشد. همچنين براي بالا بردن تعداد كاربران و ظرفيت يك سرور بايد از روش Multiprocessor استفاده نمود، همچنين مي توان با مراجعه به شركتهاي متخصص در امور پخش ويدئو، از قبيل شركت Akamai ، بازدهي سيستم را بالا برد، اين شركت يكي از معروفترين شركتها در اين امر ميباشد ، و خبرگزاري CNN يكي از مشتريان آن براي پخش ويدئوهاي خود روي اينترنت مي باشد. روش كار اين شركت بر اساس يك معماري خاص بنا شده است و بر ا ساس اين معماري ، تمام سرورهاي قدرتمند در تمام جهان با هم در تماس بوده و بهترين كيفيت انتقال ويدئو را تضمين ميكنند.

در زير اجزا كلي توليد تا پخش فيلم به روش STREAMING را برشمرده ايم:


1- سرور ميزبان كه وظيفه ذخيره صفحات وب و ويدئوها را بعهده دارد و وقتيكه توليد كننده فيلم . فاقد يك سرور و خطوط مخصوص براي پخش فيلم روي اينترنت ميباشد، ميتواند با ارسال ويدئوهاي خود به اين سرور ، به پخش فيلم روي اينترنت بپردازد.

2- توليد كننده فيلم كه وظيفه گرفتن تصاوير و فشرده سازي ويدئوها را بعهده دارد و با دوربينهايش به محل ضبط فيلم رفته و به كد گذاري فيلمها با فرمت سازگار با اينترنت بر روي ديسك سخت ايستگاه كامپيوتري خود ميپردازد.

3- شبكه توزيع ويدئو كه به پخش و ارسال سكانسهاي ويدئويي روي شبكه هاي رزرو شده ميپردازد، اين شبكه ها براي ارسال سريعتر ويدئو به كاربران طراحي شده اند و به انواع بين قاره اي ، ملي و محلي تقسيم بندي ميشوند و به اين ترتيب با توجه به موقعيت جغرافيايي كاربر، سكانسهاي ويدئو را به سرعت و از بهترين و نزديكترين محل براي كاربر ارسال ميكنند.

4- كاربر كه به نگاه كردن فيلم بوسيله يك نرم افزار پخش ويدئو روي كامپيوتر خود ميپردازد.

5- سرور محلي كه كاربران از طريق اين سرور به اينترنت متصل ميشوند، اين سرور از دو طريق سكانسهاي ويدئويي را دريافت ميكند، وقتيكه يك كاربر درخواست پخش يك ويدئو را ميكند، يا اين سرور با شبكه توزيع ويدئو براي تهيه و ارسال آن به كاربر تماس حاصل ميكند و يا اينكه مانند هر اطلاعات معمولي ديگري به جستجو در شبكه اينترنت پرداخته و بعد از يافتن ويدئو درخواستي، آنرا براي كاربر ارسال ميكند.

6- شبكه اينترنت كه امكان تبادل اطلاعات را در تمام جهان بين سرورها و كاربران مختلف فراهم ميسازد، اين شبكه شامل تعداد بسيار زيادي از سرورها و جستوگرهايي در چهار گوشه جهان بوده كه با يافتن اطلاعات مورد نظر، پاكتهاي داده ها را به مقصد مورد نظر كه همان كاربران هستند ارسال ميكنند، ولي با شبكه توزيع ويدئو قابل مقايسه نميباشد و از بازدهي بسيار كمتري برخوردار است، چون هيچ حق تقدمي براي داده هاي ويدئويي بكار گرفته نميشود و براي تبادل داده هاي تصويري بازدهي لازم را ندارد