BD-J
BD-J ، أو Blu-ray Disc Java ، هو مواصفات تدعم Java ME (وتحديدًا ملف تعريف الأساس الشخصي لتكوين الجهاز المتصل أو CDC) Xlets للمحتوى المتقدم على Blu-ray Disc وملف تعريف الوسائط المعبأة لـ Globally Executable MHP (GEM).
تتيح تقنية BD-J محتوى إضافيًا أكثر تطورًا على أقراص Blu-ray مقارنةً بأقراص DVD القياسية ، بما في ذلك الوصول إلى الشبكة، وميزة صورة داخل صورة، والوصول إلى مساحة تخزين محلية موسعة . تُعرف هذه الميزات مجتمعةً (باستثناء الوصول إلى الإنترنت) باسم " العرض الإضافي "، ويُطلق على إضافة الوصول إلى الإنترنت اسم " BD Live ". طُوّرت تقنية BD-J من قِبل جمعية أقراص Blu-ray . يُشترط على جميع مشغلات أقراص Blu-ray التي تدعم محتوى الفيديو أن تدعم تقنية BD-J وفقًا للمواصفات. [ 1 ] بدءًا من 31 أكتوبر 2007، يُشترط أن تدعم جميع المشغلات الجديدة ميزات "العرض الإضافي" على مستوى الأجهزة، ولكن قد تتطلب المشغلات تحديثات برمجية مستقبلية لتفعيل الميزات المذكورة. دعم "BD Live" اختياري دائمًا لمشغل أقراص Blu-ray. [ 2 ]
إمكانيات BD-J Xlet
- يتم تفعيل وحدات BD-J Xlets بواسطة أحداث تحدث حولها، على سبيل المثال، عند اختيار عنوان فيلم أو عند إدخال قرص جديد. ويمكن لهذه الوحدات بدورها استدعاء وحدات أخرى.
- يعتمد الأمان في BD-J على نموذج أمان منصة Java. أي أن التطبيقات الموقعة في ملفات JAR يمكنها أداء مهام أكثر من التطبيقات غير الموقعة، مثل الوصول للقراءة/الكتابة إلى وحدة التخزين المحلية، والوصول إلى الشبكة، واختيار عناوين أخرى على قرص BD-ROM، والتحكم في تطبيقات BD-J الأخرى قيد التشغيل.
- لا تحتوي وحدات Xlets (كجزء من ملف تعريف CDC الشخصي الأساسي) على واجهة مستخدم رسومية (أي لا تحتوي على عناصر واجهة مستخدم AWT مثل
java.awt.Button)، لذا يتم استدعاء فئات إضافية لإنشاء الرسوم المتحركة وواجهة المستخدم الرسومية. يستخدم BD-J نموذج جهاز Havi UI ومجموعة عناصر واجهة المستخدم للتحكم عن بُعد، ولكنه مُوسّع ليدعم دقة العرض وعناصر التحكم الصوتية/المرئية المدعومة من BD. - يحتوي برنامج BD-J على فئات تسمح للمستخدم بالمزامنة بدقة مع إطارات محددة في الفيلم.
- يُسمح بنوعين من مزامنة الفيديو، أحدهما يُسمى "المزامنة التقريبية"، والذي يستخدم دالة رد نداء ويكون دقيقًا في حدود عدة إطارات من الحدث، والآخر هو "المزامنة الدقيقة"، والذي يستخدم حزمة JMF ( إطار عمل الوسائط في جافا
org.bluray) . تُمكّن المزامنة الدقيقة التطبيقات من المزامنة بدقة مع الإطار المحدد باستخدام رموز الوقت من حزمةjavax.media.TimeJMF . - يمكن تشغيل واجهة المستخدم الرسومية لتطبيق BD-J باستخدام جهاز تحكم عن بُعد مزود بمجموعة مفاتيح محددة وجهاز تأشير اختياري. تتضمن مجموعة المفاتيح المطلوبة على الأقل المفاتيح اللازمة لدعم عمليات المستخدم في تطبيقات الأفلام عالية الدقة (HDMV) .
- يتضمن إطار عمل واجهة المستخدم الرسومية في BD-J إطار عمل HAVi (6) الذي يفرضه GEM ؛ وهو ليس إطار عمل لواجهة المستخدم الرسومية لأجهزة سطح المكتب مثل Swing أو AWT . يعتمد إطار عمل واجهة المستخدم الرسومية على جوهر AWT كما هو محدد في PBP، ولكن مجموعة الأدوات تتضمن آليات للتحكم عن بُعد في التنقل من GEM وتخصيص سهل للمظهر من HAVi.
- يتضمن BD-J إطار عمل للوسائط مشابهًا لـ JMF لتشغيل محتوى الوسائط المرتبط بقرص BD-ROM. من المفترض أن يكون قرص BD-ROM المصدر الرئيسي لملفات الوسائط، ولكنه لن يكون المصدر الوحيد؛ فقد تشمل المصادر الأخرى خادم الويب الخاص بالاستوديو ووحدة التخزين المحلية.
- تتضمن مكتبة BD-J مكتبات جافا قياسية لفك تشفير وعرض الصور بصيغ JFIF ( JPEG ) و PNG وغيرها. يمكن عرض هذه الصور على واجهة جافا الرسومية باستخدام وظائف جافا الرسومية القياسية. كما يمكن عرض الصورة في الخلفية باستخدام حزمة خاصة بـ BD-J.
- يمكن عرض النصوص باستخدام دوال جافا النصية القياسية. وقد تم توسيع هذه الدوال لتشمل مدير تخطيط نصوص أكثر تطورًا يتكامل مع إطار عمل واجهة المستخدم BD-J. ويتم عرض النص باستخدام خط متجهي، إما من القرص، أو من المشغل (الخط الافتراضي)، أو من خط تم تنزيله من الشبكة.
- يمكن أيضًا استخدام أصوات الأزرار من HDMV بواسطة إطار عمل واجهة المستخدم Java. يمكن تحميل ملفات الصوت وعرضها كرد فعل لضغط المستخدم على مفتاح، أو كرد فعل على حدث محدد متعلق بالفيلم، أو كرد فعل على أي حدث يتم إنشاؤه بواسطة تطبيق BD-J.
- يمكن للتطبيقات الموثقة استخدام ملف طلب أذونات (موقع) للحصول على أذونات تتجاوز نطاق بيئة الحماية BD-J. ويمكن الحصول على الأذونات لما يلي:
- القراءة والكتابة إلى وحدة التخزين المحلية ووحدة تخزين النظام
- استخدام اتصال الشبكة (للاتصال بالخوادم المحددة)
- الوصول إلى نظام الملفات على قرص BD-ROM
- اختيار عناوين أخرى على قرص BD-ROM
- التحكم في تطبيقات BD-J الأخرى قيد التشغيل
- تستطيع تطبيقات BD-J استخدام هذه
java.netالحزمة للاتصال بالخوادم على الإنترنت. قد يختلف نوع الاتصال المادي بين التطبيقات، مثل الإيثرنت أو خط الهاتف، إلخ. على مستوى الشبكة، يدعم النظام بروتوكول TCP/IP ، ويمكن استخدام بروتوكول HTTP . علاوة على ذلك، تتضمن منصة BD-J حزمة Java للاتصالات الآمنة ( JSSE ). قبل أن يتمكن تطبيق BD-J من استخدام اتصال الشبكة، يجب التحقق من هويته والحصول على الصلاحيات اللازمة لاستخدام الشبكة. - تخضع المواقع الإلكترونية التي سيتم توجيه التطبيق إليها لسيطرة كاملة من قِبل مزود المحتوى. وتُضمن هذه السيطرة بطريقتين:
- لا يُسمح بتشغيل سوى تطبيقات BD-J المصادق عليها (من القرص) عند تشغيل القرص. ويتحكم التطبيق في استخدام اتصال الشبكة.
- بالإضافة إلى ذلك، يمكن للأذونات المحددة على القرص أن تقيد استخدام اتصال الشبكة (TCP/IP) لمواقع معينة.
- ستتضمن BD-J دعمًا للتخزين. يتوفر نوعان من التخزين: تخزين النظام الإلزامي والتخزين المحلي الاختياري. يتم الوصول إلى جميع وحدات التخزين باستخدام طرق من حزمة Java IO. مسار التخزين المحلي كما هو محدد في [GEM].
- وحدة التخزين الأساسية هي وحدة تخزين موجودة في جميع مشغلات أقراص بلو راي اليابانية. يسمح الحد الأدنى لحجم هذه الوحدة بتخزين بيانات التطبيقات مثل الإعدادات وأعلى النتائج، وما إلى ذلك. لكنها غير كافية لتخزين مواد الفيديو والفيديو التي تم تنزيلها. لهذا الغرض، تتوفر وحدة تخزين محلية اختيارية. عادةً ما تُستخدم ذاكرة فلاش لتخزين النظام، بينما تُستخدم وحدة التخزين المحلية الاختيارية على قرص صلب.
- بما أن التخزين مورد مشترك بين جميع الأقراص التي يتم تشغيلها على المشغل، فإن التحكم في الوصول إلى Java هو جزء من BD-J. لا يمكن لتطبيقات BD-J الوصول إلا إلى جزء محدد من مساحة التخزين الخاصة بالقرص ولا يمكنها الوصول إلى الجزء الذي ينتمي إلى أقراص أخرى.
تطوير المحتوى
تتوفر لمطوري المحتوى استراتيجيات تطوير متنوعة، تشمل استخدام بيئات التطوير المتكاملة التقليدية (IDEs) مثل NetBeans أو Eclipse ، أو بيئات رسومية غير برمجية مثل Macromedia Director، أو عبر محركات عرض تستخدم تنسيقات بيانات قياسية مثل HTML وXML وSVG. يُتيح وجود بيئة برمجة كاملة على كل مشغل أقراص Blu-ray للمطورين منصةً لإنشاء أنواع محتوى غير مقيدة بقيود أقراص DVD القياسية. إضافةً إلى واجهات برمجة تطبيقات BD-J القياسية، يمكن للمطورين استخدام مكتبات Java وأطر التطبيقات الموجودة، شريطة عدم استخدام ميزات خارجة عن قيود منصة BD-J، مع العلم أن Java ME يدعم فقط ملفات فئات Java الإصدار 1.3 .
تتوفر مجموعة من الأدوات المجانية التي تُمكّن مطوري جافا من إنتاج صور أقراص كاملة تتضمن تقنية BD-J، وذلك من خلال مشروع HD Cookbook. [ 3 ] لاختبار المحتوى في بيئة تطوير نموذجية (نظام التشغيل ويندوز)، يلزم وجود جهاز بلاي ستيشن 3 أو برنامج تشغيل تابع لجهة خارجية لنظام ويندوز، مع مراعاة إصدارات برامج التشغيل للتأكد من دعمها لتقنية BD-J. [ 4 ] [ 5 ] [ 6 ]
نظراً لتعدد المعايير والمكونات المختلفة المستخدمة، فقد أثبت إنشاء وثائق موحدة حول BD-J أنه يمثل تحدياً. [ 7 ] [ 8 ]
نموذج التعليمات البرمجية
تم تصميم بيئة BD-J لتشغيل Xlets مع javax.*حزم غير متاحة للاستفادة من الميزات الخاصة بهذه المنصة بالإضافة إلى تلك المحددة بواسطة Java TV .
حتى مثال بسيط مثل FirstBDJApp. [ 9 ]
قد يختار المطور عدم استخدام javax.*الحزم واستخدام ما يلي بدلاً من ذلك:
- فئات HAVi في شجرة الحزمة
org.havi.*: فئات بديلة للحصول على، على سبيل المثال، ماorg.havi.ui.HSceneهو أبعد بكثير مما توفرهjavax.tv.graphics.TVContainer(كلاهما من نسلjava.awt.Container) - فئات البث الرقمي للفيديو (DVB) في شجرة الحزمة
org.dvb.*: فئات بديلة، على سبيل المثال، للواجهةorg.dvb.event.UserEventListenerبدلاً منjava.awt.event.KeyListenerدعم ضغطات المفاتيح ورموز المفاتيح الخاصة بأجهزة CDC الشائعة. - فئات أقراص Blu-ray في شجرة الحزمة
org.bluray.*: تعتمد فئات DAVIC و DVB على التعرف على الأحداث الإضافية الخاصة بمنصة BD-J مثل القوائم المنبثقة وتحديد موقع الوسائط على قرص Blu-ray. - فئات DAVIC API في شجرة الحزمة
org.davic.*: مجموعة صغيرة من الفئات التي تغلف أو توسع موارد الشبكة والوسائط الأخرى الخاصة بالتلفزيون التفاعلي التي تستخدمها فئات HAVi وDVB وBlu-ray لتحديد المواقع والاستثناءات المتخصصة خارج نطاق JMF (مثل ترخيص المحتوى).
سيكون مثال BdjGunBunny Xlet (وهو إصدار بسيط للغاية من لعبة Space Invaders يستخدم صورة أرنب كقاذف وسلاحف كأهداف) مثالاً عمليًا لبرنامج يستخدم بعض الميزات من كل شجرة من أشجار الفئات، وهو متوفر كمثال في Java ME 3.0 SDK .
package org.wikipedia.examples ;استيراد java.awt.Container ؛استيراد javax.tv.graphics.TVContainer ؛ استيراد javax.tv.xlet.XletContext ؛استيراد org.havi.ui.HScene ؛ استيراد org.havi.ui.HSceneFactory ؛// الحصول على حاوية للشاشة public void initXlet ( XletContext context ) { // واجهة برمجة تطبيقات Java TV لتكون متوافقة مع Java TV TVContainer scene = TVContainer . getRootContainer ( context );// أو بالنسبة لـ BD-J، لاستخدام ميزات HAVi غير المتوفرة في Java TV HScene scene = HSceneFactory . getInstance (). getDefaultHScene ();// أو ربما بشكل أعم... حاوية container = null ; boolean realBDJ = true ; if ( realBDJ ) { container = HSceneFactory . getInstance (). getDefaultHScene (); } else { container = TVContainer . getRootContainer ( context ); // ... } }وينطبق الأمر نفسه على البرامج الأخرى غير javax.*الحزم. وبالمثل، عند محاولة تشغيل فيديو، قد يستخدم المرء أداة Blu-ray وDAVIC بدلاً من استخدام JMF العام.
استيراد javax.media.Player ؛ استيراد org.bluray.net.BDLocator ؛ استيراد org.davic.media.MediaLocator ؛MediaLocator stars = new MediaLocator ( new BDLocator ( "bd://0.PLAYLIST:00003" ) ); Player player = Manager.createPlayer ( stars ) ;بدلاً من JMF التقليدي والمحمول ولكنه محدود الإمكانيات:
استيراد java.net.URL ؛ استيراد javax.media.Manager ؛ استيراد javax.media.Player ؛Player mediaPlayer = Manager.createRealizedPlayer ( new URL ( "file : /mymovie.mov" ) ));منشور ذو صلة
- برمجة أقراص HD DVD و Blu-ray: كتاب الطبخ عالي الدقة (2008) من تأليف مايكل زينك، وفيليب سي. ستارنر، وبيل فوت - رقم ISBN 978-0-07-149670-4- موقع الكتاب مؤرشف بتاريخ 6 أكتوبر 2008 على موقع Wayback Machine
انظر أيضاً
- المحتوى المتقدم ، وهو نظيره في أقراص BD-J على أقراص HD DVD
مراجع
- ↑ "تطوير تطبيقات Blu-ray BD-J باستخدام Java ME" . مؤرشف من الأصل بتاريخ 11 سبتمبر 2008. تم الاطلاع عليه بتاريخ 21 أكتوبر 2008 .
- ↑ "رابطة أقراص بلو راي تروج لميزة Bonus View الجديدة" .
- ↑ [hdcookbook.jovial.com/ HDCookbook for BD-J]
- ↑ "ملاحظات وإرشادات تأليف أقراص بلو راي باستخدام جافا و GEM/MHP/OCAP" . مؤرشف من الأصل بتاريخ 24-12-2008 . تم الاطلاع عليه بتاريخ 21-10-2008 .
- ↑ الحصول على برنامج تشغيل أقراص بلو راي (BD-J) للكمبيوتر الشخصي (مؤرشف بتاريخ 24-12-2008 في أرشيف الإنترنت ) - يشير إلى أنه قد يلزم استخدام "إصدارات مطورين" خاصة من البرنامج
- ↑ تطبيق HelloWorld BD-J: تجربتك الأولى مع الجيل القادم من أقراص DVD. مؤرشف بتاريخ 7 فبراير 2009 في Wayback Machine - يتضمن ملاحظات حول تفعيل تصحيح الأخطاء عن بُعد أو تسجيل البيانات مع مشغلات الكمبيوتر.
- ↑ إنشاء وثائق مرجعية لواجهة برمجة تطبيقات Javadoc لتطوير تطبيقات أقراص Blu-ray
- ↑ "الحصول على تعريف منصة BD-J" . مؤرشف من الأصل بتاريخ 24-12-2008 . تم الاطلاع عليه بتاريخ 21-10-2008 .
- ↑ تطوير تطبيقات أقراص بلو راي باستخدام جافا إم إي، الجزء 1: إنشاء تطبيقك الأول، بروس هوبكنز، سبتمبر 2008
روابط خارجية
- منتديات جافا الرسمية على java.net - منتديات جافا الرسمية على java.net لأقراص بلو راي جافا.
- bdjforum.com - منتدى غير رسمي لمطوري BD-J والمشاكل المتعلقة بتأليف HD.
- جلسات JavaOne التقنية لعام 2007: إنتاج عناوين برامج جافا على أقراص بلو راي لهوليوود
- الموقع الرسمي لـ DVB-MHP و DVB-GEM - برمجيات وسيطة مفتوحة للتلفزيون التفاعلي
- موقع تلفزيون بلا حدود - MHP/OCAP الإلكتروني من ستيفن موريس.
- كتاب طبخ عالي الدقة - أكواد ووصفات أخرى لبرامج Blu-ray Java وGEM وMHP وOCAP
- حلول ألتيكاست بي دي-جيه
- قرص بلو راي
- التلفزيون التفاعلي
- جافا (منصة برمجية)
- أقراص بقطر 120 مم
- تلفزيون عالي الوضوح
- تخزين الفيديو
