مشاكل وأسئلة برمجة وتطوير الاضافات والسكين وبناء الصور للانيجما

mfaraj57

مسؤول فريق الدريم بوكس
طاقم الإدارة
إنضم
24 أوت 2007
المشاركات
8.948
مستوى التفاعل
40.558
لا اتفق معك بان الريموت الجديد غير مريح ولكن لكل ذوقه
عموما تغيير خصائص الريموت يكون بشكل عام من keymap.xml واضافة هذا السطر يجب يعبن channellist to ok rc button

اذا لم ينجح هذه الامر يكون في مكان من الصوره جرى التعديل على الوظائف وممكن مراجعة اصحاب الصوره لمعرفة اين هذا المكان والتعديل عليه
 

mfaraj57

مسؤول فريق الدريم بوكس
طاقم الإدارة
إنضم
24 أوت 2007
المشاركات
8.948
مستوى التفاعل
40.558
....للمطورين....
صياغة script لتنصيب الباكجات
افضل طريقه لتنصيب اي بلاكن هي وضع سكريبت التنصيب على سيرفر ان توفر وميزة هذا الطريقه
امر واحد للتنصيب لكل الاصدارات
مثال
لتنصيب اخر اصدار من iptvplayer مثلا بدون البحث عن باكج اخر اصدار
كود:
wget http://iptvplayer.vline.pl/iptvinstaller.sh -O - | /bin/sh
لتنصيب اخر اصدار من TSmedia
كود:
wget http://tunisia-dreambox.info/TSmedia/software_official/installer.sh -O - | /bin/sh
هذا الامر يستخدم نفسه مع تغيير اي اصدار ل TSmedia لذلك يحفظه المستخدم ويستعمله اي وقت
لا يلزم التعديل على الاصدار الجديد للبلاكن لاضافة عملية التحديث
يعطي مرونه اكثر في التحكم في تنصيب البلاكن
يعطي مجالا لتنصيب dependent packages
اضافة اية ارشادات للمستعمل

فقط يتطلب الامر وضع script التنصيب على السيرفر ويفضل في نفس مكان الباكج
هذا مثال على السكريبت وممكن التعديل عليه ليتناسب مع الباكج الذي يخصك

كود:
#!/bin/sh

##### remove old version,optional remove this line if you  want to overwrite previous version#####
opkg remove enigma2-plugin-extensions-tsmedia
set -e ### this option execution of following lines obligetaory and if line failed,setup will fail
cd /tmp  ## change current directory totmp
wget "http://tunisia-dreambox.info/TSmedia/software_official/enigma2-plugin-extensions-tsmedia_12.2_all.ipk" ###download current package version,this line only needed to change with new version
opkg update  ##update image packages
opkg install -force-overwrite enigma2-plugin-extensions-tsmedia_12.2_all.ipk ##install current package version
set +e remove obligatory execution,any failed following line will not affact package setup
rm "enigma2-plugin-extensions-tsmedia_12.2_all.ipk" ##emove downloaded package from tmp

###install dependent packages
opkg install python-json
if [  $? -ne 0 ];

then

    opkg install python-simplejson

fi
opkg install python-xmlrpc
opkg install python-difflib
sync
##add comments
echo "#####################################################"

echo "#          TSmedia INSTALLED SUCCESSFULLY         #"

echo "#####################################################"

echo "#             PLEASE RESTART YOUR STB               #"

echo "#####################################################"

echo "#  restart enigma by typing killall -9 enigma2   #"



#killall -9 enigma2

#reboot
عملية التنصيب
 
التعديل الأخير:

mfaraj57

مسؤول فريق الدريم بوكس
طاقم الإدارة
إنضم
24 أوت 2007
المشاركات
8.948
مستوى التفاعل
40.558
تحليل وقراءة روابط m3u8
سبق ان نوقش الموضوع في مكان اخر يحفظ هنا كمرجع

كود:
# Embedded file name: /usr/lib/enigma2/python/Plugins/Extensions/TSmedia/scripts/script.module.main/lib/m3u8player/__init__.py
import m3u8

def readnet(url):
    try:
        import requests
        session = requests.Session()
        USER_AGENT = 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0'
        session.headers.update({'User-Agent': USER_AGENT})
        return session.get(url, verify=False).content
    except:
        print 'download error'
        return


