
ترنسکدینگ (Transcoding) در ظاهر قابلیت جذابی است: سرور رسانه بهصورت لحظهای فایل ویدیویی را دیکد (Decode) میکند، فرمت، رزولوشن یا بیتریت (Bitrate) آن را تغییر میدهد و دوباره به فرمتی انکد (Re-encode) میکند که دستگاه کلاینت بتواند پخش کند. اما برای کاربران خودمیزبان، این ویژگی میتواند به هزینه سختافزاری سنگین و تجربهای ناخوشایند تبدیل شود. نویسنده مقاله اخیراً تلاش کرده ترنسکدینگ را از سرور رسانه خود حذف کند، اما این مسیر پر از موانع بوده و به گفته او کلاینتها تقریباً این کار را غیرممکن میکنند.
ترنسکدینگ چرا برای خودمیزبانها مسئلهساز است؟
ترنسکدینگ بدون سختافزار قدرتمند میتواند کل تجربه پخش را خراب کند. هدف حذف آن ساده است: فایلها باید بدون تبدیل، بهصورت پخش مستقیم (Direct Play) روی دستگاهها اجرا شوند. اما مشکل اصلی اینجاست که هر کلاینت تعریف متفاوتی از فایل رسانه قابلپخش دارد. حتی یک کدک صوتی (Audio Codec) پشتیبانینشده یا یک مسیر زیرنویس (Subtitle Track) ناسازگار میتواند سرور را دوباره به ترنسکدینگ برگرداند.
کلاینتها؛ بزرگترین مانع بر سر پخش مستقیم
داشتن کتابخانهای منظم و فایلهایی با انکد بینقص کافی نیست، اگر دستگاه مقصد از پخش آنها امتناع کند. هر کلاینت محدودیتهای خاص خود را دارد و همین موضوع، ساخت یک سرور قابلپیشبینی را دشوار میکند.
اکوسیستم اپل و محدودیتهای کانتینر و کدک
دستگاههای Apple TV و iOS از سختافزار خوبی بهره میبرند، اما پخش رسانه بومی آنها محدودیتهای سختگیرانهای در کانتینر (Container) و کدک دارد. پشتیبانی از MKV دردسرساز است، پشتیبانی از AV1 به سختافزار و نرمافزار وابسته است و حتی HEVC هم بسته به نحوه بستهبندی فایل میتواند مشکلساز شود. زیرنویسهای ASS/SSA نیز ممکن است استایل خود را از دست بدهند یا سرور مجبور شود آنها را در ویدیو بسوزاند؛ نتیجه این است که ویدیویی کاملاً قابلپخش، فقط به خاطر زیرنویس ترنسکد میشود.
مرورگرها و ناسازگاری کدکها
مرورگرهای Chrome، Firefox و Safari هرکدام قابلیتهای کدک متفاوتی دارند و این پشتیبانی اغلب به سیستمعامل و سختافزار زیرین وابسته است. سازگاری HEVC بهویژه نامنظم است. اگر صدای TrueHD یا DTS هم اضافه شود، پخش بومی تقریباً فراموش میشود. در این حالت حتی اگر ویدیو کاملاً سازگار باشد، سرور دستکم باید صدا را ترنسکد کند.
تلویزیونهای هوشمند و Roku
تلویزیونهای هوشمند هم با وجود اینکه پخش رسانه تقریباً تمام هدف آنهاست، وضعیت بهتری ندارند. پلتفرمهای LG webOS و Samsung Tizen با مشکلاتی مانند SoCهای کمتوان، پشتیبانی ناسازگار از کدکها، محدودیتهای لایسنس و محدودیت پخش 4K با بیتریت بالا دستوپنجه نرم میکنند. سامسونگ سالها پیش پشتیبانی از صدای DTS را کنار گذاشت؛ یعنی یک فایل ویدیویی سالم میتواند فقط به دلیل مسیر صوتی، ترنسکدینگ را فعال کند. Roku نیز بهطور ویژه در مورد پروفایلهای کدک، فرمتهای صوتی، فرمتهای زیرنویس و نحوه بستهبندی استریمها بسیار سختگیر است. فایلی که روی یک دستگاه بینقص پخش میشود، ممکن است روی Roku ناگهان به یک کار ترنسکدینگ تبدیل شود.
انتخاب دشوار: چند کلاینت یا حذف ترنسکدینگ؟
نکته آزاردهنده این است که هیچیک از این دستگاهها دقیقاً به یک شکل شکست نمیخورند؛ بنابراین نمیتوان سروری قابلپیشبینی ساخت. فایلی که روی Apple TV مستقیم پخش میشود، ممکن است در مرورگر به ترنسکدینگ نیاز پیدا کند. ویدیویی که روی تلویزیون LG بیمشکل اجرا میشود، ممکن است روی سامسونگ با مشکل سازگاری صدا روبهرو شود. یک مشکل را حل کنید، دستگاه دیگری مشکل تازهای پیدا میکند. مشکل بنیادین اینجاست که هدف، بهینهسازی کتابخانه برای یک پخشکننده نیست؛ بلکه باید مجموعهای از دستگاهها را راضی کرد که بر سر تعریف فایل رسانه قابلپخش توافق ندارند. مگر اینکه کاربر بخواهد چند نسخه از یک محتوا نگه دارد یا خود را به مجموعه محدودی از کلاینتها محدود کند، دستیابی به پخش مستقیم جهانی به تلاشی برای دویدن دنبال سازگاری تبدیل میشود، نه لذت بردن از رسانه.
راهحلهای عملی برای فرار از ترنسکدینگ
برای دور زدن این آشفتگی، نمیتوان انتظار داشت هر کلاینت خود را با رسانه وفق دهد. اگر هدف حذف ترنسکدینگ است، رسانه باید با پایینترین مخرج مشترک دستگاهها سازگار شود. راهحل در سه گام خلاصه میشود:
- یکسانسازی فرمت فایلها: MP4 امنترین گزینه برای سازگاری است، هرچند MKV هم با پخشکنندههای توانمندی مانند Infuse یا Kodi خوب کار میکند. برای 1080p از H.264 و برای 4K از HEVC Main/Main 10 استفاده کنید، به شرطی که کلاینتها پشتیبانی کنند. در بخش صدا همیشه یک مسیر سازگار AAC استریو یا AC3 5.1 اضافه کنید و TrueHD یا DTS-HD MA را بهعنوان مسیر ثانویه برای سینمای خانگی نگه دارید. هدف این است که هر دستگاه چیزی برای پخش داشته باشد، بدون درگیر کردن سرور.
- اجازه ندهید زیرنویس همهچیز را خراب کند: ممکن است ترکیب ویدیو و صدای بینقصی داشته باشید، اما یک مسیر زیرنویس پشتیبانینشده همهچیز را از کار بیندازد. زیرنویسهای ASS، SSA و PGS میتوانند سرور را مجبور کنند آنها را در ویدیو بسوزاند و ترنسکدینگ کامل را فعال کنند. SRT امنترین گزینه است و نگه داشتن یک گزینه جایگزین SRT یکی از آزاردهندهترین دردسرهای سازگاری را حذف میکند.
- کلاینتها را هوشمندانه انتخاب کنید: گاهی سادهترین راه، جنگیدن با سختافزار نیست. دستگاههایی مانند Nvidia Shield TV Pro و Apple TV 4K قابلیتهای پخش بسیار بهتری از بسیاری از اپهای داخلی تلویزیونهای هوشمند دارند. روی دستگاههای اپل، Infuse بهویژه مفید است، زیرا دیکودرهای داخلی آن از MKV و کدکهای متعددی پشتیبانی میکنند که پخشکنندههای بومی در آنها مشکل دارند و نیاز به ترنسکدینگ سمت سرور را کاهش میدهند.
در نهایت، حذف کامل ترنسکدینگ از سرور رسانه خانگی یک هدف جذاب اما دشوار است. تا زمانی که کلاینتهای مختلف بر سر کدک، کانتینر، صدا و زیرنویس توافق ندارند، پخش مستقیم جهانی بیشتر شبیه یک تمرین مداوم برای سازگاری است تا یک تجربه ساده و بیدردسر.