إدارة مراكز الوسائط المتعددة باستخدام طلبات HTTP GET
في هذه المقالة ، أود أن أتحدث عن كيفية إدارة مراكز الوسائط المتعددة الأكثر شعبية في الوقت الحالي - KODI (XBMC) و Dune HD ، باستخدام طلبات HTTP GET.سيتم هنا وصف أكثر الطلبات شيوعًا التي يمكن التحكم فيها عن بُعد (على سبيل المثال: داخل شبكة WiFi المنزلية أو مع الإعدادات المناسبة لجهاز التوجيه من شبكة الإنترنت) ، ليس فقط باستخدام البرامج النصية المكتوبة مسبقًا ، ولكن ببساطة إدخالها في شريط عنوان المتصفح. لن أصف جميع الطلبات هنا ، لأنه: أولاً ، نادرًا ما يتم استخدام العديد منها بشكل كبير للغاية ، وثانيًا ، هناك وثائق كاملة لذلك. يمكن أيضًا استخدام هذه الاستعلامات للتحكم في مراكز الوسائط المتعددة عند بناء أنظمة المنزل الذكي ، والتي استخدمتها بالفعل لتطوير بلدي.وإليك الطلبات:1. قم بتشغيل ملف للتشغيل.يجب أن تكون الروابط إلى الملفات مباشرة ، أي الإشارة صراحةً إلى الملف أو البث الجاري تشغيله ، ولا تعمل الروابط من Youtube ، وبالتالي لن تعمل. كيفية الحصول على رابط مباشر لفيديو من يوتيوب ، يمكنك أن ترى هنا .- 1.1 KODI (XBMC) - http: // LOGIN : PASSWORD @ ip-address : 8080 / jsonrpc؟ Request = {"jsonrpc": "2.0"، "id": "1"، "method": "Player.Open" ، "Params": {"item": {"file": " URL "}}}
- 1.2 الكثيب HD - http: // ip-address / cgi-bin / do؟ Cmd = launch_media_url & media_url = URL
فيما يلي:LOGIN - تعيين تسجيل الدخول في إعدادات KODI (خادم الويب -> السماح Kodi بالتحكم في HTTP).PASSWORD - كلمة المرور المعينة في إعدادات KODI (خادم الويب -> السماح بتحكم Kodi في HTTP).URL - عنوان الشبكة أو الإنترنت للمورد المعاد إنتاجه.ip-address - عنوان IP للجهاز في المنزل أو شبكة الإنترنت.إذا قمت بتكوين Dune HD بحيث عندما تضغط على الزر POWER على جهاز التحكم عن بعد ، فإنه ينتقل إلى وضع الاستعداد ، ثم عندما يطلب منك تشغيل الملف ، سيتم تشغيله تلقائيًا.2. التحكم في مستوى الصوت.- 2.1 KODI (XBMC) - http: // LOGIN : PASSWORD @ ip-address : 8080 / jsonrpc؟ Request = {"jsonrpc": "2.0"، "id": "1"، "method": "Application.SetVolume" ، "Params": {"volume": 35 }}}
- 2.2 الكثيب HD - http: // ip-address / cgi-bin / do؟ Cmd = set_playback_state & volume = 35
اضبط مستوى الصوت على 35.3. الترجيع إلى موضع معين.- 3.1 KODI (XBMC) - http: // LOGIN : PASSWORD @ ip-address : 8080 / jsonrpc؟ Request = {"jsonrpc": "2.0"، "method": "Player.Seek"، "params": { "playerid ": 0 ،" value ": 50 }،" id ":" 1 "}
- 3.2 الكثيب HD - http: // ip-address / cgi-bin / do؟ Cmd = set_playback_state & position = 50
إنتباه! بالنسبة إلى KODI ، يشار إلى القيمة 50 في المائة ، وبالنسبة إلى Dune HD في ثوانٍ لأنها لا تحتوي على مثل هذه الوظيفة (فعلت ذلك - لقد كتبت نصًا صغيرًا يحصل على المدة الكاملة للمسار ، ومن خلال الحسابات البسيطة ، قمت بتعيين القيمة بالفعل في المائة).هناك فارق بسيط آخر - هنا وفي المستقبل بالنسبة لـ KODI ، تحتاج أولاً إلى الحصول على قيمة "playerid" ، هذا هو معرف اللاعب النشط.يتم الحصول عليها باستخدام الطلب التالي: http: // LOGIN : PASSWORD @ ip-address: 8080 / jsonrpc؟ Request = {"jsonrpc": "2.0"، "method": "Player.GetActivePlayers"، "id": "1"} ، إذا تذكرت بشكل صحيح ، فإن الطلب يكون تقريبًا ما يلي: للصوت - " playerid ": 0 ، للفيديو -" playerid ": 1 ، للصورة -" playerid ": 2. يجب أن تكون القيم من النوع الصحيح ، أي الأعداد الصحيحة بدون علامات اقتباس.4. وقفة / لعب.- 4.1 KODI (XBMC) - http: // LOGIN : PASSWORD @ ip-address : 8080 / jsonrpc؟ Request = {"jsonrpc": "2.0"، "id": "1"، "method": "Player.PlayPause" ، "Params": { "playerid": 0 }}
- 4.2 الكثيب HD - http: // ip-address / cgi-bin / do؟ Cmd = set_playback_state & speed = 0 - pause / 256 - تشغيل
5. المسار التالي في قائمة التشغيل.- 5.1 KODI (XBMC) - http: // LOGIN : PASSWORD @ ip-address : 8080 / jsonrpc؟ Request = {"jsonrpc": "2.0"، "id": "1"، "method": "Player.GoTo" ، "Params": { "playerid": 0 ، "to": "next" }} -
- 5.2 الكثيب HD - http: // ip-address / cgi-bin / do؟ Cmd = ir_code & ir_code = E21DBF000
لا يوجد أمر صريح لـ Dune HD ، لذلك يتم الانتقال إلى المسار التالي عن طريق محاكاة الضغط على زر على جهاز التحكم عن بعد. في الوثائق ، تتم كتابة رموز الأوامر في مكان واحد ، لذلك قمت بعمل ملف بالأوامر الصحيحة ، والتي يمكن اتخاذها هنا .6. المسار السابق في قائمة التشغيل.- 6.1 KODI (XBMC) — http://LOGIN:PASSWORD@ip-address:8080/jsonrpc?request={«jsonrpc»:«2.0»,«id»:«1»,«method»:«Player.GoTo»,«params»:{«playerid»:0,«to»:«previous»}} -
- 6.2 Dune HD — http://ip-address/cgi-bin/do?cmd=ir_code&ir_code=B649BF00
لا تنس أن تضع "playerid" الخاص بك في طلبات KODI (XBMC) .لا يزال هناك عدد كبير من الأنواع المختلفة من الاستعلامات لمراكز الوسائط المتعددة هذه ، والتي يمكنك من خلالها تنفيذ أي وظيفة تقريبًا. ونتيجة لذلك ، يمكنك الحصول ، على سبيل المثال ، على واجهة إدارة على الويب يتم فيها عرض جميع الإجراءات مع لوحة التحكم ، أو تزويد مركز الوسائط المتعددة بالقدرة على البحث الصوتي عن محتوى مثل الموسيقى أو الفيديو. تنسيقات استجابات مركز الوسائط المتعددة: KODI (XBMC) - تنسيق JSON ، تنسيق Dune HD - XML. يمكن تنفيذ الإدارة بلغات برمجة مختلفة تدعم إرسال طلبات HTTP GET ، والقدرة على العمل مع JSON ، ولهذا الغرض استخدمت php المعروف (curl و json_decode و DuneHD simplexml_load_file).المواد المستخدمة
JSON-RPC_API / v6 Kodi / XBMCDUNE IP DOCUMENTATION Source: https://habr.com/ru/post/ar388279/
All Articles