def getDirectM3U8Playlist(M3U8Url, checkExt = True, variantCheck = True, cookieParams = {}, checkContent = False, sortWithMaxBitrate = -1):
    if checkExt and not M3U8Url.split('?', 1)[0].endswith('.m3u8'):
        return []
    else:
        retPlaylists = []
        data = readnet(M3U8Url)
        if data is None:
            return []
        try:
            m3u8Obj = m3u8.inits(data, M3U8Url)
            if m3u8Obj.is_variant:
                for playlist in m3u8Obj.playlists:
                    item = {}
                    if not variantCheck or playlist.absolute_uri.split('?')[-1].endswith('.m3u8'):
                        item['url'] = playlist.absolute_uri
                    else:
                        item['url'] = playlist.absolute_uri
                    item['bitrate'] = playlist.stream_info.bandwidth
                    if None != playlist.stream_info.resolution:
                        item['with'] = playlist.stream_info.resolution[0]
                        item['heigth'] = playlist.stream_info.resolution[1]
                    else:
                        item['with'] = 0
                        item['heigth'] = 0
                    item['width'] = item['with']
                    item['height'] = item['heigth']
                    try:
                        tmpCodecs = playlist.stream_info.codecs.split(',')
                        codecs = []
                        for c in tmpCodecs[::-1]:
                            codecs.append(c.split('.')[0].strip())
                            item['codecs'] = ','.join(codecs)

                    except Exception:
                        item['codecs'] = None

                    item['name'] = 'bitrate: %s res: %dx%d %s' % (item['bitrate'],
                     item['width'],
                     item['height'],
                     item['codecs'])
                    retPlaylists.append(item)

                if sortWithMaxBitrate > -1:

                    def __getLinkQuality(itemLink):
                        try:
                            return int(itemLink['bitrate'])
                        except Exception:
                            return []

                    retPlaylists = CSelOneLink(retPlaylists, __getLinkQuality, sortWithMaxBitrate).getSortedLinks()
            else:
                if checkContent and 0 == len(m3u8Obj.segments):
                    return []
                item = {'name': 'm3u8',
                 'url': M3U8Url,
                 'codec': 'unknown',
                 'with': 0,
                 'heigth': 0,
                 'width': 0,
                 'height': 0,
                 'bitrate': 'unknown'}
                retPlaylists.append(item)
        except:
            pass

        return retPlaylists
        return


def getm3u8playlist(url):
    list = []
    data = getDirectM3U8Playlist(url)
    if len(data) < 2:
        return list.append(('m3u8_0', url, 'img/play.png'))
    else:
        for item in data:
            print 'quality', item['heigth'], 'stream_url', item['url']
            list.append((item['heigth'], item['url'], 'img/play.png'))

        return list
 

المرفقات

mfaraj57

مسؤول فريق الدريم بوكس
طاقم الإدارة
إنضم
24 أوت 2007
المشاركات
8.948
مستوى التفاعل
40.558
التحويل بين المشغلات من خلال الكود
كود:
sref = eServiceReference(4097, 0, str(self.stream_url)) ###default enigmaplayer
sref = eServiceReference(5001, 0, str(self.stream_url)) ###gstplayer
sref = eServiceReference(5002, 0, str(self.stream_url)) ###exteplayer3
 

عاطف

عضو فعال
عضو قيم
إنضم
23 نوفمبر 2005
المشاركات
398
مستوى التفاعل
1.339
السلام عليكم ورحمة الله وبركاته
كل عام و الجميع بخير

نظراً لعدم وجود دعم من فريق openpli
لاجهزة دريم الحديثة os
اتاح فريق openpli
لاصحاب الاجهزة بناء صور لاجهزتهم
صورة منزلية ليس لها دعم ولكن يمكن تجميع الفيد
الخاص بالصورة علي جهاز الكمبيوتر الخاص بك
تم بناء صورة لجهازي الخاص بي وهو دريم DM 820 HD
وتم تجميع الفيد الخاص به علي جهاز الكمبيوتر الخاص بي
وهنا ياتي السؤال او الاستفسار
اريد تنصيب اضافة backupsuite و openmultiboot
هذه الاضافات تحتاج الي اعتماديات او اضافات اخري كي تعمل
فما هي الاعتماديات الاضافات التي يجب تنصيبها كي يعمل البلوجن backupsuite و openmultiboot
مع العلم الفيد بالكامل موجود لدي علي جهاز الكمبيوتر الخاص بي
تحياتي وشكرا مقدماً

هذا رابط الجت الخاص بالبناء لمن ارد ان يبني صورة

