TTML2 چیست؟
زبان نشانهگذاری متن زماندار ۲ (TTML2) زبانی مبتنی بر XML است که برای نمایش رسانههای متن زماندار، مانند زیرنویسها و کپشنها طراحی شده است. این به عنوان یک قالب استاندارد عمل میکند برای تبادل، نویسندگی و توزیع محتوای متن زماندار در پلتفرمها و سیستمهای مختلف.
TTML2 مقصد:
- تبادل: تسهیل تبادل اطلاعات متن زماندار بین سیستمهای نویسندگی مختلف.
- تبدیل فرمت: تبدیل محتوای متن زماندار به فرمتهای توزیع قدیمی مختلف مورد استفاده در زیرنویسگذاری و کپشنگذاری.
- توزیع: به عنوان یک قالب توزیع خود عمل میکند، برای مثال با ارجاع به محتوای TTML از یک عنصر
<track>در سند HTML5 یا یک عنصر رسانهای<text>یا<textstream>در سند SMIL 3.0.
مدل سیستم
TTML2 در یک مدل سیستم عمل میکند که شامل فرآیندهای نویسندگی، تبدیل فرمت، توزیع و ارائه است. این استاندارد دو کلاس پردازشگر را تعریف میکند:
- پردازشگرهای تبدیل: در سیستمهای نویسندگی و پردازشگرهای اعتبارسنجی استفاده میشود.
- پردازشگرهای ارائه: در سیستمهای تبدیل فرمت و پردازشگرهای رندرینگ استفاده میشود.
این پردازشگرها میتوانند نگاشتها به اسناد میانی TTML را پیادهسازی کنند، که امکان ادغام با فرمتها و فناوریهای مختلف رسانهای را فراهم میآورد.
ساختار سند
یک سند معمولی TTML2 شامل موارد زیر است:
<tt>: عنصر ریشه.<head>: شامل متادیتا، استایلها و اطلاعات چیدمان است.<metadata>: شامل متادیتای سطح سند مانند عنوان و حق نشر است.<styling>: مشخصات استایل را تعریف میکند.<layout>: نواحی چیدمان را مشخص میکند.
<body>: شامل محتوای متن زماندار است که به استایلها و چیدمانها ارجاع میدهد.
e.g.
<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
<head>
<metadata/>
<styling/>
<layout/>
</head>
<body/>
</tt>
مثال:
در اینجا یک مثال ساده از یک فایل TTML2 آورده شده است:
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xml:lang="en">
<head>
<styling>
<style xml:id="s1" tts:fontSize="16px" tts:color="white" tts:backgroundColor="black"/>
</styling>
<layout>
<region xml:id="bottom" tts:origin="10% 80%" tts:extent="80% 10%"/>
</layout>
</head>
<body region="bottom">
<div>
<p begin="00:00:01.000" end="00:00:04.000" style="s1">
Hello, this is an example of TTML2 subtitles.
</p>
<p begin="00:00:05.000" end="00:00:08.000" style="s1">
These captions are timed and styled.
</p>
</div>
</body>
</tt>
<p begin="..." end="...">: متن زیرنویس را همراه با زمانبندی نشان میدهد.<style>و<region>: نحوه و مکان نمایش متن را تعریف میکنند.<tt>: عنصر ریشه سند TTML2 است.
تغییرات نسبت به TTML1
TTML2 چندین بهبود نسبت به TTML1 معرفی میکند، از جمله:
- ویژگیهای گسترشیافته: پشتیبانی از زبانهای آسیای شرقی، 3D استریوسکوپیک، و نگاشت دقیق به HTML و CSS.
- ماژولاریتی بهبود یافته: سازماندهی بهتر و جداسازی واضح وظایف درون مشخصات.
- سینتکس بهروز شده: اصلاحات در سینتکس زبان برای وضوح و سازگاری.
خلاصهای دقیق از تغییرات از TTML1 به TTML2 در خلاصه تغییرات TTML2 موجود است.
پذیرش و حمایت صنعتی
TTML2 توسط سازمانها و نهادهای استاندارد مختلف پذیرفته و پشتیبانی شده است، از جمله:
- Netflix
- Microsoft
- BBC
- Apple
- MovieLabs
- European Broadcasting Union (EBU)
این مشارکتکنندگان نقشهای مهمی در توسعه و پیادهسازی TTML2 داشتهاند.
ویژگیهای کلیدی فایلهای TTML2
| ویژگی | توضیح |
|---|---|
| پسوند فایل | .ttml, .dfxp, .xml |
| نام کامل | زبان نشانهگذاری متن زماندار نسخه ۲ |
| نوع MIME | application/ttml+xml |
| نوع فرمت | فرمت متن ساختار یافته مبتنی بر XML |
| توسعهدهنده | World Wide Web Consortium (W3C) Timed Text Working Group |
| مزیت کلیدی | پشتیبانی جامع از اسکریپتهای جهانی، انیمیشن، منابع جاسازیشده، و نیازهای پخش حرفهای |
| آخرین مشخصات | TTML2 نسخه دوم Snapshot توصیهنامه W3C (مارس 2021) |
| پشتیبانی از ماکرو | خیر (علامتگذاری خالص XML، بدون کد اجرایی) |
| استاندارد باز | بله (توصیهنامه W3C، استاندارد باز کاملاً مستند) |
چگونه فایل TTML2 را باز کنیم؟
میتوانید یک فایل TTML2 را با ابزارهای مختلف باز و مشاهده کنید، بسته به این که میخواهید متن را بخوانید، محتوا را ویرایش کنید یا بهعنوان زیرنویس نمایش دهید. فایلهای TTML2 مبتنی بر XML هستند، بنابراین میتوانند در هر ویرایشگر متن یا XML باز شوند، اما برای پخش یا تست آنها بهعنوان زیرنویس، به ابزارهای سازگار نیاز دارید.
برای مشاهده یا ویرایش
از هر ویرایشگر متنی استفاده کنید:
- ویندوز: Notepad یا Notepad++
- مک/لینوکس: TextEdit یا VS Code
به سادگی روی فایل کلیک راست کنید → Open with → ویرایشگر خود را انتخاب کنید.
برای پخش بهعنوان زیرنویس (با ویدئو)
TTML2 بهطور مستقیم توسط اکثر پخشکنندههای رسانهای پشتیبانی نمیشود. شما باید آن را به SRT یا WebVTT تبدیل کنید با استفاده از ابزارهایی مانند:
- Subtitle Edit (برنامه رایگان برای ویندوز)
برای استفاده در وبسایت
از آن در یک تگ <video> به این شکل استفاده کنید:
<track src="captions.ttml" kind="subtitles" label="English" srclang="en">
نکته: اکثر مرورگرها بهطور مستقیم از TTML پشتیبانی نمیکنند. برای سازگاری بهتر به WebVTT تبدیل کنید.
FAQ
س1: تفاوت بین TTML1 و TTML2 چیست؟
پ: TTML2 ویژگیهای اصلی که در TTML1 نبودند را اضافه میکند، از جمله پشتیبانی از زبانهای آسیای شرقی (روبی، متن عمودی، تأکید)، انیمیشن پیوسته، منابع جاسازیشده (تصاویر، فونتها، صدا) و پشتیبانی از 3D استریوسکوپیک.
س2: آیا میتوانم فایلهای TTML2 را در مرورگر وب باز کنم؟
پ: اکثر مرورگرها زیرنویسهای TTML2 را بهصورت بومی رندر نمیکنند. برای ارائه در وب، TTML2 را به فرمت WebVTT تبدیل کنید که پشتیبانی بهتری از عنصر در HTML5 دارد.
س3: چه نرمافزاری فایلهای TTML2 را ایجاد میکند؟
پ: ابزارهای حرفهای زیرنویسنویسی مانند EZTitles امکان خروجی TTML2 را فراهم میکنند، در حالی که هر ویرایشگر متنی میتواند فایلهای پایه TTML2 را ایجاد کند چون این فایلها مبتنی بر XML هستند. برای تبدیل، Subtitle Edit و FFmpeg گزینههای محبوبی هستند.
س4: آیا TTML2 توسط سرویسهای استریمینگ مانند Netflix استفاده میشود؟
پ: بله، Netflix یکی از مشارکتکنندگان کلیدی در توسعه TTML بود و برای تحویل زیرنویس از پروفایلهای مبتنی بر TTML (بهویژه IMSC) استفاده میکند. این فرمت بهطور گستردهای در صنعت استریمینگ پذیرفته شده است.
س5: آیا فایلهای TTML2 از تصاویر بهعلاوه متن پشتیبانی میکنند؟
پ: بله، TTML2 هم از تصاویر رستر (بهعنوان پیشزمینه یا پسزمینه) و هم متن پشتیبانی میکند. پروفایل تصویر IMSC روشی استاندارد برای ارائه زیرنویسهای مبتنی بر تصویر با استفاده از گرافیکهای PNG فراهم میکند.
مراجع
برای درک عمیق و جزئیات فنی، میتوانید به مشخصات کامل TTML2 مراجعه کنید: