# Samsung Tizen SDK এবং TV মূল্যায়ন
Samsung TV মূল্যায়ন প্লেয়ারটি ইনস্টল করুন, এটির WGT কনফিগার করুন এবং স্বাক্ষর করুন, তারপর Tizen Universal Player SDK এর সাথে Widevine VOD সংহত করুন।
**Samsung TV একটি Tizen ওয়েব অ্যাপ্লিকেশন ব্যবহার করে৷** এই নির্দেশিকাটি Widevine DASH VOD Samsung AVPlay সহ কভার করে৷ প্লেয়ার চেষ্টা করার জন্য সর্বজনীন মূল্যায়ন কিট ব্যবহার করুন, অথবা আপনার নিজস্ব ব্যাকএন্ড সংযোগ করতে Professional/Enterprise SDK ব্যবহার করুন৷
## 1. পাবলিক TV মূল্যায়ন কিট ডাউনলোড করুন[#](#try-tv-app)
[ডাউনলোড Samsung মূল্যায়ন কিট ZIP](https://docs.drm-x.com/downloads/tizen/20260918.3/drmx-tizen-evaluation-20260918.3.zip)
ZIP এর মধ্যে রয়েছে `DRMXEvaluation.wgt`, একটি Python সহচর এবং কনফিগারেশন স্ক্রিপ্ট। [অস্বাক্ষরিত WGT আলাদাভাবে](https://docs.drm-x.com/downloads/tizen/20260918.3/DRMXEvaluation.wgt) ডাউনলোড করুন যদি আপনার কাছে ইতিমধ্যেই কিট থাকে। ** WGT আপনার TV.** এর জন্য কনফিগার করা এবং পুনরায় স্বাক্ষর করা আবশ্যক, এটি একটি বিকাশকারী ইনস্টলেশন, একটি Samsung স্টোর অ্যাপ বা সর্বজনীন এক-ক্লিক ইনস্টলার নয়৷
- একই বিশ্বস্ত private LAN-এ থাকা একটি সামঞ্জস্যপূর্ণ Samsung TV এবং কম্পিউটার।
- Python 3.12+, Tizen Studio, Samsung TV এক্সটেনশন এবং Samsung Certificate Extension 2.0.73 বা তার পরে।
- আপনার TV-এর DUID অন্তর্ভুক্ত আছে এমন Samsung TV certificate profile। এই সর্বজনীন demo ব্যবহারের জন্য অর্থপ্রদত্ত DRM-X plan লাগে না।
Samsung এর অফিসিয়াল [TV SDK ইনস্টলেশন](https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/installing-tv-sdk.html) এবং [TV সার্টিফিকেট গাইড](https://developer.samsung.com/smarttv/develop/getting-started/setting-up-sdk/creating-certificates.html) অনুসরণ করুন। টুল স্ক্রিন সংস্করণ অনুসারে পরিবর্তিত হয়।
পাবলিক ডাউনলোড যাচাই করুন
মূল্যায়ন কিট SHA-256:
```
379f72d32c80612c64cb235599661edf6862badf718500ac04f9d7e44ae22388
```
স্বাক্ষরবিহীন WGT SHA-256:
```
1682fb3b8615bf68acd74a2ac17ef793a6cc30ff682bdd917bb3a3035b0c084b
```
PowerShell: `Get-FileHash .\DRMXEvaluation.wgt -Algorithm SHA256`। একটি কনফিগার করা বা স্বাক্ষরিত উইজেটের একটি ভিন্ন হ্যাশ আছে।
## 2. আপনার TV পেয়ার করুন এবং এর সার্টিফিকেট তৈরি করুন[#](#prepare-tv)
- **TV-তে Developer Mode চালু করুন।**সমর্থিত TV-তে Apps খুলে 12345 লিখে Developer Mode খুলুন। এটি চালু করে কম্পিউটারের LAN IP দিন এবং নির্দেশনা অনুযায়ী TV restart করুন। Model ভিন্ন হলে Samsung-এর [TV device guide](https://developer.samsung.com/smarttv/develop/getting-started/using-sdk/tv-device.html) অনুসরণ করুন।
- **TV connect করুন।**Tizen Studio Device Manager / Remote Device Manager খুলে TV-এর LAN IP যোগ করুন এবং connect করুন। TV থেকে কম্পিউটারে পৌঁছানো সম্ভব হতে হবে; companion-এর access শুধু বিশ্বস্ত private network-এ অনুমোদন করুন।
- **Samsung TV certificate তৈরি করুন।**Certificate Manager → Add → Samsung → TV খুলুন। নিজের author certificate এবং TV-এর DUID থাকা distributor certificate ব্যবহার করুন। Author private key নিজের নিরাপদ signing storage-এ রাখুন।
- **পারমিট ইনস্টলেশন।**Device Manager-এ, সংযুক্ত TV নির্বাচন করুন এবং যেখানে উপলব্ধ সেখানে **Permit to install applications** নির্বাচন করুন। পরবর্তী কমান্ডের জন্য সার্টিফিকেট-প্রোফাইলের নাম রাখুন।
## 3. কনফিগার করুন, নির্মাণ করুন এবং ইনস্টল করুন[#](#install-evaluation)
শূন্যস্থান ছাড়াই একটি সংক্ষিপ্ত পথে মূল্যায়ন ZIP বের করুন। সেখানে একটি টার্মিনাল খুলুন। দুটি স্থানধারককে প্রকৃত ব্যক্তিগত LAN ঠিকানা দিয়ে প্রতিস্থাপন করুন:
```
python configure-evaluation.py --computer-ip YOUR_COMPUTER_IP --tv-ip YOUR_TV_IP
```
**এই terminal চালু রাখুন।** Script `app` folder তৈরি করে এবং শুধু TV-এর IP ও নতুন temporary capability-র জন্য অনুমোদিত companion চালু করে। এটি customer credential ছাড়াই HTTPS দিয়ে public demo-তে connect করে। Companion চার ঘণ্টা পরে মেয়াদোত্তীর্ণ হয়; configured widget প্রকাশ করবেন না বা এর port Internet-এ উন্মুক্ত করবেন না।
একই ফোল্ডারে একটি দ্বিতীয় টার্মিনাল খুলুন। আপনার Tizen Studio ইনস্টলেশন থেকে CLI এক্সিকিউটেবল ব্যবহার করুন এবং সার্টিফিকেট প্রোফাইল এবং TV ঠিকানা প্রতিস্থাপন করুন:
```
tizen build-web -out .build -- app
tizen package -t wgt -s YOUR_SAMSUNG_PROFILE -- app/.build
sdb connect YOUR_TV_IP:26101
tizen install -n DRMXEvaluation.wgt -s YOUR_TV_IP:26101 -- app/.build
tizen run -p DrmXEval01.Player -s YOUR_TV_IP:26101
```
Windows-এ সরঞ্জামগুলি সাধারণত `tools\ide\bin\tizen.bat` এবং `tools\sdb.exe` ভিতরে Tizen Studio থাকে। যদি কোনো কমান্ড পাওয়া না যায়, তাহলে এর সম্পূর্ণ পাথ ব্যবহার করুন অথবা আপনার টার্মিনালে সেই ফোল্ডারটি যোগ করুন PATH।
চার ঘণ্টা শেষ হলে পুরোনো local companion বন্ধ করুন, নতুন `--output app-new` folder দিয়ে configuration script চালান, তারপর ওই folder থেকে app build করে আবার sign করুন। অস্থায়ী access capability বদলে যায়; মেয়াদোত্তীর্ণ installed configuration আবার ব্যবহার করবেন না।
## 4. VOD এবং রিমোট কন্ট্রোল ব্যবহার করে দেখুন[#](#test-playback)
প্লেব্যাক বোঝানোর জন্য তৈরি যৌগিক ছবি। প্লেয়ারের ইন্টারফেসে সরবরাহ করা ভিডিওর একটি ফ্রেম ও নমুনা সাবটাইটেল যোগ করা হয়েছে।
- আপ/ডাউন সহ একটি VOD শিরোনাম চয়ন করুন এবং OK টিপুন। ভৌত TV এ চলন্ত ভিডিও এবং শ্রবণযোগ্য শব্দ নিশ্চিত করুন।
- ডান দিকে গিয়ে playback control নির্বাচন করুন। Pause/resume, previous/next, ±10-second seek এবং timeline পরীক্ষা করুন।
- পূর্ণ পর্দা চেষ্টা করুন. Back একটি মেনু বন্ধ করে বা প্লেব্যাক বন্ধ করার আগে পূর্ণ স্ক্রীন থেকে প্রস্থান করে। ভলিউম TV এর সাধারণ রিমোট কন্ট্রোলে থাকে।
- প্লেলিস্ট চেক করুন, প্লে-নেক্সট, শাফেল করুন এবং পুনরাবৃত্তি করুন। অডিও/সাবটাইটেল বিকল্পগুলি প্রকৃত মিডিয়া ট্র্যাকের উপর নির্ভর করে।
- Companion বন্ধ করার আগে playback থামান। আলাদাভাবে যাচাই না করা পর্যন্ত live entry বন্ধ থাকে; এই kit নিজে কোনো broadcast চালু করে না।
Demo companion media decrypt বা transcode না করেই পরীক্ষিত Samsung Smart TV-এর জন্য Full HD rendition set নির্বাচন করে। এই public kit-এ copyrighted media বা গানের external subtitle নেই। প্রকৃত TV-তে subtitle পরিবর্তনের পরীক্ষায় আলাদাভাবে দেওয়া licensed subtitle ব্যবহৃত হয়েছে। নিজের content পরীক্ষার সময় উপযুক্ত track যোগ করুন।
## 5. SDK দিয়ে আপনার নিজস্ব অ্যাপ তৈরি করুন[#](#quick-start)
- **Tizen SDK ZIP download করুন।**সক্রিয় Professional বা Enterprise organization দিয়ে [Console → Integrations](https://6.drm-x.com/console/integrations) খুলুন। `README.md` পড়ুন।
- **সম্পূর্ণ player sample ব্যবহার করুন।**`universal-player/` নিজের TV Web application-এ copy করুন। `runtime-config.js` edit করে নিজের HTTPS playback-session endpoint, published Content IDs এবং viewer-authentication callback সেট করুন।
- **নিজের backend connect করুন।**দর্শককে authenticate করুন, অধিকার যাচাই করুন এবং `widevine`, `dash`, `vod`, `streaming`-এর জন্য [Universal Playback Session Contract v1](https://docs.drm-x.com/bn/api-reference/playback-sessions) ফেরত দিন। এর session-release endpoint সমর্থন করুন। Client direct-token বা token-proxy authorization গ্রহণ করে।
- **নেটওয়ার্ক অ্যাক্সেস কনফিগার করুন।**আপনার প্রকৃত ব্যাকএন্ড, মিডিয়া এবং লাইসেন্সের উৎস `config.xml` এ যোগ করুন। যেখানে প্রয়োজন সেখানে TV উৎপত্তির জন্য পরিষেবাগুলি' CORS কনফিগার করুন৷ Site Key এবং Access Key একচেটিয়াভাবে ব্যাকএন্ডে রাখুন৷
- **নিজের signing identity ব্যবহার করুন।**একই Tizen build/package ধাপ অনুসরণ করুন; input হিসেবে `universal-player`, output filename হিসেবে `DRMXPlayer.wgt` এবং sample app ID হিসেবে `DrmXSdk001.Player` ব্যবহার করুন। নিজের app বিতরণের আগে নিজস্ব identifier দিন।
Sample app default হিসেবে সর্বোচ্চ 1080p চায়। Backend-কে TV decode করতে পারে এমন codec ও rendition set ফেরত দিতে হবে। এই capability request UHD manifest বদলায় না; DRM license ও policy-ই চূড়ান্ত নিয়ন্ত্রণ রাখে।
### আপনার নিজস্ব ইন্টারফেস রাখুন
লোড করুন Samsung এর `$WEBAPIS/webapis/webapis.js`, তারপর `drmx-tizen.js`। নেটিভ ভিডিও অবজেক্ট অন্তর্ভুক্ত করুন এবং স্ক্রিনের জন্য একটি প্লেয়ার ধরে রাখুন:
```
```
```
const player = new DrmXTizen.Player({
endpoint: 'https://app.example.com/api/playback-session',
authentication: () => ({Authorization: 'Bearer ' + viewerToken}),
maximumHeight: 1080,
rect: {x:0, y:0, width:1920, height:1080},
onState: state => { statusLabel.textContent = state; }
});
await player.play('YOUR_PUBLISHED_CONTENT_ID');
player.pause();
player.resume();
player.seekTo(30000);
await player.stop();
await player.dispose(); // final dismissal or sign out
```
SDK Widevine challenge ও license-এর bytes অপরিবর্তিত রাখে। পুরোনো playback task বাতিল করে এবং stop, replacement বা disposal-এর সময় session release করে। External WebVTT-এর জন্য catalog track metadata এবং অনুমোদিত `subtitle(contentId, trackId)` callback `UniversalPlayerService`-এ দিন। Platform-নির্দিষ্ট media ও track সীমাবদ্ধতার জন্য Samsung-এর [AVPlay API](https://developer.samsung.com/smarttv/develop/api-references/samsung-product-api-references/avplay-api.html) দেখুন।
## ডিভাইস পরীক্ষার ফলাফল এবং সমস্যা সমাধান[#](#qualification)
**প্রকৃত device-এ পরীক্ষা:** Samsung Smart TV (Tizen), 17 সেপ্টেম্বর 2026। সম্পূর্ণ AVPlay UI ও local helper দিয়ে protected Full HD VOD চলেছে এবং playback time এগিয়েছে। TV-তে ইংরেজি/চীনা external subtitle নির্বাচন ও সংশোধিত playback যাচাই হয়েছে। পুনর্ব্যবহারযোগ্য customer backend integration এই SDK preview-তে নতুন এবং automated test পাস করেছে; production-এর আগে নিজের backend ও প্রকৃত device দিয়ে যাচাই করুন।
| উপসর্গ | চেক |
| --- | --- |
| WGT ইনস্টল করা যাবে না | এই TV এর DUID সহ একটি Samsung TV শংসাপত্র ব্যবহার করুন, Developer Mode সক্ষম করুন এবং ইনস্টলেশনের অনুমতি দিন। সর্বজনীন WGT স্বাক্ষরবিহীন। |
| অ্যাপ বলছে কনফিগার/সংযোগ ব্যর্থ হয়েছে | Companion-এর terminal চালু রাখুন। উভয় LAN IP, private network-এর firewall access এবং চার ঘণ্টার মেয়াদ দেখুন। Configuration বদলালে আবার build করুন। |
| TV-তে কালো পর্দা বা থেমে থেমে ভিডিও চলা | Audio ও playback progress, codec, সমর্থিত resolution এবং HDCP policy পরীক্ষা করুন। Samsung Smart TV-এ FHD rendition set ব্যবহার করুন। Screenshot-এ protected ভিডিও কালো দেখা আর TV-এর পর্দায় ভিডিও কালো থাকা এক বিষয় নয়। |
| সাবটাইটেল অনুপলব্ধ | সামঞ্জস্যপূর্ণ ট্র্যাক সরবরাহ. নির্বিচারে DASH TEXT-ট্র্যাক AVPlay এর মাধ্যমে স্যুইচিং সমর্থিত নয়; নমুনা অনুমোদিত বহিরাগত WebVTT সমর্থন করে। |
| ডেস্কটপ প্রিভিউতে কাজ করে কিন্তু TV নয় | ব্রাউজারে UI preview দিয়ে AVPlay বা Widevine প্লেব্যাক পরীক্ষা হয় না। প্রকৃত TV-তে পরীক্ষা করুন এবং সংবেদনশীল তথ্য বাদ দিয়ে error code সংরক্ষণ করুন। |
লাইভ, অফলাইন ডাউনলোড, HDR এবং অন্যান্য Samsung মডেলগুলি এখনও এই রিলিজ দ্বারা যাচাই করা হয়নি৷ প্রোডাকশন স্টোর ডিস্ট্রিবিউশন Samsung এর আলাদা সার্টিফিকেশন/জমা দেওয়ার প্রক্রিয়া অনুসরণ করে। [প্ল্যাটফর্মের তুলনা করুন এবং সমস্ত অ্যাপের স্ক্রিনশট দেখুন →](https://docs.drm-x.com/bn/sdk/native-apps)