PLi-metas/pli-extras
 
التعديل الأخير:

fairman

كبير مراقبي فريق الدريم بوكس
طاقم الإدارة
إنضم
8 جانفي 2012
المشاركات
20.809
مستوى التفاعل
67.397
هل بنيت الفيد لصورة ؟! إذا نعم .. بالتالي سوف تحصل على جميع الملفات و البكيجات ...
كل ما عليك فعله هو نقل اي بلجن تريد تثبيت الى tmp/ وتقوم باعطاءه امر التثبيت ..
بعدها التلنت سوف يخبرك بنقص الملفات التي يحتاجها البلجن لتثبيته تنظر الى تلك الملفات وتأخذ أسمائها وتبحث عنها في مجلد ipk الذي في مجلد بناء الصورة وتنقل الملفات الى الدريم بوكس وتثبتهم وينتهي الامر
 

عاطف

عضو فعال
عضو قيم
إنضم
23 نوفمبر 2005
المشاركات
398
مستوى التفاعل
1.339
هل بنيت الفيد لصورة ؟! إذا نعم .. بالتالي سوف تحصل على جميع الملفات و البكيجات ...
كل ما عليك فعله هو نقل اي بلجن تريد تثبيت الى tmp/ وتقوم باعطاءه امر التثبيت ..
بعدها التلنت سوف يخبرك بنقص الملفات التي يحتاجها البلجن لتثبيته تنظر الى تلك الملفات وتأخذ أسمائها وتبحث عنها في مجلد ipk الذي في مجلد بناء الصورة وتنقل الملفات الى الدريم بوكس وتثبتهم وينتهي الامر
معلش اخي حسين هاتعبك معاي شوية
دي الصورة بعد تنصيب الملتي بوت
بس انا ما فهمت المطلوب حتي يتم تنصيبه
من الملفات الموجودة عندي ارجو التوضيح
المطلوب بالضبط وشكراً لك ورمضان كريم

1_0_1_8_65_1_2AE0F3C_0_0_0_20180522002122.jpg 1_0_1_8_65_1_2AE0F3C_0_0_0_20180522002153.jpg 1_0_1_8_65_1_2AE0F3C_0_0_0_20180522002302.jpg
 

fairman

كبير مراقبي فريق الدريم بوكس
طاقم الإدارة
إنضم
8 جانفي 2012
المشاركات
20.809
مستوى التفاعل
67.397
في هذه الحالة البلجن يقوم بتحديث الفيد وبما غن الصورة لا تحتوي على فيد فلن يتحدث .. وبالتالي البلجن لن يقوم بتحميل الملفات الذي يحتاجها ...

لذلك يجب أن تقراء بتمعن ما هي الملفات التي يحتاجها مثلاً في الصورة الثانية وااااضح جداً إن البلجن يخبرك بغنعه يريد تثبيت ملف إسمه nfidump وهو مختص بتفكيك الصور ... لذلك ابحث عنه في مجلد ipk وانقله الى الدريم بوكس وثبته واتعمل restart enigma2 وجرب من جديد فتح البلجن ..

وهكذا ...
 

عاطف

عضو فعال
عضو قيم
إنضم
23 نوفمبر 2005
المشاركات
398
مستوى التفاعل
1.339
في هذه الحالة البلجن يقوم بتحديث الفيد وبما غن الصورة لا تحتوي على فيد فلن يتحدث .. وبالتالي البلجن لن يقوم بتحميل الملفات الذي يحتاجها ...

لذلك يجب أن تقراء بتمعن ما هي الملفات التي يحتاجها مثلاً في الصورة الثانية وااااضح جداً إن البلجن يخبرك بغنعه يريد تثبيت ملف إسمه nfidump وهو مختص بتفكيك الصور ... لذلك ابحث عنه في مجلد ipk وانقله الى الدريم بوكس وثبته واتعمل restart enigma2 وجرب من جديد فتح البلجن ..

وهكذا ...
لاسف اخي حسين الملفات كثيرة ولم اجد بها اي شيئ بهذا الاسم
ويبدو انها عدة اضافات تدرج تحت هذا الاسم ولكل اضافة منهم اسم
علي العموم وجدت هذه الاضافة واظنها من المتطلبات سوف اجرب اي اضافة
تخص فك وتجميع الصور الي ان اصل لحل وان كان لديك اي معلومة ارجو ان تمدني بها
وشكرا لك
22-05-2018 02-25-07 ص.png
 
أعلى